Considering game engines
Over the years I have seen a huge explosion in the number of indie games in the wild. While many of them are metroidvanias, or concepts that previously would be flash games, there has been quite a few which interesting and original gameplay. I feel a to of the reason why game genres exist is due to the tools used to create said games. One of the reasons why there were many first person shooters created back in the day was because many of those games were made using the id Tech or unreal engines. These days there a lot of game engines to choose from, each with tried and tested tools to meet the needs of any developer or genre. Still the tool you choose most likely would determine the type of game you make.
According to Zenva's gamedevacademy, the top 4 game engines on the market as of September 2024 are Unreal, Unity, Godot and GameMaker. Each engine is readily available and free to use, with almost all my games make with GameMaker in particular. Still, each has strengths and weaknesses that should be considered when choosing one over the other. From my observations these include:
- Unity: The number 1 game engine used by almost all indie devs. Free to use (up to a point), it comes with very good tools for 2D and 3D game development, making it a fine choice for making games with reasonable complexity. It also supports coding in C# and has export modules for many almost all platforms. The down side I have with it is that while it is free to use, it is not an open platform meaning you would have to share revenue with the owners of Unity. Also, there was controversy earlier this year regarding the company wishing to retroactively charge for game installs. This greedy move caused a lot of studios to abandon the engine in favor of rival tools. This fee has been reversed, but the damage was done.
- Unreal: This tech as to be the most advanced game engine currently on the market. Used to power many of the most popular AAA games, it has very powerful 3D features. The engine has really advanced over the years and is even used in film production and even has backed in 3D animation tools. While not free to use past a certain revenue threshold, Unreal is a tried and tested 3D suite that has proven to be worth the money to a lot of developers. Even Microsoft would be using it to make the next instalments to the Halo series. The only downside I can think of is that it lacks good 2D features as it was designed to serve 3D. Still if you want 2D, there are other dedicated tools for that.
- GameMaker: Created by Mark Overmars in 1999, this easy to use tool has grown and evolved into a leader in the 2D game dev space. GameMaker can serve as a good introduction to game development as it comes with it's own scripting language and level editor. It lacks 3D tools, but is awesome for 2D game development, especially platformers and can export to most platforms for free. A major catch is the fact that it's tools are a bit lacking as you can't install plugins in it's IDE, limiting what you can do with the tool.
- Godot: One of the newer engines on this list, this open source game engine has excellent 2D and 3D features. Due to it's open source nature, Godot allows for the highest level of customization as it has a powerful plugin system allowing devs to use it however they like. You can code in C#, it's own python-like language called GDscript, or even install extensions written in any compiled language. While this is the least used engine on this list, it's popularity is rapidly growing so keep an eye on this tool.
As mentioned, the tool you use would determine the type of game you make. Unity has a large store, meaning that you can find a lot of assets to use. But it also has led to a flood in low quality/low effort asset-flip games. Unreal caters to the high end space and can be expensive. Game maker is great for making platformers, lacks tooling that would make development more flexible. This leaves Godot, a great game engine that lacks mature feature support. I am not writing this to discourage from choosing one engine over another, but to give an idea as to what to expect when choosing a tool. It is ultimately up to the skill of the dev to create a great game using the tools chosen.