ActionAdventure Games

Action/Adventure Games

The action/adventure genre can be considered a catchall for many types of games. Classics such as Tomb Raider have shown many gamers hours of fun. Other types of games fit into this classification as well. In general, action/adventure games center on a single character or ship that goes through numerous levels. Sound familiar? One of the best action games written in Java is Alien Flux by Puppy Games (Figure 1.5). This game encapsulates the classic feel of an action-based shooter.

image from book
Figure 1.4: Alien Flux by Puppy Games.

One popular subset of the action/adventure genre is the platformer. Some of the most memorable games in history fall into this category. Platformer games require the player to maneuver through a set of obstacles and frequently involve jumping or some other type of movement to work through the world and achieve goals in the game. Traditionally, platformers generally bring to mind 2D classics such as Super Mario Bros., but the genre isn’t limited to two dimensions. A number of great 3D platformer games exist, including Rayman 2 and the venerable Sonic Adventures. Platformer games require speed and good-looking graphics. In addition, many games of this type are centered on a solid character franchise and spectacular game play, which makes a strong animation system critical for the attitude of the character to come alive in the various situations.

Action/Adventure Games in Java

Action/adventure games are well suited for development in Java. Given that fully immersive 3D environments are completely possible to construct within Java, it is important to reference the character animation system as the keystone foundation of a character-driven action/adventure game. This problem is not related to the Java platform, though; in fact, the algorithms are consistent across platforms. Building a solid 3D animation systems take serious time and a good understanding of 3D programming, but it is completely possible with Java. With the right algorithms and use of the JOGL API, animation systems can be built in 2D or 3D environments.

On the downside, the lack of the solid timer constricts development of some types of action/adventure games. Also, the limitation of hardware devices makes Java a difficult choice for games that require specialized controllers or accessories that native platforms automatically support. This problem can be overcome by using the JNI, but it still represents a limitation regarding this genre.

In summary, Table 1.6 lists the major benefits and drawbacks to using Java for creating action/adventure games.

Table 1.6 :  PROS AND CONS OF JAVA IN ACTION/ADVENTURE GAMES

Pros

Cons

Offers high-quality graphics capabilities

Lacks a high-precision timer

Can create commercial-grade animation engines

Contains limitations on usable hardware devices

It is important to note that numerous other games and hybrid genres beyond those mentioned here have been successfully implemented using Java. One of the groups most notably missing in this chapter are games written for mobile devices. There has been incredible growth in the mobile sector for games on cell phones and PDAs. The Java2 Micro Edition gives mobile game developers tools to create content for these devices, which continue to rise in popularity as gaming platforms. The focus of this book is PC Java game development, and further discussion is beyond the scope of this book.

Although some criticisms about Java have been mentioned, you should not interpret temporary shortcomings as a reason to give up on the platform as a whole. Several of the main issues that must be corrected regarding language issues are currently in development and are slated for release later this year. That being said, let’s look at some of the features in the near future of Java.



Practical Java Game Programming
Practical Java Game Programming (Charles River Media Game Development)
ISBN: 1584503262
EAN: 2147483647
Year: 2003
Pages: 171

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net