Jump to content
  • Advertisement
Sign in to follow this  
g0nzo

[Beginner] Developing games on mobile devices

This topic is 4143 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, How can I develop (apart from using J2ME and its 3D libraries) 2D (with some 3D elements) games on Smartphones, PocketPCs or Symbian devices? What tools/libraries are needed? How can I display 2D/3D graphics on these devices? Is OpenGL ES the only option or do they have some built-in graphics libraries. What exactly is Brew? Can I use Visual Studio 2005 to develop OpenGL ES based game for Smartphone WM 5.0? (I'm mostly interested in developing for smartphones, because I own one) Sorry for such noobish questions, but I would be really greateful if someone could post even a very short answer.

Share this post


Link to post
Share on other sites
Advertisement
For those running Windows CE (SmartPhones and PocketPC) they are really the same operating system.

On these devices, you can use C# and VB.NET that comes with Visual Studio 2002 Professional and later. You can use C++ in Visual Studio 2005 Professional. They call them "smart device" projects.

Note that the lesser versions, such as academic or express, do not have support for that.

If you are unable or unwilling to spend the money on the professional version, you can download eMbedded Visual C++ versions 3.0 and 4.0 directly from Microsoft. They are free downloads, and the product key is located on the download page.

You will also need to download the SDKs, emulator images, and documentation for whatever minimum family you intend to support. (2002, 2003, 2003SE, 2005)

eVC3 supports older devices but has horrible language compliance and lots of bugs. eVC4 doesn't directly support 2002 and earlier devices, and has slightly less horrible language compliance.

Symbian OS is similar. You must download the compilers, IDE, and other materials from the Symbian developer site.

You will also need to download the SDKs, emulator images, and documentation for whatever minimum UI and OS you intend to support. (UIQ2, UIQ3, S60, S60 SE, S80, ...)


Finally, the Symbian systems are not the same as the Windows CE systems. You develop for one or the other. Both systems have their own pros and cons.

Share this post


Link to post
Share on other sites
As far as OpenGL ES is concerned, support varies widely.

On Windows Mobile 5 devices (2005 and later) there might be support for Direct3D Mobile on the device. It is more likely that it supports D3DM rather than GLES.

On Symbian devices, OpenGL ES and JSR 184 3D support are available on some devices.

Exactly what subset of OpenGL ES or other libraries are supported or is hardware accelerated also varies by device.

Share this post


Link to post
Share on other sites
For the most part you can treat Smartphone, PocketPC and PocketPC: Phone Edition the same from a development standpoint, though there are some differences.

VS2005 professional is the current prefered development platform, and what Frob said also applies.

Beginning with Windows Mobile 5, DirectDraw and Direct3D Mobile is included with the platform. Hardware support for DirectDraw on WM is relatively well penetrated, and software fallbacks are sufficiently fast in the case where there is minimal or no 2D hardware acceleration. On the 3D side, only a couple high-end PDAs have 3D hardware acceleration, such as the Dell Axim, and of course this applies to OpenGL|ES as well. Software fallbacks for D3Dm are as fast as can be expected but, practically speaking, only relatively simple 3D games are a real possibility.

GAPI, which was the primary games api before DDraw, is now deprecated and should no longer be used.

DirectDraw on WM is largely based on DirectDraw 7 -- the last DirectDraw iteration on the Windows Desktop. Books and articles on desktop DirectDraw are largely applicable, with only minor differences in some areas. D3Dm is largely based on D3D8 with some influence from D3D9, albeit lacking most of the more advanced features - shaders for instance.

Over-all, from a practical standpoint, DirectDraw is best approach because its more likely to have adequate performance, which is a special concern on the Smartphone platform because they are often less powerfull than their PDA bretheren.

Share this post


Link to post
Share on other sites
Thanks!

Putting Symbian OS aside for now.

I'd like to use rather native code (C++), because, like you said, Smartphones are not so powerful (although my SPV C600 has ~200MHz CPU, waaaay faster than my first PC - 16MHz :) ).

But how one can do something like this (2 videos at the bottom)? It is available for Smartphones. Do they use DX on Smartphones, or is it done using OpenGL ES (more probable, because they wouldn't need to modify code too much for different devices). Or maybe they use something else... How do you think?

I don't expect to write something similar in one day, but at least I'd like to start learning technology that allows to create such games (or rather graphics itself, because I'm more interested in that).

Share this post


Link to post
Share on other sites
My friends,

I'd like to draw your attention to an article I wrote on timing/frame rate issues and code structuring. The article comes with a sample PONG game coded for PocketPC.

Positive criticism welcome, if you like it don't hesitate to vote for it :)

Clicky link

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!