Choosing the right game engine has a great impact on your productivity as a game developer .In these days you’ll find a plethora of either free or paid game engines for 2D and 3D game development .You can’t just say that game engine X is better that game engine Y because each one of them has been created with a goal and target audience in developer’s mind or to solve a problem which the engine’s developer finds during his game development journey but that’s really relative ,even problems at some level.What you may consider as a problem may not be for another developer or at least the other developer has found a way to go around it .
Anyway the sole purpose of this introduction is to tell that you should consider an engine that has features that you need or that will help your to be more productive and not an engine which may be considered the best engine by a group of developers because it may not be the right tool for you depending on many criteria such as
The programming language .
The learning curve .
Your game development experience .
In this post i’m going to show you a comparison between two great games engines in order to help you choose the right one for you if you are about to start building your game .
First of all,both game engines can be used to make 2D games .
Let’s start with Godot which are the strongest pros of this game engine
Godot is a free and open source game engine so you don’t have to buy a license either to use the engine or when selling your games built using Godot .
Godot is licensed under MIT a very permissive open source license .
You can use Windows ,Linux and MAC systems for developing your games without any problems or restrictions so you don’t have to change your prefered or long time used operating system just for the sake of using this particular engine .
You can write your game code once and deploy everywhere from Desktop systems such as Windows ,Linux and MAC to mobile systems such as Android and iOS to the web platform ,HTML5 .
If you are a C++ programmer ,you can use Godot engine with the most popular and powerful programming language of game development .If not you can use an easy to learn ,Python inspired language or more precisely or stripped down version of Python called GDScript .
Godot also offers developers a built in and modern code editor with syntax highlighting and code completion alongside with a builtin debugger for debugging your game by setting breakpoints while the game is running .
Godot has a complete and fully fledged game development IDE starting with a graph scene editor .code editor and animation editor . So you can built every aspect of your game using one IDE ,no need for using multiple editors or IDEs for each game development task .
Godot has also its built in Physics engine for adding static rigid and dynamic bodies ,collision detection and anything related to game physics .
Starting from Godot 2.1 version the 2d side of Godot has been improved to compare with powerful and dedicated 2D games engines that exists in these days .
Godot has an easy to use UI with internalization support ,drag and drop support .It’s like a free open source version of Unity game engine .
It has a small size .You can quickly download a packed and portable executable file and start developing your game .When you finish you need then to download export templates for your target platform .
Godot cons or problems
Godot is a relatively new engine so you’ll find incomplete documentation but as of this writing’s time many resources to learn the engine appear such as free online tutorials and YouTube channels dedicated to Godot .So it’s only a matter of time ,especially that the game engine has a great community around it .
So there are some important strong features of Godot .If that’s what you are looking for then just go for Godot .It’s that simple ,no complicated choices or waste of your time .If Godot meets your requirements and skills then download it and start bringing your game idea into life .
Now let's talk about LibGDX .
LibGDX is another popular dedicated and very powerful 2D game engine .It’s open source and free to use ,licensed under Apache .
LibGDX uses Java programming language instead of C++ or its own scripting language .Java is a very powerful and relatively (compared to C++ ) to learn OOP language .If you are a Java developer and want to start game programming then LibGDX is a really good choice for you .Since you don’t have to learn another programming language just for the sake of using a new game engine .
A point where LibGDX prevails against Godot are learning resources .LibGDX has a lot of great free online resources and code samples to use and learn from .
Unlike Godot ,LibGDX game engine has not an easy to use or dedicated game development IDE so it can be intimidated to start with ,particularly if you don’t have a previous experience in game development .
LibGDX has a great and old community of developers and also a very active official forum .
You can use any JVM language to build games using LibGDX .
So the important things to remember about LibGDX are ,it’s free and open source so you don’t have to pay anything either to build or to sell your game ,all the revenue from the games is completely yours .It has a good documentation and a lot of learning resources and also a very helpful community . It uses Java or any JVM language so if you do know these languages then it’s may be the right choice for if you want to start developing games BUT know this it’s relatively hard to use than Godot .
So as I’ve said before ,a game engine has a very important influence on your game development experience and your productivity but don’t over think about the right choice just try to align that with your previous experience and your already used programming language .Don’t just learn a new language for the sake of using a game engine unless it’s absolutely necessary and you have no other option .Also if you are a hard or self learner don’t mind to adopt a game engine like Godot ,just because online tutorials are not widely available .On the contrary if you can’t go with an engine without a lot of tutorials and guides then an engine with great documentation and available online tutorials can be what you need to look for .