Java as a Serious Game Dev Language

Java has been around a while, and was even inspired by the reigning game dev language champ, C++. Recently I stumbled upon someone’s misguided belief that Java could ever become a serious programming language used in professional game development. Sure Java has it’s uses, but for professional games it will never become the standard.

Java is great because it can run on any platform. But so can C and C++. People that complain that there are no good games on anything besides Windows, just don’t know what they are talking about. For example, the new cool little gadget on the block, the iPhone/iPod touch, runs Linux and has a whole whack of great games for it, including a AAA spin off – Spore Origins. And lets not forget the other platforms as well, Nintendo DS and Wii, Sony PSP and PS3. The reason isn’t that C/C++ can’t run on other platforms, its that game developers have no reason to develop games for Linux or Mac, there just isn’t the market for it (in their eyes).

The Java programming language has some flaws that limit it’s application in complex game engines and game systems. My biggest beef is the lack of multiple inheritance, something that can simplify so many problems (such as design, copy and pasting code, etc).

Let me give you an example of why multiple inheritance is needed, say we have a base class Singleton that many of our managers use. If we need to have a specialized version of a manager for a very specific task, we wouldn’t be able to do that in Java because of the lack of multiple inheritance (unless we copied and pasted all of our code).  Sure multiple inheritance can be a bad thing when a poor software designer (ie. programmer) is behind the wheel.

Also automatic garbage collection is not something that is always useful. Sometime very specific behaviours need to be performed, and if the language prevents that then you are being limited.

Java is also controlled by one company, whereas C/C++ is an internationally standerdized language. The fact that you can automatically run any compiled C/C++ program without the need for an interpreter, virtual machine, etc is something that limits Java. Java sorta resembles the .NET library, you need to have a whole wack of other software to make your other software run.

Simple fact of the matter is that Java limits programmers, whereas C/C++ doesn’t restrict programs to do things a certain way (not always the case, but 99.9% of the case). So Java as a real professional game dev language, as it stands right now – not a chance.

Playstation Home

I have pleasently been awating the release of Sony’s answer to the Mii’s and XBLA, and now it finally comes to open beta on the PS3. I was amused to hear that they annonced the open beta the day before they were going to release it. I have been waiting for quite some time to see if Sony’s answer would be as great as I had hoped. After downloading the new application, I quickly found out that the stupid thing wasn’t even working yet. I was unable to login, getting a stupid javascript error. I can only hope that Sony will rectify this problem quickly and do it well.