Lwjgl novice
I have a decent experience in 2D game development using Applet, though I am not a master or anything close.
My main issue with starting to learn lwjgl 2.93 is figuring how's best to approach it?
I don't find much resource online, the best I've found is tutorial by Oskar something on YouTube and I'm not sure if it's enough.
Any advice about how to approach this, or any good learning resources?
LWJGL is just a set of Java bindings for various low-level libraries. So there isn't really anything to learn about LWJGL specifically. For example it exposes OpenGL APIs to Java, in order to build an application you need to learn how to use OpenGL. So look for OpenGL tutorials rather than LWJGL tutorials.
This is low-level stuff though. I would consider carefully what your goals are here. If you specifically want to learn OpenGL and prefer to code in Java then LWJGL is a good choice. But If you just want to make a game then go for something like LibGDX. It's a higher-level framework (built on LWJGL among other things) and you get to deal at level of sprites and animations with lots of tedious low-level details taken care of already.
David Gill :: GitHub :: twitter .
LibDX actually seems to suit my needs perfectly, haven't seen a lot of recommendation on it though (in contrast of lwjgl, directX or unity). Is it good if I want to actually program games as well as gainning solid knowledge and skill in game dev?LWJGL is just a set of Java bindings for various low-level libraries. So there isn't really anything to learn about LWJGL specifically. For example it exposes OpenGL APIs to Java, in order to build an application you need to learn how to use OpenGL. So look for OpenGL tutorials rather than LWJGL tutorials.
This is low-level stuff though. I would consider carefully what your goals are here. If you specifically want to learn OpenGL and prefer to code in Java then LWJGL is a good choice. But If you just want to make a game then go for something like LibGDX. It's a higher-level framework (built on LWJGL among other things) and you get to deal at level of sprites and animations with lots of tedious low-level details taken care of already.
Anyway I think I'll check this out and give it a try, thanks!
LibDX actually seems to suit my needs perfectly, haven't seen a lot of recommendation on it though (in contrast of lwjgl, directX or unity).
LibGDX is a popular and active library - do a search here on gamedev for it and you'll find lots of threads.
These are all different beasts though:
OpenGL and Direct3D are native low-level graphics libraries.
LWJGL is a set of java bindings to certain low-level libraries (OpenGL included) but not exclusively just graphics.
LibGDX is a framework that offers higher-level abstractions (sprites, input management, etc) aimed at building games.
Unity is a full-blown game engine with a UI frontend - you build games using a combination of "drag-n-drop" and C# scripting.
Is it good if I want to actually program games as well as gainning solid knowledge and skill in game dev?
Yes!
In fact the higher-level you go the more you concentrate on the actual game development side of things. Whereas if you go down the LWJGL/OpenGL route then you focus (at least for a while) on low-level GPU programming concerns.
LibGDX and Unity are good choices If you want to actually build a game.
For Java game programming I think that LibGDX is one of the best libraries available, especially for 2D games. There's also jMonkeyEngine which you might also consider especially if you're doing 3D games.
David Gill :: GitHub :: twitter .
Well that's awesome, seems like the way to go. Thanks for your help!LibGDX is a popular and active library - do a search here on gamedev for it and you'll find lots of threads.LibDX actually seems to suit my needs perfectly, haven't seen a lot of recommendation on it though (in contrast of lwjgl, directX or unity).
These are all different beasts though:
OpenGL and Direct3D are native low-level graphics libraries.
LWJGL is a set of java bindings to certain low-level libraries (OpenGL included) but not exclusively just graphics.
LibGDX is a framework that offers higher-level abstractions (sprites, input management, etc) aimed at building games.
Unity is a full-blown game engine with a UI frontend - you build games using a combination of "drag-n-drop" and C# scripting.
Yes!Is it good if I want to actually program games as well as gainning solid knowledge and skill in game dev?
In fact the higher-level you go the more you concentrate on the actual game development side of things. Whereas if you go down the LWJGL/OpenGL route then you focus (at least for a while) on low-level GPU programming concerns.
LibGDX and Unity are good choices If you want to actually build a game.
For Java game programming I think that LibGDX is one of the best libraries available, especially for 2D games. There's also jMonkeyEngine which you might also consider especially if you're doing 3D games.
libGDX user here, I just wanna add that this kind of frameworks are cool for when u don't want the overhead and... let's say 'hand-holdiness'... of an engine, but u still don't wanna get too much onto the low level side of things. It's great if u want to learn programming and not "just making a game".
For any future reference, LWJGL 3 is out there already, really good stuff (built on top of GLFW, revamped native memory management, jemalloc bindings, lmbdb bindings, nuklear bindings, vulkan bindings, etc) . So anyone starting with OpenGL and Java, use that instead of LWJGL 2.
"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"
My journals: dustArtemis ECS framework and Making a Terrain Generator