Although C++ has the advantage of
being compiled into native code with direct access to system resources, and
with BREW the platform provides end-to-end solutions to mobile game developers
while allowing them to work with any desired language (including C++, Java,
XML, and Flash).
Java is the most popular choice
for game development. Java, or the Java
2 Micro Edition (J2ME) platform to be precise, is identified as the
most convenient for developing mobile games. (For more specifics on J2ME, see
"What is
Java 2 Micro Edition?")
The driving forces behind J2ME's popularity are:
- J2ME enjoys the status of an industry standard backed by all major handset makers, with most of the present day mobile phones being Java-enabled.
- J2ME is a free and open platform. This helps keep the development costs low and provides the necessary flexibility with ample support freely available for developers using it.
- Its highly portable nature ("Write once run anywhere") ensures that a game application written for one brand/type of handset will work with all other brands/types of Java-enabled handsets.
- It is especially optimized for small devices, is lightweight, and is highly secure because applications written on it cannot access or affect other applications running on the phone/device.
- J2ME consists of the Mobile Information Device Profile (MIDP) API that is designed specifically for developing applications for mobile devices including mobile phones, keeping in mind their limitations and constraints. Furthermore, the latest MIDP version 2.0 itself dedicates a whole API to game development, making game development simpler and quicker.
Now, you will explore MIDP 2.0 the
in context of mobile gaming.
The
Role of MIDP 2.0 in Game Development
MIDP 2.0 API is a set of
feature-loaded APIs used for developing secure, rich-content multimedia
applications, including games, for mobile devices. MIDP 2.0 builds upon its predecessor
MIDP 1.0 to provide a better development platform for building efficient
and fast mobile applications. For more information on MIDP 2.0, see the Resources
section at the end of this article.
MIDP 2.0 further refines the
features and functionalities provided by MIDP 1.0. For information on the new
features, see What's New in MIDP 2.0. One of the important additions
made to MIDP is the Game API, or the javax.microedition.lcdui.game API package to be precise.
Through the Game API, MIDP 2.0 provides game developers with the readymade
building blocks that were to be developed from scratch in the case of MIDP 1.0.
These building blocks are classes for creating and controlling various game
elements such as game canvas, sprites, layers, and so forth (these are
explained in the next section). Thus, MIDP 2.0 significantly reduces the time
involved in game development.
The other two MIDP 2.0 API packages
essential for game development, also explored by this article, are javax.microedition.midlet
and javax.microedition.lcdui.
The javax.microedition.midlet
API package provides a base for developing all mobile applications. It contains
the javax.microedition.midlet.MIDlet class, which is the base class of
all J2ME-based mobile applications (also known as midlets) and must be
extended by the main classes of all mobile applications. Quite similar to the java.applet.Applet
class, the MIDlet class provides resources necessary to create midlets.
The javax.microedition.lcdui
API package is necessary to develop a user interface (UI) for all types of
mobile applications. This API provides classes to create and control UI
components (such as screen, form, text box, radio buttons, and so on) and
processing input for mobile applications, including games. Developers who have
GUI development experience with AWT and SWING will find that the
elements of the javax.microedition.lcdui package are similar to elements from
these APIs.
I'll discuss the elements of these
APIs relevant to game development as upi encounter them during the development
of the example game app.
Building
the Example Game
To understand the APIs and their
respective classes better, you'll start developing a simple mobile game. This
will be a solo player offline game, a car moving through an obstacle course.
The player uses the left and right handset keys to "steer" the
running car to the left or right to keep it from colliding into an obstacle.
The game is over when a collision happens and the score is displayed. I'll call
it HardDrive.
Note: The
example game is developed using the J2ME Wireless Toolkit 2.1_01 and J2SE
1.4.2_07 SDK on a Windows 2000 platform. Other versions of both the
Wireless Toolkit and J2SE SDK that are compatible with various platforms are
also available.
Begin building the game app by
putting together the source code; call it HardDrive. From what you've explored
in the previous section, the first thing you need develop is the HardDriveMIDlet
(HardDriveMIDlet.java) that extends the javax.microedition.midlet.MIDlet
class.
No comments:
Post a Comment