I am immediately sold. I'm in game development specifically because I like building algorithms from scratch, so most of your reasons why not make me want to use it more
I don’t have any experience with the other game engines you have mentioned. I do have 5 plus years with libgdx. I’ve grown tremendously as a programmer using that game engine. Libgdx doesn’t hold your hand so you will at some point start learning low level things. Networking, 3D graphics, user interface, and even things like ECS. I now have a much deeper and intuitive understanding of more advanced programming topics because libgdx pushes you in those directions. I don’t think a game engine like unity or others would make you do those things. I doubt I’d know as many advanced topics as I do now if I went with another engine.
LOL if your goal is to learn low level stuff why don't you just go low level with C++ and Assembler? Why do you use a framework which makes things easier, but only a little bit so you don't really learn low level and don't get a game done either? It makes no sense whatsoever. IMO you just desperately stick to a wrong decision of the past. LOL
@@NoSpeechForTheDumb I've written code in both C++ and MIPS assembly (for PS2). The framework does give you something to build on. No need to learn everything. But it is a good way to learn some things. If I want to just focus on making a game I'd use unity. That's ez mode.
This video has one of those titles that scares me... but it also proves why the LibGDX community feels like my long lost family. And makes me feel better about working with it! GDX is very familiar coming from a Minecraft modding background. My only frustration with it is Gradle hasn't grown on me, and I'm not sure it will, though that'd be nice cause I'm really enjoying this framework. Feels like the logical evolution of LWJGL. Hope to see it thrive moving forward!
Very good Video. I thought hard about one month to choose game engine or library. I alreay know about libgdx , unity , and unreal. my favorate language is Kotlin ( Because of my Job is Android developer ). Finally, after watch this video, I choosen Unreal ( libGDX also great library ).
Great video! Very accurate. I would like to add that libGDX games have been ported to consoles in the past, though it takes some real know-how and wizardry to accomplish that with the current state of things
love this video. Some years ago tried libgdx and it was quite fun. But it was like 5 years ago... Still thinking about getting back to it from time to time. I suck at coding, so that is the main reason keeping me away. Currently working on a project in Godot. Main reason I chose Godot, because of the UI. Making UI in code for me is a nightmare. And my project is heavy UI based, and Godot UI system for some reason clicks for me.
I also always had trouble creating UI in LibGDX, but that didn't stop me from using it. On the contrary, it encouraged me to create a UI from scratch using LibGDX's libraries. It's not something professional, but at least I can use it since I built it from the scratch. I use LibGDX becouse has GreatPerformance for Mobile, and in Game Engine I dont has the Performance and the Full Controll of i wanna make
UI, that is a really good point. I stink at making UI in code. I am not good with UI in the first place, but I do find it more intuitive when using a visual editor.
@@jamestkhan I would also like to get back to libgdx just for Java. I know a lot of people hate Java and I know a lot of those people personally :) But for some reason I really like the fact that it is not trendy like for example Rust or Python.
Once upon a time I set out to make a game, but accidentally found myself making an engine. Started off in game maker then wanted more control. Started to make my own engine from scratch but after reinventing some wheels only to be overwhelmed. Then I switched to libGDX. It's still very slow process and while I don't yet have much of complete game yet even after years of work, I have a much deeper understanding of programming and math and how games work. I would say its been worth it for the learning experience. But if my goal was to simply make a game, I might consider using something like Godot or Unity instead... Now I am trying to contort my mess of an engine into something actually playable.
The things you learned will likely always be helpful no matter what tool you are using. Even the big engines can only do so much for you, having that deeper knowledge will come in handy.
Nice video, thanks. I think a positive thing for LibGDX is that it has lot of active and useful libraries and very easy to create new library for LibGDX world.
To add to what James and others have already said - for me, LibGDX was a nice middle ground between using a more complete engine like Unity or JMonkey, as a opposed to just using an api like OpenGL or Vulkan. For simple games, I think it's fine as it is. If you take some time to brush up on some fundamental mathematical concepts for computer graphics, mess around with LWJGL, learn about the graphics pipeline, and THEN start LibGDX, I think you will get more out of LibGDX. This comment was just based on my own experience. Everybody is different 🙂
I use libgdx for learning purposes. At first I tried unity, and my progress is getting slower and slower because I relied too much on drag and drop. If I didn't find an engine generated code that I need, I stop the project and delete everything. I'm new in game development so using engine will only make my learning progress slow. When I tried libgdx, it gives me more insight and knowledge about how to use a scene graph and calculate everything behind the scenes. Maybe in the future, if I fully understand everything, that would be the time I'll use an engine.
that is actually an interesting point. Full engine like Unity or Godot should make you faster with your project... At least it makes me faster, helps cutting corners. But I agree that using frameworks helps you to understand much more about gamedev and how everything works behind the scenes.
@@Simon-ik1kb im new in game dev and even in programming so everytime I use the unity and start a project. I just upload my assets and arrange in the scenes and then grab some generated code. If i want to implement my own code I will just stuck and then clicking all menus if I can find something. No learning at all. So I decided to create from scratch. It's giving me more knowledge. I'll be back in unity if I fully understand everything. For now I'll stick to libgdx
@@nocturnal1234 did you tried any other framework? If you are very new, I would recommend trying Lua and Love2d. That little framework is awesome. I think of all the frameworks I tried I made the most progress on the game I was making with it. But Lua and Love2d should click for you. Otherwise if Libgdx works for you and you are having a good time, then stick to it.
The good news is, most core concepts you learn will transfer over from engine to engine. When I use Unity, a lot of the concepts I learn using libGDX transfer over and allow me to do more advanced things under the hood in Unity that I would not have learned otherwise.
@@jamestkhanthat's one of the reasons why I chose libgdx. When I first stumbled on libgdx, it was literally the same as unity, the difference is libgdx has no ui editor so I only need to understand about classes and use those classes to build from scratch . When I was in unity, I create project and then delete, it's a neverending cycle because I keep repeating the same mistake again and again . I pull some codes in the editor like keyboard and mouse listener for input handling, I know it works but I don't know why it works. When I used libgdx, I learned and kept on learning from the very basics of functionality of game dev. I am now comfortable with libgdx and I'll use libgdx as long as the features I need can be found on libgdx.
Just jumped the Libgdx ship for Godot. Version 4.0+ is phenomenal. Very lightweight and you can quickly prototype withiut having to fiddle around with creating everything from scratch! Loved libgdx but not very practical now that its very outdated.
I would say this was fair and honest assessment of Libgdx. I was wondering whether you would compare Libgdx vs MonoGame since I know loads about Java/LibGdx and #C but nothing about MonoGame and I hear it supports consoles. Or on another track, to discuss how to get a LibGdx game to run on iOS and to take payments.
Didn't forget it, just hasn't been a major issue in my experience and there are ways to mitigate it. Unity and Godot C# use Garbage Collectors and they're doing fine.
@@jamestkhan Unity and Godot are C++. They use GC only for scripting (Mono backend), so it can't notably interfere with game execution. This is different with libGDX, which is written in Java with some JNI calls for rendering and stuff, so the GC is ubiquitous by design. That's why 3D games created with libGDX or JME are either lo-res or slow. LOL
@@NoSpeechForTheDumb Uh no. Mismanaging memory within scripts absolutely can interfere with game execution lol. Unity has an entire page dedicated to managing it properly to avoid GC spikes. I think I'll trust Unity documentation over your word. Here ya go docs.unity3d.com/Manual/performance-garbage-collection-best-practices.html
It is apparent you don't know much about the libGDX framework. The reason 3D games in libGDX look basic most of the time has absolutely nothing to do with Java at all. libGDX doesn't have tons of sponsorships or contributors or full time staff, and it's not a full fledged engine so it lacks many advanced rendering features which the big engines have. That means you have to write any advanced rendering yourself, which most people are not going to do because it requires a lot of work and knowledge.
@@jamestkhan of course you can mess up things from a script as well, but it's much more "difficult" when most performance-critical objects are managed in an efficient way by the underlying engine (RAII+RefCounting).
Anybody here, after unity announces new pricing model which charges per game install
yes me😂
Jop. Was using libgdx years ago and now since unity did this.. I want to check if I should go back to libgdx 😅
I am immediately sold. I'm in game development specifically because I like building algorithms from scratch, so most of your reasons why not make me want to use it more
I don’t have any experience with the other game engines you have mentioned. I do have 5 plus years with libgdx. I’ve grown tremendously as a programmer using that game engine. Libgdx doesn’t hold your hand so you will at some point start learning low level things. Networking, 3D graphics, user interface, and even things like ECS. I now have a much deeper and intuitive understanding of more advanced programming topics because libgdx pushes you in those directions. I don’t think a game engine like unity or others would make you do those things. I doubt I’d know as many advanced topics as I do now if I went with another engine.
And this is - from my point of view - the single greatest reason to stick with any given tool.
LOL if your goal is to learn low level stuff why don't you just go low level with C++ and Assembler? Why do you use a framework which makes things easier, but only a little bit so you don't really learn low level and don't get a game done either? It makes no sense whatsoever. IMO you just desperately stick to a wrong decision of the past. LOL
@@NoSpeechForTheDumb I've written code in both C++ and MIPS assembly (for PS2). The framework does give you something to build on. No need to learn everything. But it is a good way to learn some things. If I want to just focus on making a game I'd use unity. That's ez mode.
When it comes to career opportunities, seems like there is exactly zero LibGDX jobs unfortunately.
Good to know! I want to learn how to code using games as exercises.
This video has one of those titles that scares me... but it also proves why the LibGDX community feels like my long lost family. And makes me feel better about working with it! GDX is very familiar coming from a Minecraft modding background. My only frustration with it is Gradle hasn't grown on me, and I'm not sure it will, though that'd be nice cause I'm really enjoying this framework. Feels like the logical evolution of LWJGL. Hope to see it thrive moving forward!
"so here's the million dollar question" sir, I'm gonna need that amazing quote in MP3 format for.... reasons lol
Another great video mate!
Very good Video. I thought hard about one month to choose game engine or library. I alreay know about libgdx , unity , and unreal. my favorate language is Kotlin ( Because of my Job is Android developer ). Finally, after watch this video, I choosen Unreal ( libGDX also great library ).
Great video! Very accurate. I would like to add that libGDX games have been ported to consoles in the past, though it takes some real know-how and wizardry to accomplish that with the current state of things
How much does Monogame differ...? (Aside from C#)
love this video. Some years ago tried libgdx and it was quite fun. But it was like 5 years ago... Still thinking about getting back to it from time to time. I suck at coding, so that is the main reason keeping me away. Currently working on a project in Godot. Main reason I chose Godot, because of the UI. Making UI in code for me is a nightmare. And my project is heavy UI based, and Godot UI system for some reason clicks for me.
I also always had trouble creating UI in LibGDX, but that didn't stop me from using it. On the contrary, it encouraged me to create a UI from scratch using LibGDX's libraries. It's not something professional, but at least I can use it since I built it from the scratch. I use LibGDX becouse has GreatPerformance for Mobile, and in Game Engine I dont has the Performance and the Full Controll of i wanna make
UI, that is a really good point. I stink at making UI in code. I am not good with UI in the first place, but I do find it more intuitive when using a visual editor.
@@if_desu good point... Maybe I just need to stop being a pu*sy and try again to build what I want in code...
@@jamestkhan I would also like to get back to libgdx just for Java. I know a lot of people hate Java and I know a lot of those people personally :) But for some reason I really like the fact that it is not trendy like for example Rust or Python.
@@if_desu yay bro you there
Hi Maaaan! Please post new great educational videos about libGDX and what lies behind (shaders, engine guts, etc).
Once upon a time I set out to make a game, but accidentally found myself making an engine. Started off in game maker then wanted more control. Started to make my own engine from scratch but after reinventing some wheels only to be overwhelmed. Then I switched to libGDX. It's still very slow process and while I don't yet have much of complete game yet even after years of work, I have a much deeper understanding of programming and math and how games work. I would say its been worth it for the learning experience. But if my goal was to simply make a game, I might consider using something like Godot or Unity instead... Now I am trying to contort my mess of an engine into something actually playable.
The things you learned will likely always be helpful no matter what tool you are using. Even the big engines can only do so much for you, having that deeper knowledge will come in handy.
got my snacks and ready for another great video! :D
Nice video, thanks. I think a positive thing for LibGDX is that it has lot of active and useful libraries and very easy to create new library for LibGDX world.
To add to what James and others have already said - for me, LibGDX was a nice middle ground between using a more complete engine like Unity or JMonkey, as a opposed to just using an api like OpenGL or Vulkan. For simple games, I think it's fine as it is.
If you take some time to brush up on some fundamental mathematical concepts for computer graphics, mess around with LWJGL, learn about the graphics pipeline, and THEN start LibGDX, I think you will get more out of LibGDX.
This comment was just based on my own experience. Everybody is different 🙂
Where did you learn libgdx?
I use libgdx for learning purposes. At first I tried unity, and my progress is getting slower and slower because I relied too much on drag and drop. If I didn't find an engine generated code that I need, I stop the project and delete everything. I'm new in game development so using engine will only make my learning progress slow. When I tried libgdx, it gives me more insight and knowledge about how to use a scene graph and calculate everything behind the scenes. Maybe in the future, if I fully understand everything, that would be the time I'll use an engine.
that is actually an interesting point. Full engine like Unity or Godot should make you faster with your project... At least it makes me faster, helps cutting corners. But I agree that using frameworks helps you to understand much more about gamedev and how everything works behind the scenes.
@@Simon-ik1kb im new in game dev and even in programming so everytime I use the unity and start a project. I just upload my assets and arrange in the scenes and then grab some generated code. If i want to implement my own code I will just stuck and then clicking all menus if I can find something. No learning at all. So I decided to create from scratch. It's giving me more knowledge. I'll be back in unity if I fully understand everything. For now I'll stick to libgdx
@@nocturnal1234 did you tried any other framework? If you are very new, I would recommend trying Lua and Love2d. That little framework is awesome. I think of all the frameworks I tried I made the most progress on the game I was making with it. But Lua and Love2d should click for you. Otherwise if Libgdx works for you and you are having a good time, then stick to it.
The good news is, most core concepts you learn will transfer over from engine to engine. When I use Unity, a lot of the concepts I learn using libGDX transfer over and allow me to do more advanced things under the hood in Unity that I would not have learned otherwise.
@@jamestkhanthat's one of the reasons why I chose libgdx. When I first stumbled on libgdx, it was literally the same as unity, the difference is libgdx has no ui editor so I only need to understand about classes and use those classes to build from scratch . When I was in unity, I create project and then delete, it's a neverending cycle because I keep repeating the same mistake again and again . I pull some codes in the editor like keyboard and mouse listener for input handling, I know it works but I don't know why it works. When I used libgdx, I learned and kept on learning from the very basics of functionality of game dev. I am now comfortable with libgdx and I'll use libgdx as long as the features I need can be found on libgdx.
There are few tutorial channels for libgdx and this channel is one of them
Just jumped the Libgdx ship for Godot. Version 4.0+ is phenomenal. Very lightweight and you can quickly prototype withiut having to fiddle around with creating everything from scratch! Loved libgdx but not very practical now that its very outdated.
I would say this was fair and honest assessment of Libgdx.
I was wondering whether you would compare Libgdx vs MonoGame since I know loads about Java/LibGdx and #C but nothing about MonoGame and I hear it supports consoles.
Or on another track, to discuss how to get a LibGdx game to run on iOS and to take payments.
I was never able to use Maven, so I'll use something I am comfortable with. I have nothing against Java.
The answer to every question
it depends
i get used with libgdx, and dont plan to move
Did you move or not?
Are you indian? Cause your name including khan on your last nickname
I am not. My name is a reference to Star Trek. Two characters, James T. Kirk combined with Khan Noonien Singh.
You forgot the nr. 1 reason for not using libGDX or Java in Gaming: Garbage Collector LOL
Didn't forget it, just hasn't been a major issue in my experience and there are ways to mitigate it. Unity and Godot C# use Garbage Collectors and they're doing fine.
@@jamestkhan Unity and Godot are C++. They use GC only for scripting (Mono backend), so it can't notably interfere with game execution. This is different with libGDX, which is written in Java with some JNI calls for rendering and stuff, so the GC is ubiquitous by design. That's why 3D games created with libGDX or JME are either lo-res or slow. LOL
@@NoSpeechForTheDumb Uh no.
Mismanaging memory within scripts absolutely can interfere with game execution lol. Unity has an entire page dedicated to managing it properly to avoid GC spikes. I think I'll trust Unity documentation over your word. Here ya go
docs.unity3d.com/Manual/performance-garbage-collection-best-practices.html
It is apparent you don't know much about the libGDX framework. The reason 3D games in libGDX look basic most of the time has absolutely nothing to do with Java at all.
libGDX doesn't have tons of sponsorships or contributors or full time staff, and it's not a full fledged engine so it lacks many advanced rendering features which the big engines have. That means you have to write any advanced rendering yourself, which most people are not going to do because it requires a lot of work and knowledge.
@@jamestkhan of course you can mess up things from a script as well, but it's much more "difficult" when most performance-critical objects are managed in an efficient way by the underlying engine (RAII+RefCounting).
remember when unity was cool? like a week ago!
thanks capitalism
I only have experience in pygame and I found libgdx to be an excellent choice, its also much better with performance
My top two choices is LibGDX and Godot. in no particular order.