The past few months have been a ride for gamedev. Unity announcing crazy stuff about fees, Godot becoming more known to the world, Unreal 5 looking amazing… Leaving a ton of hobbyist wondering what is the best choice, if a “best” engine even exists.
Will it be a good choice for long term? Short term? Can I trust the people behind it? Will I like the workflow? Will it be able to handle my game? Is there enough plugins available? That’s a lot of questions and they seem legit, it means you care about your tools which is great.
Let me share my thoughts about choosing a game engine!
Don’t get attached to software
Software is forever changing. It comes and go. Sometimes companies do stupid things and disappear as fast as they appeared. It can be scary to choose a game engine because of this. However, I have good news for you. Your skills as a programmer and gamedev are in your control, not in the control of crazy executives. Hone your skills, work on your fundamentals. It will not solve every problems but it will help you through the tough times.
I see too many young gamedevs focusing too much on third party assets. I know, assets are cool and can save a lot of time, but relying on them can hold you back sometimes. I’m not advocating on reinventing the wheel, but there’s a balance to find. Using assets is a risk, making your own is a risk too, but it will bring a vast amount of knowledge to you, thus making you a far more confident developer. The day you will need to jump out of a sinking ship and switch engine, it will only be a matter of time to make your tool work with a new engine: you’re not relying on some random person on the internet to create the assets for you.
Try different engines and workflows
At the end of the day, everything comes down to your personal taste. Some will tell you they love working with Unity, some prefer Unreal, and some are crazy enough to build their own engine. None of these choices are stupid. Some people prefer the code driven style of using a framework like FNA (the new XNA) or cocos2d. Some people like to be able to use blueprints with unreal (even though they come with their own limitations). Some people like Unity because it’s so versatile.
Every engine has its strengths and weaknesses, do some extensive research, and try different things. After all, you can try almost every engine for free. Use it for a game jam or a little pet project!
Choosing the right tool for the right job
Many things will drive your engine choice: personal taste, the kind of game you’re making, the skills in your team, among other things.
You’re making a 2d platformer and your main programmer has some experience with game maker? Then go for it, if it matches your project. Don’t get stuck with “the big names”, at the end of the day, many successful games made with unity could have been made with game maker, it’s about your skills as a game developer, not the engine. Using the right engine for you will make your life easier, sure, but that’s about it (even if “it” can actually be “a lot”).
Also, there’s a good chance any engine is “powerful” enough to make the game you want (or are able to do). The day you will be able to make a game so special that engine optimization is an issue, you will know the right answers to the question “can X engine handle my game?”
Choose the right tool for you, even if it’s not “hype”.
Stick to it no matter what
The golden rule: never upgrade your engine version during development. That’s also why you should choose your engine carefully, and maybe sometimes you will want to use an earlier but more stable version of an engine.
However, I think it’s ok to change engine between projects. You are not married to your engine, it’s just a tool. If you have a clear production pipeline and good programming/gamedev fundamentals, you will be able to adapt to a new engine that may be a better fit for your game. Or you might have no choice because a company decides to price their engine way too expensive at some point in time.
If you’re at ease with engines in general, making the jump to another engine will make you sad but after some time you will be proficient too, and faster than with the precedent engine.
Conclusion
I’ve had these thoughts in my head since the Unity drama, so I had to write them down, and I hope my view on game development will help you.
TLDR: Game engines are tools. Treat them as such. Focus on your skills.