Originally Posted by
Free
There are good java game engines out there, the issues is that much of the older game engines out there are written in C++. Most of the time game companies license game engines from other companies so they wouldn't port these game engines to another language because it requires time and money. Not mention the license may not even allow it. Andrew didn't use a license when he made RuneScape because it was a hobby of his when he was in college. (It just happened to take off and he didn't need to get a license)
Most game companies also reuse their code from previous projects too so they don't reintroduce new bugs into the new project.. Almost all games use some sort of scripting language for content, its just the back-end stuff written in C++.
Garbage collection was an issue with Java, we'll find out in Java 9 how well it performs with the new change in GC. C# uses a very similar garbage collector and many games are written in C#. Though, C# allows you to explot your hardware a lot more easily than Java, java hardly lets you do any of this. C# allows you to use pointers so if you wanted to you could manage your memory better, Java doesn't allow pointers therefore you have to rely on the default GC to do this for you.
There are very successful Java games out there though, but to maximize the best graphics as possible as of right now it won't happen with Java due to some of the limitations it has.
You can definitely do it, especially for the #317 because its been fully documented but is it worth your time? No, especially if you're trying to make the graphics a lot better.
Most of the community doesn't even know C++ so it would never take off. There really isn't any benefit in using C++ for a runescape private server even to manage memory because runescape isn't a very graphics intensive game.
RuneScape did perfectly fine for many years until they started upgrading their graphics they ran into some issues hence why you see a C++ client now for RS3.