A lot of the time, we in Sun's Game Technologies Group, talk about
the advent of Java technology in the mainstream of “high
performance” game development. While we believe that we have
it correct, and that the move to Java from C++ is an inevitability,
we are often faced with the “Well, where are the games?”
question.
Typically in the games industry the move to a new technology is
almost always accompanied by an explosive title that forces
developers to move off the bubble. Case in point: Renderware.
Renderware has been around for several years and was touted as THE
cross platform middleware in the console world. However, whenever
you mentioned middleware to a game dev., chances are they smiled then
laughed when you went away. Of course, any programmer worth his salt
would write all of his own code, own engine, own scripting language,
etc.
Then Tony Hawk happened. Then Grand Theft Auto. Now Criterion,
creators of Renderware, have been purchased by Electronic Arts.
Renderware is now used at several major development houses like Sega
and Nintendo. Is it because the technology is SO good that
developers can't live without it? No. It's just good enough that is
makes developers lives a bit easier. Take a look at GTA: San Andreas
and tell me it looks better than Prince of Persia: Sands of Time (or
the original GTA for that matter). Nope. Not by a long shot. Oh
yeah, and for those of you who look at Burnout3 and say, “Well,
that's using Renderware and it looks awesome!” understand that
while Renderware may have been used in creating that title, getting
the game to look that good required a bunch of hand cranked code. So
much so that it is not really “Renderware” at that point
and that means less portability (no BO3 on GameCube. Why?).
So why bring up the Renderware example? Because we believe that
Java technologies can give you the best of BOTH worlds. You can hand
crank the code all you want and still maintain a high degree of
portability. Or, you can use existing components and a nice IDE for
the bulk, still hand code stuff and not sacrifice the portability.
What this means for developers is that eventually there will be a
greater amount of tools, code reuse, engine reuse, etc. that work on
a greater degree of platforms than ever before. Using Java
technologies will not require that you sacrifice quality or
customization for the sake of more platforms.
There are several games in development that could
force the breakout. Games like Wurm Online and Tribal Trouble prove
that Java technology is more than up to the task. Are either of
these the “Tony Hawk” of the Java world? Maybe, maybe
not. However, one thing is for certain. The tide is changing. Just
make sure when the Java wave comes you are facing the ocean, not the
beach :)