J2ME Game Development
J2ME Game Development A quick review of why mobile gaming is different from traditional gaming:
• Low Budget
• Small Development Team
• Technology is within reason and is manageable, no need for special equipment such photo imaging equipment
• Based on open standards
• Mobile phones by default are ready for multiplayer gaming
Development Tools
Some available platforms for mobile game development are:
• Java 2 Micro Edition TM by Sun MicroSystems – http://wireless.java.sun.com
• MoPhun – http://www.mophun.com
• Brew – http://www.brew.com
This not to be confused with mobile operating systems such as PalmOS and SymbianOS,
these operating systems themselves support environments like J2ME.
This book will focus on J2ME (Java 2 Micro Edition). With that being said there are
several software development kits you can use. To help ensure your game will run on
different manufacturers and different models of mobile devices you will mostly like be
using more then one SDK. The main J2ME SDK is available from Sun Microsystems at
http://wireless.java.sun.com.
As well there are few IDEs available for J2ME development. Some of these IDEs
provide full integration options with other development kits. For example Sun One
Studio Mobile Edition can easily be integrated with SprintPC J2ME SDK, SDK from
Sun, SDK from Nokia and SDK from Siemens.
What Else is Out There?
Aside from the regular tools and IDEs provided by various software organizations,
manufacturers and carriers there are other tools/software packages that may be of interest
to you.
3D
Though presently most games are presented with only 2D graphics due the constraints of
mobile devices there are higher end devices that are capable of 3D. As well as the
technology improves 3D will be common as it is now on both gaming consoles and PC
desktop.
There is JSR in progress that supports 3D graphics for J2ME. It is quite possible with the
next release after MIDP 2.0 3D JSR 184 Mobile 3D Graphics API for J2METM to find out
more visit http://jcp.org/en/jsr/detail?id=184 :
As well the widely used OpenGL now as mobile version named OpenES with focus on
providing 3D graphics for mobile handsets, for more information visit
http://www.khronos.org/embeddedapi/index.html. The company FatHammer,
http://www.fathammer.com, has integrated the OpenGL ES-accelerated OMAP platform
into their X-Forge 3D Game Engine SDK.
There is also the MoPhun 3D engine available at http://www.mophun.com.
As you can see 3D is may not be quite here yet for mobile devices but it is sure on its
way.
Beyond Stand-Alone Game
Aside from developing stand-alone games there are various other technologies that will
enable you to develop multiplayer games.
By default with J2ME you are able to communicate over HTTP/HTTPS. Another option
is to communicate using the Jini the surrogate J2ME architecture. As well if the carriers
support socket communication you are able to implement socket networking between
games. However, it takes a lot more then just the communication protocol, there needs to
be a gaming server that can handle and provide various features, some of these features
could be but not inclusive to the following:
• Game Lobby
• Game Rooms
• Track User interaction
• Authentication
• Chat Rooms
• Instant Messaging
• Monitoring and statistics Tools
The Game Room itself acts some like a mediator/traffic cop that relays information back
and forth to the clients and to the respective game in play.
It is definitely a lot of work to implement this. However, there are other companies that
save you the trouble with their already pre-made game servers:
• DemiVision –http://www.demivision.com (recently acquired by JamDat.com)
• MformaTM – http://www.mforma.com
• Xadra – http://www.xadra.com
• Butterfly.net – http://www.butterfly.net
• TerraPlay – http://www.terraplya.com
Aside from producing games for wide area networks you can produce games for personal
area networks, technology better known as Bluetooth. The idea is the same has a game
over HTTP but within a confined local area. Some great links to Bluetooth and J2ME
are:
• Zucotto Wireless – http://www.zucotto.com
• RococoSoft – http://www.rococosoft.com
Two other technologies that can bring mobile gaming a new twist is Peer to Peer
famously advertised by the success of Napster. For more information on Peer to Peer
using Java visit http://www.jxta.org and http://jxme.jxta.org/. Another interesting P2P
technology developed by Apple is Rendezvous that enables automatic broadcasting and
discovering services between clients/servers.