

Two crude but undeniable examples are games that work on Facebook, and remote medias such as phones, tablets, etc. The key advantages that existed in the former (low level languages) are slowing being out weighed by the advantages that exist within languages such as C# and Java (high level languages).

Three things have changed or are currently changing the gaming industry:Ī game is not entirely dependent on itself anymore. The gaming industry is currently hitting a paradigm shift. Generally everything said here was a reason not to port to Java for game development was. Having a large developer pool to hire from lessens one of the management hazards that is key people leaving the company.īut despite that, there have been some successful games with some parts written in Java, like Vampire: The Masquerade - Redemption.Ī more recent game like Minecraft is written completely in Java but it does not feature state of the art graphics, as the emphasis is put more into the dynamic nature of the virtual environment.Īnd many other games and engines have a runtime that supports a managed (safe automatic memory allocation and collection) scripting language built on top of a high performance rendering and networking platform (written in C/C++), like Unreal Engine for example. All game developers today know C and C++. The inertia of C++ in the games industry is huge. Even if the performance of Java is more or less in par with C++ for most tasks, and the JIT can even do very aggressive optimizations that beat those that can be done during the static analysis the garbage collection can make the framerates drop at the worst moment.Īlso, for graphics intensive tasks Java is not very appropriate, as there are many things that are considered unsafe by the runtime, and thus are forbidden (like casting pointers to reinterpret data).Īnother important matter is the already settled know how in the industry. In games programming garbage collection is not an advantage. You yourself have answered your question.
