Almost everyone plays video games at this point, in some form or another. Whether you’re a “hardcore” gamer who has put eleven thousand hours into online casino South Africa or a “casual” gamer who opens Crossy Roads once in a while, video games are everywhere and for everyone. And it’s very likely that you have dreamt about making and designing video games yourself- a dream that’s now easier than ever to achieve. Learning resources are more accessible than ever, game engines are available for free, and it’s not even necessarily a requirement to know how to code!
Set Your Expectations Right
It’s also super important to highlight that making games independently does not mean you can’t be successful either. Undertale, Stardew Valley, and Shovel Knight (all very successful games) were each made by small development teams or even Solo Developers.
BUT, you should NOT be comparing yourself to them. If you start mountain climbing expecting to be able to reach the peaks of Everest, you’re doomed to fail before you even begin. Instead, you should challenge yourself against yourself. Focus instead on making something small, and then doing better the next time.
If you want to get into game development, you might have heard about “Game Engines” before. Should you use one? Short answer: YES.
A game engine is a collection of tools and libraries that will speed up your development time. There’s a bit of a learning curve to them, and each engine has it’s own pros, cons, and quirks, but it’s far better than coding a game from scratch. Some purists will insist on building everything, including their engines from scratch- but the amount of time you will invest doing so is time you could be spending working on the fun part- developing your game!
So now you’ve, presumably, decided to work with an engine, but which engine is best? The truth is, each engine has different pros and cons, and it’s up to you to decide which one you think will suit you best. Here are the best engines I recommend for beginners:
Unreal Engine 4
The Unreal Engine 4 is probably the most “professional” engine on this list, and possibly the most powerful. It was developed by Epic Games, the same people who made Fortnite, and its main advantage is that you can code in C++ and through its node system.
The node system essentially allows you to “code” using blocks and nodes that you can hook up to create algorithms. While it will never be as flexible as coding yourself, if you’re really unable to code for whatever reason, this is a powerful tool that will enable you to still develop games.
That being said, it has its drawbacks. The Unreal Engine simply huge, with a lot of overhead, and if you’re a beginner who wants to dive in, all that downloading and compiling is a pain in the butt if you’re just trying to make some cubes move around. If you can get past that, however, you’ll have a powerful engine that can make some truly incredible games.
Meanwhile, at the complete other end of the spectrum is Godot. Godot is a much more recent game engine, and while it doesn’t have nearly the same resources behind it as Unity or the Unreal Engine, its features more than make up for it.
Godot supports C++, C#, and has its own GDScript, which purports to be similar to python. Like the Unreal Engine, it also has a Visual Scripting tool using a Node System. The entire engine is open source, and it’s completely free.
What I mean by “free” is that there are no costs that come up when you reach the point of publishing your game. For instance, both Unity and the Unreal Engine require you to start paying a licensing fee if you publish a game, and it’s starts actually selling. Godot has no such requirement.
By far, one of it’s most compelling features is how lightweight it is by comparison. Both Unity and the Unreal Engine are gigabytes in size, while Godot is only in Megabytes. Really, if I were starting from the beginning again, I would lean very favorably to Godot.
The Unreal Engine’s biggest competitor, up for a while now, has been Unity. Unlike the Unreal Engine, Unity was marketed from the beginning as being for independent developers. Out of all three engines I’ve mentioned, it’s the one I’m most familiar with.
Unity supports C# and Java and has a lot of resources available from both the developers themselves and the community. From public assets to youtube tutorials, if you need help doing something, there’s probably someone who has figured out how to do it already.
The Unity developers are great, too, and have public roadmaps showing all the new features that the add-in annually. From robust 2d systems to shader graphs, to postprocessing, Unity has lots of powerful features that justify it being one of the most popular engines to work with!