Massively Multiplayer Online Role-Playing Games

Saying this type of game aloud is always a mouthful, so these games are often referred to as MMORPGs or just MMOs. In recent years, the online role-playing genre has attracted hundreds of thousands of players, who spend incalculable hours taking their characters on numerous quests. As Star Wars: Galaxies by Sony, the upcoming Worlds of Warcraft, and the infamous Everquest show, the MMOs are here to stay and have been adapted to some of the most successful franchises in history. Currently, several commercial Java-based MMO games, including Galactic Village by Galactic Village Games, are available.

Galactic Village (Figure 1.3) is a particularly fun game to play and gives a good indication of the growing possibilities for commercial development of MMO games using Java. The actual visualization of an online RPG varies based on the particular game, but some components are consistent in most instances of MMO games. First, an MMO game has a strong need for both reliable and secure networking on game servers. Nothing irks players more than to lose a battle due to unacceptable levels of latency or to have someone who is cheating beat them down and rob them. Second, as the characters improve in level, complete quests, and acquire items or create new items freely available to others in the world, a powerful database must be designed to scale alongside the popularity of the game. So much information is stored for Star Wars Galaxies characters that the cost of adding server space forced the developers to limit the number of characters a player could have on a single server.

image from book
Figure 1.3: Galactic Village by Galactic Village Games.

MMOs and Java

MMO games are another area in which Java is a solid fit. Because Java was built to integrate seamlessly with servers, it is a straightforward fit with networked games. In addition, Java is also particularly powerful when used with databases that hold all the player and world data that the game generates. When the game has more than 20,000 players on a single server, stability becomes key. As was mentioned earlier, Sun Microsystems manufactures high-end servers, so it makes sense that Java was designed to scale well and is well suited to handle these tasks. Both networking and database programming are covered in detail later in this book. Another point of particular value is that Star Wars Galaxies utilized Java as a scripting language. This fact is of particular importance because it outlines a way that Java can be used for games in association with other external technologies. Any game that uses a scripting language is likely to see a heavy portion of the game play and game logic components written in that script. Java fits perfectly into this role and is also discussed as a scripting language in Chapter 10, “Java as a Scripting Language.”

On the downside, Java hasn’t been tested thoroughly for large commercial game projects such as an MMORPG beyond usage as a scripting language. The tools to create such a game exist on the platform, but it will take a major commercial success to convince developers that Java can handle implementation of a full-scale MMO game. Also, any optimizations made regarding graphics or other hardware must be re-implemented on all supported platforms, which is consistent with most development today and can be overcome with good design. Nevertheless, most Java developers are used to the “write once, run anywhere” paradigm and might take issue with having to re-implement features obtained from “dirty Java.”

In summary, Table 1.4 lists the major benefits and drawbacks to using Java MMO games.

Table 1.4 :  PROS AND CONS OF JAVA IN MASSIVELY MULTIPLAYER ONLINE GAMES

Pros

Cons

Contains scalable networking tools

Commercially unproven for large-scale games

Provides powerful database management

Requires “dirty” optimizations to be implemented on all platforms separately



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