Choosing the right game engine is crucial when it comes to developing your own game; especially as a solo or indie developer. Each decision you make will have a critical affect to the long term choices you can make and the final outcome.
The game engine will not only determine what features are possible but will also impact you financially. Unity's change in their runtime fee going forward in 2024 is a great example of that.
In this article, I will go over the most relevant and useful game engines that you should consider.
01. Unity
Unity is undoubtedly one of the most popular and widely-used game engines in the industry.
It has gained a reputation for its versatility, allowing developers to create both 2D and 3D games for various platforms, including PC, consoles, mobile devices, and even virtual reality.
Unity offers a user-friendly interface, a robust set of tools, and a vast library of assets and plugins to enhance your game development process.
A fantastic advantage with using Unity is the sheer number of game developers, indie, corporations alike that have been using it for years. If you have a problem that needs to be solved, put it into the form of a question and you are almost guaranteed to find someone on Stack Overflow or on a blog somewhere who has had that specific issue written about how to solve it.
Unity's documentation is pretty good but it could be a lot better.
02. Unreal Engine
Unreal is an absolutely great choice for a game engine. Developed by Epic Games, it has become a reliable game engine for mid sized games companies and AAA development but do not let that fool you. It is just as good an option for an indie game developer or solo dev.
Tim Sweeny (The CEO of Epic) and his antics aside; Unreal is a solid choice. Unfortunately its not as good as Unity in terms of the sheer number of resources when searching the internet for random problems that you will have when developing your game.
What it does have Unity does not have is "Blueprints"; It is by far one of Unreals stand out features. If you are a solo developer that is happy to use GUI/UI interfaces instead of writing code then I cannot stress how great making a game completely using Unreal's Blueprint system is.
The Blueprint system in Unreal gets an unfair reputation, mostly from programmers who do not want to touch UI/GUI interfaces in favor of just writing their own code. I must admit I am one of these individuals.
The usual bells and whistles such as cross platform support, micro transactions and Android/IOS features are all in Unreal just as they are present in Unity so overall you cannot go wrong when choosing Unity or Unreal over one another.
03. Godot
Are you broke? Have zero trust in companies changing their terms without warning?
Well fear not, filling the spot that cocos2d used to fill, Godot has entered the realm of game development and has offered itself up as the go to open-source game engine for indie developers and solo developers.
Godot does have its own scripting language which I am told is pretty good once you get used to it. The learning curve is not too steep.
One of the standout features of Godot is that its easy to use; even more so than Unity in fact. The game engine's design is pretty intuitive and you can get a Flappy Birds clone up and running within an hour with little to no game experience.
The open source nature of Godot gives me mixed feelings personally. As an experienced indie game developer that has worked for corporations and has seen hundreds of game engines come and go, I do not see Godot as being open source as the hail mary quality that it is.
Choosing Godot is not bad at all and in fact, if it's your first ever game, I am happy to recommend it especially over Unreal. Your biggest hurdle as a solo dev is finishing your game in the first place, not your choice of game engine.
An honourable mention, GameMaker Studio 2
GameMaker Studio 2, developed by YoYo Games, is a popular choice for developers who want to create 2D games without diving into complex programming.
The popularity of GameMaker Studio 2 is not unjustified, even as an experienced developer. In the past I used gamemaker quite a lot to do prototyping for projects we would later implement using Unreal or Unity.
Gamemaker just work and when you are iterating through ideas that is exactly what you want. It has a great drag-and-drop interface and the scripting language is perfectly suited to getting the job done.
These things combined has created a solid following of game makers who enjoy putting their ideas out there into the universe using gamemaker.