Why My Go-To Engine, Is the Godot Engine
Table of contents
No headings in the article.
It's inevitable with game dev that you'll ask yourself, "What game engine should I use?" - it's one of the first questions I certainly asked myself a while back. Being the professional game dev that I am, I immediately jumped to Google for a quick answer. Unsurprisingly, I was met with many conflicting threads of opinions. It is because of this experience that I want to detail my journey in discovering the Godot Engine, and why I continue to use it to this day.
Note: I'm not a super technical person - the finer details and advanced elements of each engine go way past my head. I only learn things as I need them, so I tend to gravitate towards approaches to game design that are more intuitive. I'm not necessarily here to change your minds on what game engine you use, but simply speaking as a beginner game dev who went through a common experience. If you want the short answer - test out as many engines as possible, and stick with the one that will best support your goal of making a game (and finishing it).
My starting knowledge of game engine options was this - Unity has that cool cube icon, Unreal is owned by a larger company (is that right?), and Scratch is a fun starter drag-and-drop tool.
- With Unreal, truthfully I didn't explore this at all beyond licensing. It didn't seem like I had as much licensed control over my creations, and I was avoiding having to pay money where possible (cause I'm a starving college student). This is something I'd love to put time into exploring later on, but at the time it wasn't something I figured would suit me well.
- Scratch I've used a ton in the past both personally and in school. I love the drag and drop part of coding, and having that ability to quickly implement ideas is perfectly in line with my development approach. The main issue I saw was that full game titles exported and published with Scratch are fairly non-existent. I deeply appreciate the early sparks it gave me in exploring the field, and in building the skills needed to approach the design of a game; however, it was time I moved on to more mature options.
- For Unity, I spent a couple months running through tutorials in various genres such as open world exploration, top down, and mobile. No doubt this is a powerful engine, but I certainly felt that it didn't fit the workflow I needed to efficiently make games. This is not because of a lack of features, but rather an abundance of them. I'm sure others will feel differently, but personally I became overwhelmed with the number of random features exposed at a front-facing level. If I create an object, my knowledge has not yet reached a point where I instantly need to toggle dozens of attributes on one panel. The hierarchy display of objects was nice, and this helped narrow down my likes and dislikes, but I knew this engine wasn't for me, at least at that point in time.
A Period Of Confusion
At this point, Unity seemed like the most plausible option, but the desire was quickly fleeting as working with the engine was not enjoyable enough to keep my motivation alive. I decided to explore other options - see if drag-and-drop was a possibility, which ones had better pricing structures, and overall the engine that just felt right to me. I experimented with Construct, Gamemaker, Phaser, Android Studio, Gamebryo, etc… during this phase.
For one reason or another, these engines still didn’t fit my preferences. I could somewhat structure a game in these, but it felt like the engines had more control over me than the other way around. It was at this time that I stumbled across a post on Godot - and I swear this is not sponsored - but it was magical and sounded too good to be true.
Godot - My Hero!
Open-source, completely free to use, dedicated community, and FINALLY - a development structure that strongly resonated with me. In simple terms, the workflow just comes down to:
- Nodes > Objects, items, buttons, etc…
- Scenes > Several nodes bundled together
- Repeat, as in you can save scenes and instance them like a single, custom node in new scenes.
This workflow is nothing new in the game dev world, but the way it's implemented in the engine just makes sense to me. Using Godot, I feel like I have control over the engine, even when my limited skills end up over-complicating things.
I think the best part too is that Godot has helped me approach larger design challenges. When I wanted to make an inventory system for Unity, I would need to search up several tutorials and follow along directly. While I learned a bit, I often didn't understand the WHY behind how it's designed. By the time I wanted to add something basic like crafting, I didn't have the knowledge to hook it into the system I'd just created.
Godot made sense as I developed, to the point where even if I followed a tutorial for an inventory system, the setup taught me new ways of ordering nodes and scenes that allowed me to custom build the next features I wanted. The Godot workflow teaches you how to mentally break down larger systems for your game, and build one node at a time. It's motivating, empowering, and felt like a natural progression in my game dev journey.
Godot may or may not be the right fit for you - if you're exploring options I 100% recommend checking it out, but I do recognize that everyone operates differently in how they tackle game design. If you're trying to answer the age-old question of what engine to use, just experiment as much as possible until you find the right choice for you. No one should judge you on "using the right engine" - if it keeps you motivated to develop and has the end result of fully finishing a game, then it's the right engine for you!