Alex: Hello friends,
Today we have a very special guest and one of the first people that I connected with on Substack.
, creator of . He has been talking about learning, productivity, having a work-life-passion balance, and finally game development since 2021 and we’ve been talking about doing something together for quite some time now. Check it out!But today
wanted to share with you his experience and some practical advice on how to choose a game engine! Enjoy!
Let’s talk basics
Choosing a game engine is a big challenge! Not only do you need to pick something good enough for you, but you also want to pick something good for the long term (it's a big investment of your remaining free time!).
Even if you make your first choice, you might change your mind once a shinier engine catches your eye. Happens to me every season.
Choosing a game engine isn't necessarily a choice you want to make based on "Top Ten Game Engines of July 2024" and the lines. You can of course, but there is a risk that you might doubt your choice after watching August's Top Ten.
I would like to share with you some criteria, I use myself when analyzing game engines I encounter. You might say that they're obvious, but I would still encourage you to turn them into a checklist!
1) Programming Languages
Do you know any programming languages? If you do, I would start by checking existing options that support it. You will save a lot of time with that choice. Don't sweat about being it too niche. Balatro was written entirely in Love, and Minecraft was built with Java. None of those choices stopped those games from becoming successful.
But what if you don't know any programming languages? Well, you will have to learn one. If you think that by choosing Unreal Engine's Blueprint or any other Nocode solution you won't have to learn programming - think again. The benefit of Nocade is that you won't have to write code, you will still have to get familiar with some terms and keywords that programmers use anyway.
So when deciding on a programming language you might pick an old solution (C++), a supposedly readable industry favorite (C#), or anything Python resembling (like Godot's GDScript).
2) Engine vs framework
Among game engines, you sometimes learn about frameworks (Mano Game, Love, etc.) that are not exactly the same as engines.
To keep it short engines are made with a complete toolset in mind. Tilemap managers, graphical solutions like sprite rendering, audio, and so on... All this to save you time!
Frameworks give you the freedom responsibility of actually assembling all this by yourself. And coding the rest. What feature do you need? If it's not in the tool you picked, you will have to code it yourself.
When to pick a framework? Not when you don't feel comfortable with programming languages, details of how the game engine works, etc. It is as satisfying as it is time-consuming
3) Cost
What are the costs of your engine? Is it free like Godot? Does it require a one-time payment once you want to make money for your games like Game Maker? Does it want frequent subscription fees? Does it want a percentage of what you earn once you reach stardom like Unreal? Or does it want a fee every time someone installs your game like Unity?
Costs aren't a bad thing. But you need to reflect on the relation between how much and how often. And the question is whether it can change.
If you can afford it - o for it. Unless it's Unity. Seriously, fuck Unity!
4) Open Source
People tend to think that if an engine is open source it's the perfect solution. And they're not wrong.
But is it perfect for you?
You can change it whenever you want, assuming you feel comfortable with the engine's code and the language it is written in.
If you don't - check how big and active is the engine's community. You might need them if you are stuck.
5) Should you make your own engine?
No If you still do - pick a framework. But you're in for a lot of work. Imagine you're in a situation - you can either make an engine or you can make games. What is your choice?
6) How far can you get with this choice?
If you want to start with 2D you might be tempted to go 3D at some point. Sometimes you can do both in one engine. Other times you have to switch the engine.
Then there's the case of going multi-platform: how easy will it be for other consoles? If you want to do it by yourself, that is.
Suggestions
These are the criteria I would use. You might wonder what I would pick.
Right now I would use Godot. My main conclusions for using it are:
It's free to use.
Has a big community which I can ask in case of any problems
It's not a framework so I won't have to program everything.
It can do both 2D and 3D
I have to admit that I do suffer from the shiny object syndrome.
First I wanted to switch to Monogame, but that ended when I dove deeper into how much it takes to make a game in a framework. The same thoughts arose when I learned about Love.
The only shiny alternative now is all about Blueprint in Unreal Engine. Especially when you learn that Gavin Eisenbeisz made an epic game entirely this way. Inspiring people have this way of inspiring the shiny object syndrome.
I hope this helps you.
Good luck!
If you feel like supporting me and my work, consider Powering-Up GameDev Relay 🎮
Have a great week!
Alex from Gamedev Relay and
from
Any suggestions for a beginner learning python? I know someone who is and I'd like to nudge them towards some basic game development.