I’m going say something potentially unpopular: please don’t use Java. A lot of people will tell you that the only way to do real game development is in C or C++. I’m not one of them. Honestly, I love high level languages. And, for the most part, I’m a firm believer in saying “use what you already know”. You can do game development in a lot of the major programming languages out there, so if you’re new to game development, why spend time learning new practices and a new language? Don’t. Use what you already know.
Unless it’s Java.
I’m not a huge fan of Java myself, and yeah, I’ve ragged on it a bit before in relation to other high-level languages, but that’s not why I’m suggesting that you don’t use it.
Java has had a lot of issues since Oracle took over. The installer or application tries to install crapware on every update. Java itself is rife with massive security holes, which come out with alarming frequency. Here’s the latest one. It’s obvious that Oracle just does not care about Java.
More and more, using Java for your game projects is going to look increasingly unprofessional. Forcing your users to install the JVM and keep it up to date to run your game just doesn’t seem very polished. Sure, they might already have it installed, but your game will still be one more pain point every time they see articles like this, and debate whether to uninstall Java or leave their machines vulnerable.
Is Java an acceptable language for game development? For you the developer, sure. For your users, no, definitely not.