In Part One of our interview with Sun Microsystems' Chief Gaming Officer, Chris Melissinos, we explored Sun's commitment to games and the burgeoning role of Java technology in game development. Recently, we met with Melissinos again to discuss the latest advances in Java technology-based game-centric technologies.
Tell us more about Sun's massive, multiplayer game server prototype.
We see this prototype as the cornerstone of the compute utility model for network and online games, which means that game companies should no longer have to purchase infrastructure to provision a game online. Game companies should be looking at ISPs, ASPs, and carriers that implement solutions, to enable them to put their games on a network. They would then receive a monthly bill for the processor power, bandwidth, services, etc. that they consume.
"Middleware is playing an increasingly important role in the game developer world."
- Chris Melissinos,
As opposed to buying in-house infrastructure, which is a depreciating asset requiring massive up-front cost, the utility model reduces the expense of in-house infrastructure. You put your game on a network that is designed to deliver massively-multiplayer, highly-scalable game environments, and take away the pain of having to maintain a hardware and software environment.
The response from game companies has been overwhelming. We believe that this is how game companies will deliver their products in the future. As Sun CEO Scott McNealy used to say: "Nobody builds a power plant in their house to run their hair dryer. You just plug it into the wall." Don't build your own infrastructure, simply drop your game onto the network.
Sean Kendall, who teaches at Full Sail, and had defined some problems in using Java software for game development, now says that Java 2 Platform, Standard Edition 1.4.x has resolved all of the issues. He said that you can develop a multiplayer, network game almost entirely using Java technology now because of the new APIs. Performance is no longer an issue. Any comments on this?
The Game Technologies Group at Sun has been working hard to assure that we're providing the APIs that a game developer needs to offer a high-performance game experience to their consumers. So, with the release of the Java bindings for Open GL, the Java bindings for Open AL, and a wholly-created API by Sun called JInput, we provide the core foundation for high-performance, cross-platform games. Developers can get C++ equivalent performance, and take advantage of all the programming features that the Java language provides, such as garbage collection and the avoidance of memory leaks that you get with C++.
Why doesn't Sun have a game box/platform -- something like Xbox and PlayStation, only better?
Sun does not compete with its partners. Microsoft manufactures the X-Box platform, but also engages in tremendous game development in-house. If you're a game developer writing for X- Box, you're also competing with Microsoft. We are not a content company, we are a technology company. We believe that the games industry is important to the progression of consumer device technologies and the network services that a consumer will come to demand of a service provider.
The games industry and the games market are vital to the growth of that, because that is where consumers are spending their dollars, by adopting technologies in game-related devices and engaging in game-related activities. We want to be the enabler of those technical platforms. When it comes to building a Java technology box, we don't need to because Java technology already runs on dozens of consumer devices, with many more to come! Why run on one box when we can run on all of them?
Tell us about the history and significance of the Java Game Profile?
"Game companies should no longer have to purchase infrastructure to provision a game online."
- Chris Melissinos,
In December of 2000, representatives from fourteen video game companies attended a summit in Santa Clara to discuss what was needed to turn the Java platform into a suitable platform for game development. We sat in a room for two days, 14 hours a day, turning the Java platform inside and out, and came up with a laundry list of what needed to be done. From that initial meeting came the specification for the Java Game Profile. We wanted to build a stack of APIs that would allow game developers to focus specifically and exclusively on those APIs.
Within six months of that initial meeting, we introduced the APIs into the Java Community Process (JCP), the largest submission in the history of the JCP. However, due to the size of the JCP, and the speed with which anything built by committee moves, we decided to release the core APIs to the open source community. The community has embraced these APIs, and is moving fast to develop the technology. We did not abandon the spirit of the Java Specification Request (JSR-134), we just shifted it from the JCP into the open source community.
What should developers know about cell phone games in Java 2 Platform, Micro Edition (J2ME)?
J2ME and the MIDP 2.0 (Mobile Information Device Profile) specification on cell phones is a tremendous platform for building video games. Java technology is the standard for mobile games in the games industry. The issue now is: How do we continue to make better, more compelling games? MIDP 2.0 goes a long way to address the concerns of game developers. By using Java technology on multiple devices, we can more effectively tie into the Java technology on the back-end that the Game Technologies Group is developing.
What should developers understand about the challenges of getting their games on multiple channels?
It's not about getting your game on all of these devices, it's about getting your game content on all of these devices, two very different approaches. The first approach is: I will take this game, and I will try to shoehorn it into a cell phone. Well, a cell phone was never meant to run a full-fledged PC game. So, what about my PC game is appropriate to put on a cell phone? If I'm doing a driving simulator, there's no need to include the entire driving simulator on the phone, but the auto tuning and parts- trading component may fit quite nicely on the phone and I can carry a little bit of the game with me. I don't need a big-screen TV and a high-end audio system to do these activities. Learning to repurpose content to appropriately fit devices is the biggest hurdle that game developers face today.
Can you refer us to some online games that use Java software in interesting ways?
"Learning to repurpose content to appropriately fit devices is the biggest hurdle that game developers face today."
- Chris Melissinos,
Java technology exists in many more games than people realize. The Law and Order series of games by Legacy Interactive, for instance, are entirely built using Java technology and Java 3D. Games such as Chrome, that recently came out of Techland in Poland and published by Atari, use Java technology as the scripting language for their first-person multiplayer shooting game. It's getting rave reviews. Also, the Puzzle Pirates multiplayer on- line game, running on J2SE, just won the Technical Excellence and Audience Choice awards at the Game Developers Conference in San Jose, California.
Anyone building games for mobile phones can not ignore the over 250 million Java technology enabled devices in consumers' hands. Games like Splinter Cell: Pandora Tomorrow, XIII, Prince of Persia, Tony Hawk's Pro Skater, and hundreds of other titles on mobile phones are being enjoyed by consumers thanks to the ubiquity of Java technology on mobile phones, and the creative developers who make the games.