Four years ago I wanted to finally understand how games were made and make my own
I didn't exactly know where to begin but I had to figure it out, so I followed the best professional tips (the first Youtube videos I found when searching for "best game engines in 2023")
I'd be lying if I said I remember them all, for sure somebody said "for 2D choose X, for 3D Y is better" etc. but my thoughts at the time are still stuck into my mind "choose the 'hardest' one, you'll have more freedom when developing later on"
I was theoretically right but practically wrong
You can make simple games in Unreal but you can't make AAA games in GameMaker (or at least it isn't a good fit, there are people who make 3D games in Scratch so I don't wanna make absolute statements).
While this is true, for the sake of your own sanity don't choose Unreal Engine for your top down 2D pixel art game because you'll end up changing random bits in the code just to see if your character finally turns the right way (extremely targeted to me). I remember those characters being more confused than I was
My opinion on Unreal & things I wish I knew
First game
I made my first game with Unreal which was a platformer. Doing basic things wasn't exactly easy but I can't say it was hard, the first problem I faced, as a beginner, was making non-standard mechanics, maybe a double jump instead of a normal one. In the end I ended up making only left-right movement and a normal jump for a few reasons:
The community focuses on 3D and hybrid so if you search for a very specific, uncommon 2D problem I'm pretty sure that the chances of finding a solution will be the same as winning the lottery
Blueprint may seem easier to understand at first, since it's visual, but it can get messy pretty fast. I hated having to search in the Graph editor for a forgotten node; sure you can code in C++ but you'd have to set up an IDE, and find tutorials and...for simple games it's just too much work
Strange things can happen when making a 2D game inside an engine that is still fundamentally 3D. It's hard to describe what I mean by that so I'll leave a screen from that game:

The tilemap looks like a piece of paper. Misplace the character slightly and it will fall. Happened to me and my will to continue making that game fell with it
Note: I know about the 2D orthographic viewport but this doesn't delete the third axis, it just hides it, so if for whathever reason you use the normal viewport and change the position you risk doing what I just said. Maybe I was using it wrong but still, I found it to be unnecessarily confusing
"Second game"
I hadn't given up on Unreal yet, Unreal made me feel proud of being a game developer. It made me feel like a pilot, it had a lot of shiny buttons and options I didn't want to leave behind (not that I've used even half of them)
But, again, same issues as the first game. I wondered why my code didn't work and why it did, my main debug strategy was changing the links to nodes until something happened. And it did. I quit shortly after starting that project. I stopped making games for a while until I decided to learn Godot
How it's going with Godot
After using an engine that makes any PC cry for its requirements, I began using Godot, whose only requirements are electricity and owning a device (optional)
I'm probably still seeing an "idealized" version of Godot, since I've not even finished my first game with it, but there are a few good things I've noticed
- Built-in scripting language: having to scroll up and down to read the code like a normal language is an irreplaceable feeling. GDScript's syntax also reminds me of Python / JavaScript
- Clear structure: everything is a node (sprites, collision shape, ...), multiple nodes make a scene (characters, levels ...), scenes talk to each other using signals. Didn't click immediately but this model seems to be making things much easier to picture for me. Well, signals are something that if not implemented correctly can make the whole thing confusing though
- Resources for 2D are everywhere since Godot is mainly built for 2D. Searching for tutorials is not a part-time job for me anymore
- Clean interface: just the necessary settings are shown, others are hidden, so you don't get a headache as soon as you open the project
- 2 axes only for 2D: I don't have to worry about placing a 2D character in a 3D world anymore. Now I can worry about other things, such as signals not working the way I thought
First Game with Godot (so far)
First things first, I followed a 14-hour tutorial (which I'd been procrastinating on for almost a year) in which I was taught many mechanics that I will implement in my own game
So other than the WASD movement I've implemented mechanics such as gun rotation that depends on where the mouse is and a friend that follows you (should be an enemy in the future but at the moment of writing I haven't implemented the attack mechanics, yet)
Learned my lesson the hard way: don't try to make an "absolute choice" because there isn't one. Something I'd recommend is choosing an engine that makes your job easier at the moment, not for your future you, because you don't really know what future you will choose
I don't feel like saying "choose Unreal" or "choose Godot", as a matter of fact, I'd recommend trying both
Actually, I think that in the future I'll give Unreal another shot, so wait for the "Why I came back to Unreal" post

Top comments (0)