Video games are finally entrenched in popular culture and are as widespread a form of entertainment as movies and television. What's most startling is that the games industry achieved this entertainment parity without relying on the standards found in the television and movie industries. This was possible because games were played on proprietary systems designed to do one thing: play games. But in today's world of 206MHz PDAs and 3D-capable cell phones, games are being played everywhere, and for a content industry that has no set standards this presents a significant problem: chasing customers across multiple devices.
Compounding this problem is the onslaught of competition from large media companies that already have broadcast standards in place. They place their content on the same game-playing devices and fight for t4he same consumer's attention. To compete effectively in this arena, game developers need to stop thinking about individual devices as game platforms and consider these devices as part of the landscape encompassed by their games. This is why I strongly believe that Java will emerge as the unifying technology for the games industry.
Java technologies have made tremendous strides in improved performance in the past couple of years, approaching the speed of compiled C++ code today. With Java 1.4 and Java3D, the ability to deliver true cross-platform, high-performance gaming is here today. Consider the first person shooter developed by Full Sail Real World Education, a media school in Orlando, Florida, shown at QuakeCon in August of this year. The game, Jamid, was developed using Java3D and Java 1.3 and runs full-screen at 60+ frames per second on a sub-$1,000 PC. Oh yeah, it also runs unmodified on Windows, Solaris, and Linux.
Running such a game on a mobile phone might not be the best use of the phone's capabilities - what with limited memory, input, and performance - so the challenge is in discovering how to incorporate the mobile phone into a game framework. Let's use a massively multiplayer RPG (MMRPG) as an example. In an MMRPG there's a tremendous amount of time that typically goes into playing and maintaining a character. The average EverQuest player, for example, spends an average of 28 hours a week on the game. The problem is that when you're maintaining your character, you're not playing the game.
By moving the less computationally intensive components (such as character maintenance, communication, and trading functions) to a mobile device, you achieve three things.
The advantages that Java will provide in the form of cross-platform development, reduction in time-to-market, reuse of code, discovery of alternate revenue channels, and providing game companies the ability to reach out beyond the traditional console market and leverage the Web as the game platform, will be unprecedented. There are already significant efforts underway to build the components in Java to make it the de facto standard for game development. Sun Microsystems, Inc., is working with several major game developers and hardware manufacturers, including Sony, on the Java Game Profile (JSR-134). This Java Specification Request identifies the various areas of game development, and the participating game developers are working together to build the components and technologies that will enable the first true cross-platform game development technologies. Sun has also launched www.JavaGaming.org to act as ground zero for Java game development, offering everything from discussion boards to sample code to cool links.
- Keep your content in front of your customer: This keeps the game world, characters, and brand in front of the game player. It's a world where players spend at least one day a week in, and you're enabling them to engage in more pieces of that world.
- Allow the player to prepare characters for game play at a later time: Players can do the tedious maintenance separately from the gaming rig, preparing their character from their mobile phone while sitting on the train on the way home from work or during their lunch break. Later, when the players are ready to sit down and battle some ogres, they just jump in and start battling.
- Derive more revenue from your customer: If you have someone playing a game 28 hours a week and paying you $10 a month for the privilege of having this addiction, being charged $5 more for access to the game components from any connected device is not a huge leap for the player to make.
As the pressures and costs of developing increasingly compelling game content in the face of new competition continue to rise, the benefits of Java become more attractive. With the high level of penetration across dozens of different media devices, Java is providing an exciting, high-performance platform for the next generation of games. As game developers learn how to incorporate these devices into their game framework, and look beyond the box to the Web as the platform, the ubiquity of Java will prove invaluable. Of all the great services and technologies that are incorporating Java, none will experience a greater impact than the games industry. So check your mobile phones, PDAs, cable boxes, and game consoles. Your favorite game will show up where you may least expect it: everywhere.
Chris Melissinos is Sun Microsystems' chief gaming officer and is responsible for the development of Sun's programs and strategies targeting the electronic entertainment industry.