If you're not familiar with mobile games, you will be soon because this is the next big area of growth expected in the billion dollar gaming market. A mobile game is a computer software game played on a mobile phone. Mobile games are usually downloaded via the mobile operator's network, but in some cases games are also loaded into the mobile handsets when purchased, or via infrared connection, Bluetooth or memory card. Mobile games are developed using technologies such as DoCoMo's DoJa, Sun's J2ME, Qualcomm's BREW (Binary Runtime for Wireless) or Infusio's ExEn (Execution Environment). Other platforms are also available, but not as common.
The different platforms
BREW is the more powerful technology, giving, as it does, complete control of the handset and complete access to its functionality. However this unchecked power could be dangerous, and for this reason BREW development process is tailored mainly towards recognised software vendors. While the BREW SDK (Software Development Kit) is freely available, running software on real mobile hardware (as opposed to the provided emulator) requires a digital signature which can only be generated with tools issued by a handful of parties, namely mobile content providers and Qualcomm themselves. Even then, the game will only work on test enabled devices. To be downloadable on regular phones the software must be checked, tested and given approval by Qualcomm via their TRUE BREW Testing programme.
Java (aka "J2ME" / "Java ME" / "Java 2 Micro Edition") runs atop a Virtual Machine (called the KVM) which allows reasonable, but not complete, access to the functionality of the underlying phone. This extra layer of software provides a solid barrier of protection which seeks to limit damage from erroneous or malicious software. It also allows Java software to move freely between different types of phone (and other mobile device) containing radically different electronic components, without modification. The price that is paid is a modest decrease in the potential speed of the game and the inability to utilise the entire functionality of a phone (as Java software can only do what this middle-man layer supports.)
Because of this extra security and compatibility, it is usually a quite simple process to write and distribute Java mobile applications, including games, to a wide range of phones. Usually all that is needed is a freely available Java Development Kit for creating Java software itself, the accompanying Java ME tools (known as the Java Wireless Toolkit) for packaging and testing mobile software, and space on a web server (web site) to host the resulting application once it is ready for public release.
Current limitations of mobile games
Mobile games tend to be small in scope and often rely on good gameplay over flashy graphics, due to the lack of processing power of the client devices. One major problem for developers and publishers of mobile games is describing a game in such detail that it gives the customer enough information to make a purchasing decision. Currently, mobile games are sold through network carriers and operators portals, meaning there are only a few lines of text and perhaps a screenshot of the game to entice the customer. There is a reliance on powerful brands and licences such as Tomb Raider or Colin McRae, a racing game. There is also the use of well-known and established play patterns, meaning game play mechanics that are instantly recognizable in games like Tetris, Space Invaders or Poker. Both these strategies are used to entice mobile gamers to purchase games for a fee when a limited amount of additonal information is provided by the wireless carrier, who typically acts as a third party hosting the game.
Recent innovations in mobile games include Singleplayer, Multiplayer and 3D graphics. Virtual love games belong to both of singleplayer and multiplayer games. Multiplayer games are quickly finding an audience, as players find the ability to play against other people, a natural extension of their mobile phone’s connectivity.