so I used bucky land from thenewboston’s tutorial for slick2d game programming. Waithin about 4 hours I successfully made his game with the images he supplies. I did a lot more in these few hours than I ever did in weeks of java2d thanks to some forum members. After a bit I will move to LWJGL even if it does have a lower graphics quality. If I were to begin 3d anytime soon, would LWJGL be easy to learn after slick? Are there good tutorials on it out now? I was recommended to one of the newboston’s slick tutorial series which helped me a bunch. I like slick but would I be able to start LWJGL simply? Is it an easy to learn library(your opinion)?Or perhaps I should stick with slick2D(I will not use libGDX)?
Well, honestly, LibGDX has become the de-facto recommendation for everyone, beginners be damned :P. However, if you insist on not using it, then let me just lay out your options of what you have so you can make a better decision on where to move next.
Slick2D Status: No longer maintained
This was a very solid library because its whole goal was to keep all the OpenGL boilerplate code away from beginners. It codes very similar to Java2D, and probably isn’t the best entry point into 3D programming. However, if you want to make very fast 2D games, there is no better library to pick up than this one. I don’t really recommend it because everyone from that community has moved on to… you guessed it… LibGDX.
LWJGL Status: maintained
This is the wrapper for OpenGL. In other words, when you are using this, it is like coding in OpenGL itself. If you want to do 3D programming without LibGDX, this is probably your best bet. The barrier to entry is pretty high if you don’t understand math, but this also is filled with tutorials to help you get the basics down. If you want to understand 3D programming in the core language, this is the place you want to be. High learning curve, but probably worth it for 3D
JOGL Status: maintained
I haven’t used this library much, but it is very similar to LWJGL expect putting a higher focus into other API’s such as OpenCL and OpenAL. I can only guess the barrier to entry is going to be about the same as LWJGL. However, there is a little less on the tutorial side unless you go to their main forums
JMonkeyEngine Status: ?
This is more of a library for making 3D games than a wrapper and contains a lot of classes to make your life easier coding for 3D games. It might still be maintained, however, it was pretty popular and probably has its handful of tutorials.
My final thought on this debate actually is here…
As a beginner, I know you’ll be excited to absorb a bunch of new technologies. Be vigilant though, and know what you want out of it. Hopefully, this will help you make a decision. If I were doing it and didn’t want LibGDX, I would probably choose either LWJGL or JOGL, as they are very close to the 3D pipeline and will force you to learn the 3D concepts most quickly. Good Luck… (and please, no more topics about this )
I called it. 2 days later, another thread asking the same question.
But I’ll elaborate on what ctomni said:
jMonkeyEngine is by definition a full blown engine more than a library. It’s maintained still certainly, and is probably the most popular 3D java engine out there.
Check out the search bar too.
Oh look this thread, no longer going to entertain it. Me and others have told you about slick2d, lwjgl and libgdx multiple times.
thanks, and gibbo not all of them.
JOGL Status: maintained
I haven’t used this library much, but it is very similar to LWJGL expect putting a higher focus into other API’s such as OpenCL and OpenAL. I can only guess the barrier to entry is going to be about the same as LWJGL. However, there is a little less on the tutorial side unless you go to their main forums
As a beginner, I know you’ll be excited to absorb a bunch of new technologies. Be vigilant though, and know what you want out of it. Hopefully, this will help you make a decision. If I were doing it and didn’t want LibGDX, I would probably choose either LWJGL or JOGL, as they are very close to the 3D pipeline and will force you to learn the 3D concepts most quickly. Good Luck… (and please, no more topics about this )
[/quote]
when people say they used opengl in java do they mean JOGL?
Not exactly.
OpenGL is a C API and Java is currently not able to talk to it directly so you need to use something like JNI which is complex and ugly to use and requires knowledge of C.
Both LWJGL and JOGL are libraries that do this heavy lifting for you and give the user an easy Java API to OpenGL to work with.
LWJGL also binds to OpenAL (which you’ll probably want to use for audio in your game), OpenCL and provides a lightweight native window & input system (so you don’t need to use fat libraries like AWT/Swings for windowing and input). JOGL also has similar functionality and sister libraries that provide access to OpenAL and OpenCL.
Both are low level libraries and you’ll probably need to spend a few months/years learning the OpenGL/OpenAL API inside out and writing your own wrapper code to be able to create games efficiently. The above two libraries are more for writing game engines, game libraries and utility classes rather then making games directly. However great for learning how the lower level stuff works.
If you just want to make games then go with some of the slightly higher API level libraries mentioned in the replies above.