During my teenage years, my friends and I were fond of a program called RPG Maker, which was popular at the time. We used it to create a lot of amateur content just for fun. However, I never thought of it as “making games” since most of the functionality was already provided - a map editor, characters that could easily respond to arrow keys, and so on. At the time, I believed that making a game required writing code entirely from scratch. It turns out I was horribly mistaken.

A colleague of mine introduced me to the game engine Unity during one of his talks. It reminded me a lot of RPG Maker, but with more options and knowledge required. It’s a program that already does a lot for you and allows you to create games with a lot of functionality and assets. During the talk, he even created an impressive skeleton of a first-person shooter in just an hour while introducing the audience to the basics. I was blown away and thought that Unity is the best game engine out there, and I had to learn it. So when I decided to create my own game, Unity was the only option that came to my mind, and I didn’t bother to do any research.

However, another colleague of mine, sschellhoff, asked me about a few specifications of the game I had in mind and suggested using Godot instead of Unity. I had never heard of Godot before, and this experience taught me how crucial it is to do at least a little bit of research before starting to work with an engine.

So I literally did a little research. I watched a youtube video, where Emeral recreated the same game in 8 different engines:

I think he did a great job by creating an entertaining video with the main differences condensed in clear, understandable points. So I recommend watching it, if you are interested in all the engines. For the sake of my project, I will focus on why Godot came out as winner.

While Unity and Unreal are known to be the most powerful general-purpose game engines, they have a steep learning curve and provide advanced features for physics, graphics, and 3D. As I do not need those advanced features for my game idea, I have ruled them out. Although Construct3 and Game Maker are popular choices for beginners to create 2D games, their subscription model does not appeal to me. RPG Maker, shockingly, is aimed mainly at creating RPG games, and it can only be partially modified to develop other genres. Scratch is an educational tool designed for children, and while it is surprisingly versatile, it is still a limited no-code engine.

So, the remaining options are GDevelop and Godot. Both engines are suitable for creating 2D games from scratch with great customization options, and they are both open-source (MIT License) and freeware. GDevelop is based on HTML5 and JavaScript, which can sometimes limit its performance. Godot, on the other hand, is more mature with a bigger community and reasonable capabilities to create 3D games. Although both engines are similar for my current needs, I believe that Godot is the more powerful option in the long run.

And that’s why I choose you, Godot!