
This includes heavy graphics, fast game play without lag, and possibly, and easy switch to consoles? So, in short, can Java be taken serious, for serious game development. I don't think it's an entirely bad idea to write a game in Java, especially if the game is simple, but you're immediately going to run into performance issues in Java if you're using it as a crutch. Using a higher level language should be because it makes you more productive, not because you couldn't understannd the lower level language. If your reason for choosing Java is that you couldn't understand C++, your Java programs aren't going to be fast enough for high quality graphics. I don't really know why, but usually, whenever I try to learn, I can never grasp the topics. So, I am really serious about game development, is Java still a viable choice? I have tried multiple times to learn C++, but I don't really like the language. But if you intend on creating srs graphics, then it's not going to be doable in Java. Gameplay over graphics is a viable choice, and you can see it in the success of games like Terarria and Minecraft. Java experience counts for virtually nothing when learning C++. Java and C++ are vastly different, despite their superficial syntactic similarities. That later I am required to learn C++, will making the switch be

So my belief right now is that it simply cannot be done.Īlso, if I continue to learn and improve Java now, and it turns out

#Learn java game code#
I have never observed any non-indie game which spent significant time in a language that was not compiled to native code prior to execution, and even the indie games which do so are a rarity. Plus, there's the performance problem- and the GC is non-deterministic, which is super-bad for a game. Secondly, Java as a language simply doesn't lend itself well to game development- I mean, for example, if you're dealing with GPU buffers then Java does not provide a language feature which will aid you in ensuring they are correctly locked and unlocked or disposed of, which C++ does. Here's the thing- firstly, there's very little in terms of existing libraries for Java compared to the virtually everything that is for C++. Don't expect to get a job in game development without C++ skills. Don't expect to get as much help from others. Most game programmers use C++ and in my experience often dislike Java.
#Learn java game android#
This is an option also, but don't except the same Java code to work both on a PC and Android device. On the other hand Android, which is a popular mobile platform, uses some form of Java. Java is not supported by popular game consoles and there is no easy switch to those from Java as far as I know.The lack of libraries has not been a problem for me, but I can imagine that it can be for others. On the other hand Java has a huge class library built-in, which reduces the need for third party libraries that are not game related. There are also Java ports or ready-made wrappers available for popular libraries, for example I'm using JBullet - Java port of Bullet Physics Library. On the other hand you always have the option to call these native libraries from Java also, but it's more work to do so. Most of the available libraries do not support Java. As others have stated, non-deterministic memory management is a problem, and you need to code that in mind. On the other hand, with Java you have couple of problems.
#Learn java game windows#
Supporting multiple operating systems with Java can be very easy, for example my previous Java game, which I developed in Windows for a year, worked in Linux right away and in OS X with only one bug without any need to compile anything on those platforms. In the past I used to write my games with C++, but after switching to Java there is no going back. I am currently writing my second 3D game as a hobby project in Java, and I just love it. With these you can quite easily get started to serious game development in Java. It is a low-level framework, which provides OpenGL for high quality graphics and OpenAL for sounds.

Those are some games made with Java using The Lightweight Java Game Library (LWJGL).
