The growth of mobile phone sales is phenomenal, with estimated sales for 2007/2008 expected to be approximately $1 billion. The majority of these devices are Java-enabled, giving rise to a huge market within the realm of computer games. Most of today’s mobile games are designed to execute on as many phones as possible. Thus, they focus on MIDP 1.0 technology; such devices have very limited resources compared to the top-of-the-line phones of today. The primary reason for this is to maximize profits by having the game reach as wide a potential market as possible. Mobile technology is ever advancing, and the capabilities of the lower-end devices will continue to improve. Perhaps in the not-too-distant future, we will see all of the lower-end mobiles Bluetooth-enabled and supporting more advanced Java implementations. This chapter examines the world of mobile gaming. In particular, it looks at what is needed to produce a single-player game and what elements are necessary to modify it to allow for multiplayer gaming over a Bluetooth network. A framework is presented to allow for the rapid transformation of a single-player to multiplayer game, along with a game engine that can be used for the development of the graphical elements, such as the background and sprites. The multiplayer framework makes use of the Mobile Message Passing Interface (MMPI) to simplify the creation of the network connections and interdevice communication.
Games, games, games! Just about everybody loves to play games, each person having their own particular preference of game genre. Games are usually classified into a selection of genres that reflect the type of game play. There is a general lack of commonly agreed upon criteria for defining particular genres. This is further complicated as many games may overlap particular classifications; for example, a game could have elements of action, strategy, and role-playing. Many of the main game classifications include strategy, role-playing, adventure, platform, simulation, and sports. The majority of games available for mobile phones are single-player. Multiplayer mobile games are usually limited to turn-based games, such as chess and poker. Multiplayer games are generally more entertaining as you, the player, are competing against other like players and not computer-based AIs.
Key Terms in this Chapter
Bluetooth: An RF-based, wireless communications technology that has very low power requirements, making it a suitable system for energy-conscious mobile devices. The JSR-82 Bluetooth API facilitates the development of Java-based Bluetooth applications.
Single-Player Game: A game that can be played on a single device, be it a powerful desktop computer system or a small resource-limited handheld device. Such games typically involve the user playing against the computer, which would usually have some AI elements.
MMPI: The Mobile Message Passing Interface is a library designed to run on a Bluetooth piconet network. It facilitates application development of parallel programs, parallel graphics applications, multiplayer games, and handheld multi-user mLearning applications.
Console Game: A type of game that is designed to run on a dedicated gaming system. Examples of such systems include PlayStation, Nintendo GameCube, Nintendo DS, Nintendo Wii, and Xbox, to name but a few. Such systems include dedicated graphics hardware for rendering high-quality, on-screen graphics.
Mobile game: A computer game that can be played on a mobile device. Mobile devices encompass such diverse systems as mobile phones, PDAs, ultra-mobile PCs, or any other type of handheld device that provides a raster display and facilities for user input.
Multiplayer Game: This form of game may involve two or more players that compete with each other; as players are competing with one another, it brings an extra level of excitement to the game that a single player game with some artificial intelligence could not achieve. Such games usually require some form of computer networking to connect the systems.