Although my title states it i am only a complete newbie to Java. I have done a bit of C++ in the past and so have some basic knowledge of logic.

I have been reading many guides online on how to get started which are fine. But everyone seems to use different IDE's, Java versions and libraries.

My question to you experienced and very helpful developers out there (i have been reading forum posts and i must say the community here is awesome) is as follows:

I have an idea, I want to bring it to life. It is a 2D Zelda type game (Gameboy original style). I know my capabilities are not good enough to cover this all by myself but this is the goal i wish to work towards even if it takes me a few years (or longer).

Which Compiler/IDE would you recommend using and which version of Java for starters?

I know Java has a hell of alot of libraries built in but are there any essentials that people use that i should download to prevent hold ups in the future?

Basically i want to get completely set up from the start so i can just enjoy programming and problem solving and grow my knowledge and hopefully get to know some of the community in the meantime.

I'd love to work on a game as a team eventually but first i need to get a good grounding with Java.

I think the most used IDE's around here is either Eclipse or Netbeans, I myself use Eclipse and find that a useful IDE. As for the compiler, once you've installed the JDK, then you should have the java compiler. Both Eclipse and Netbeans has a "Compile" button, so you don't have to do the compiling from the terminal.

As for libraries, you can achieve your goal with the standard installation of Java, however there's plenty of libraries out there, that can help you, and it's easy to get a war going between them.

But before starting with libraries, get a feel for how Java is. Then if you insist on using a library, go for something like LWJGL or LibGDX.

IntelliJ is a commercial product, but I guess there are some free versions also. Eclipse seems to be the most used one here on the forum, but I prefer Netbeans for my work. My arguments for netbeans are:

better performance, especially on low hardware as laptops

a lot of essential/common tools are included and just work, in eclipse one has to search and find a lot of plugins before on can start to work

cleaner interface

When it comes to the choice which framework one should use, the common opinion is to use libGDX. Don't waste your time trying to code something with Java2D, which is a outdated mess.

LibGDX is not the holy grail of gamelibs, but it offers the most features and is easily accessible for beginners. It has a lot of example games and enough documentation to get you started.

When I started out programming in Java (and programming altogether) I tried making a mod for Minecraft, despite being partially succesful in making throwing knives it made me realise I had a lot to learn about Java. So I read "Head First Java" from O'Reilly, it almost felt like putting on glasses for the first time Really nice, non boring-wall-of-text book, quite engaging. Plus it made me feel ashamed of the code I had written for my MC mod.

Moral of the story; Read a Java programming book. Most don't require you to use an IDE or even tell you to do everything in a console, but you're free to ignore that. Actually do the exercises, they help a lot in understanding and retaining that understanding. Do it beside making your game and you'll see that discovering new possibilities in programming helps you think of stuff for your game. Plus, actively thinking about putting fresh learned knowledge to use makes reading & learning easier. And when you're done you have a handy book to fall back on when you need info about (almost) anything java.

Side notes about Head First Java:Starts out with pure basics, how to write a barebones java program, compile it and run it. Without IDE. When you've done that you can apply that knowledge to any IDE because you know the terminology.It also covers a bunch of Java's built in libraries.Already know about a subject (like operators) just skip it!

Yeah, just start coding and playing around with stuff. That's what i've done. I'm still a newbie but i've put together a few smaller games. Let me know if you need any help. These are my favorite types of games to make.

If you are starting out for game programming in java I recommend you go over some simple text based console games first (using eclipse or netbeans, I prefer eclipse) then if you want to go the hard way go look on youtube channels such as thechernoproject and designsbyzephyr are very good for pure java games. Otherwise use a library such as java2d, slick(not recommended as its rarely updated) or the otherone my mind is blank.

Don't waste your time trying to code something with Java2D, which is a outdated mess.

I have to strongly disagree with this. To be honest with you, i think java2D is a great way to teach newbies how to structure games. Its such an easy library to use that you really don't need to worry about teaching someone all the different functions. It doesn't get much easier than g.drawRectangle(x, y, width, height). Sure, after a while you need to get off of java2D and use a different library, but in the beginning i think its a very useful tool. Utilize what you can, don't not use it because its slow. You can still make basic games, and thats a good thing when you're learning/teaching.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org