Friday, March 24, 2017

Moving on from Java

After some consideration, I've decided to do all my game development in another language from now on, although I've not decided which yet.  This is for a few reasons:-

1) No native executable
I've never had an issue with Java's speed; the whole "C/++ is faster argument is irrelevant.  However, sometimes you just want to release an executable for the target platform without end users needing to install Java first.  How come there's no simple option to compile Java to an executable yet?

2) I Can't run 3D
The primary Java library for 3D (and most advanced graphics) is LWJGL, which although excellent, is unable to run on my laptop due to hardware limitations ("Cannot create window.." or something).  This means that I can't use JMonkeyEngine or LibGDX.  However, even something like WebGL will run 3D quite happily at a decent framerate on the same laptop.

3) No decent open source games
I periodically browse the web looking for an open source game written in Java that I can help contribute to, and I'm yet to find one that's almost complete and with a community.  Most seem to be in C/C++.  And there's certainly no "big" open-source flagship games written in Java.

4) Java is the defacto choice for Android apps, but the Play store is so swamped that getting anything noticed on there is impossible; and developing for Android makes things exponentially harder due to all the different devices that need to be catered for, and the constantly changing APIs.  Even Google can't manage to create apps that don't crash periodically.

Don't get me wrong, Java is technically my favourite language; it's clean, relatively straightforward and powerful, and has lots of helpful libraries.  But regarding open-source games, it's nowhere to be seen.


No comments: