Hello, I would like to answer the original question “Why Java for games?”.
I am not a code guru but I have a fairly good amount of experience at coding games( more precisely FPS modifications).I have reached a good level of expertise before realizing I was wasting my time develloping huge projects for a commercial game engine for which I would never own a license (and no, I don’t have the “dream” of working as an employee for corporate videogame industry ) :-X
Well back to the point: I think Java would be awesome for games because of it’s high level approach, and its perfect implementation of OOP. When games start reaching a certain threshold of complexity you just can’t keep coder ressources invested on two huge fronts (low-level stuff and high-level).
When using high level object language, big chunks of code can migrate from the main loops to the objects, you can manage your project easier and can deleguate tasks to second-rank coders and artist guys.Complexity is an important factor in the success or the failure of a project.
A language like java is very well suited for complex games such as RPGs, MMORPGS,Strategy games,network games, etc,etc…
Today the japanese are the ones winning the battle of innovation in videogames.They can pull very original games such as Ico,viewtiful joe, to name a few, while western devellopers can’t go beyond the paramilitary “infiltration” desert gun-show “games” they are serving us non-stop now. studios like Capcom,and other develloping games on consoles, don’t need to waste ressource on low level stuff because the consoles limits are set and known from the start. Console devellopers are “free” to conceive original games (actually they are forced to search new ideas to stand out from the mass), while most PC devellopers just change the game engine and serve us the same game than 10 years ago(doom with bump mapping, half-life with bump mapping,etc…).
Java devellopers can be in the same situation than the console devellopers since they don’t have to worry about low level specificities (CROSS PLATFORM remember?).
And the high level oop coding and libraires available make it easier to devellop middleware. All we need is a couple of succesfull projects that would start a critical mass.
Oh and before I finish, the very popular unreal engine uses a powerful scripting language that is based on(and very similar to) java. UnrealScript is an interpreted OOP language that manage all the in-game objects and maps. The only things done in native code are generally the renderer routines, and so most of the unreal engine games (this is alot of commercial games) are coded (almost!) in java
So Java is already in games, and you don’t know
(I apologize if that post doesn’t make a lot of sense, it’s because of my bad english)