When you want to make a game, one of the first things that you’ll need to consider is whether or not you want to use a game engine for it, and then if you do, which game engine you actually want to use.
It’s quite easy to spend an excessive amount of time worrying about which engine you’re going to use, and comparing them all down to the last little detail. But at the end of the day the engine isn’t going to make the game - you are. This is something you should keep in mind.
Everybody has their own opinions on which game engine is best for them, and that’s absoloutely fine. You should always go for the choice that best suits you and your use case. However, in this article I’m going to give a brief overview of my prefered engines to work with. Over the last few years, I have made games using Unity, Godot and Unreal Engine and I have learnt a fair amount about each of these engines, although I would not call myself an expert user in any of them.
My preferred software for making games
Personally, I decided to stop using Unity because it doesn’t really suit my work style, and because I found that there was a fair amount of inconsistency in terms of features and design. (I do believe that recent updates may have remedied this). Unity uses a C# programming interface to allow you to write your game logic and it has an extensive API which gives you quite a bit of control over your game.
🆚 Unreal vs Godot
My personal favourite game engines are Godot and Unreal Engine. Both of these are open-source (arguably Unreal Engine slightly less so as you need to sign an agreement before accessing the source) and have an intuitive workflow that fits nicely with my preferences. The TLDR of which one I use is Godot works very well for 2D and Unreal does a great job in 3D, although they can both be used for either.
⛩️ Unreal Engine
Unreal has a very powerful 3D real-time system which lets you make some stunning 3D games with minimal effort, especially when you opt to use Blueprint visual scripting over writing the entire game in C++ (which is definitely an option). Unreal Engine has only really got 2 downsides in my opinion, and those are:
- Performance. Unreal isn’t really designed with lower end machines in mind. It is perfectly possible to optimise your game for low end devices, but even the editor struggles to run on them.
- 2D is lacking. Unreal really isn’t designed to create 2D games, and whilst it is definitely possible I would not recommend it for any larger or long-term projects.
On the other hand, the particular pros of using Unreal engine are:
- Free and unlimited access to the Quixel Megascans library (check it out)
- Blueprint scripting (docs)
- Source code access, with modification allowed
- Unreal Engine 5 (experimental) features. Namely Lumen and Nanite. (demo video)
- Monthly free marketplace content and permanently free collection. (marketplace)
All in all, these features allow Unreal Engine to provide an unrivalled experience in the 3D games space, and they definitely make Unreal Engine a great choice for your next game.
🌄 Godot Engine
Godot is an amazing open game engine that is currently gaining an increasing amount of traction within the game development community. It features a node-based system, scene nesting, an integrated IDE and dedicated 2D and 3D engines (no more making a 2D game that still handles Vector3 coordinates!). Some cons of using Godot are:
- Completely built and funded by the community. It may be unstable or stop being maintained as there is no corporation as such behind the development of Godot. It’s all down to the community using it to fund and develop the engine.
- Lacking a “good” marketplace. There is an official marketplace, which can be accessed directly in-engine, called AssetLib. This is quite limited in terms of content and doesn’t support premium assets, although Juan Linietsky (Godot co-founder) says they’re working on changing this here:
However, on the flip side of this you’ve got:
- Anyone can modify anything, and everything is completely free. The whole engine is available under the MIT license.
- Community funding and development means that the community controls the future of the engine (see Godot proposals viewer) and has final control over updates - not much in the way of corporate interference.
- GDScript is a very smooth, dedicated and python-like language for designing game logic. It has a built-in IDE and works very well with Godot. (There are many supported languages, including C# and C++ as well as (unofficially) Rust, Cython and many more).
- Godot is very well documented and has tutorials available directly on the documentation.
- Both the builds Godot produces and the editor are incredibly light-weight, will run on most operating systems and hardware and are very optimised by default. The editor download is only 30MB and doesn’t have to be installed.
👶 Getting Started
Once you make a choice, you can quite quickly get started with working on your game and can find out if the chosen engine is right for you. I encourage you to keep an open-mind, go for the engine that works best for you (even if it isn’t listed here - there are plenty of other great options out there) and start small.
Regardless of which engine you’ve decided to use, here are some awesome resources you should totally check out:
itch.io - Very large library of assets, lots are free or reasonably priced
kenney.nl - Huge library of free assets
Blender - Free and open-source modelling for your game plus lots of other features
Krita - Free and open-source art tool for 2D art, with Vector support.
MasterPlan - Open-source planning tool, great for solo planning
Codecks - Online planning tool, great for community involvement and integrations
Aseprite - Open-source pixel art tool
Unreal Engine specific resources:
Unreal Marketplace (look through free content!)
Godot Engine specific resources:
Anyway, I hope something here helped you in some way or another, and if there’s anything you’d like to add, suggest or ask then just drop a comment below or contact me via the form on the front page.