Welcome to “How to Think About Games”. This series of articles will explore the design philosophy behind different game engines. Each article’s goal is to give you an idea of where the head of a developer using the engine should be at. This won’t necessarily tell you how to use it, but each article intended to help you find if the game engine’s philosophy makes sense to you, quickly helping someone who’s already a developer decide if the structure is useful to them. This should help you decide what engine to use without bias, as comparison to other engines will be avoided as much as possible. This is just about how to think about games.
Background on Godot
Godot is the topic of this article. Godot is an open-source game engine. A recent contender and popular choice. It’s free…
Welcome to “How to Think About Games”. This series of articles will explore the design philosophy behind different game engines. Each article’s goal is to give you an idea of where the head of a developer using the engine should be at. This won’t necessarily tell you how to use it, but each article intended to help you find if the game engine’s philosophy makes sense to you, quickly helping someone who’s already a developer decide if the structure is useful to them. This should help you decide what engine to use without bias, as comparison to other engines will be avoided as much as possible. This is just about how to think about games.
Background on Godot
Godot is the topic of this article. Godot is an open-source game engine. A recent contender and popular choice. It’s free, and known for being particularly lightweight, not taking up a lot of space at all, and running on a lot of machines. It can do both 2d or 3d games, although from what I have seen it seems to have a particular knack for 2D games specifically. It is always being actively updated, and there’s a lot of community support for it as well, so it’s always changing over time. It’s specifically good for PC, Mobile, and Web games, but doesn’t natively support console exporting due to the console companies not wanting that code to be open source. It has its own native scripting language but allows for the use of many others. Now that you know its basic background, let’s get into how they think about games.
How to Think About Godot
Scenes of Nodes
Godot games are built up out of “scenes”. Each scene contains “nodes”. These titles are admittedly a little misleading, as a scene doesn’t necessarily have to be a “screen” or “stage” in a game. The scene can be something like a character, or a reusable collectable. Nodes are like the absolute basics. They can handle collision, audio, images, they can be the camera, they’re usually the most simple. Scenes are more complicated things made up of these nodes.
Scenes of Scenes
This is how you turn it into a game. Once you make a scene with these nodes, you can reuse this “scene” in other scenes as if it were a node. This leads to a nested structure to build your games, where you can keep going deeper into the complexities of each node in a scene if you’ve built it that way. Although scenes can be connected by being parents and children of each other, they don’t have to be strictly tied to interact.
Signals
Godot uses “signals” to have different game elements interact with each other. You can make a scene by letting out a signal in reaction to something. Once you do, you can have any number of other scenes react to that signal, without specifically referencing that element. This means you can also make multiple things react to or send out the same signal, allowing you to reuse logic all over the place.
Final Thoughts
So, for your future game ideas you have to ask yourself, does this abstraction make sense? This will vary from developer to developer, but as it’s a serious contender right now, I definitely advise looking into it. A lot of games have been built with Godot, each very different, for example Dome Keeper, and Wrought Flesh. Dome Keeper is a pixel art roguelike where you face off waves of enemies in between side-scroller mining to keep up with their rapid progression. Wrought Flesh on the other hand is a gritty fps where enemy organs can be used to upgrade your stats. Don’t feel like this structure is a limitation, the flexibility is clearly there.
This being my first article on these engines I’m obviously very impressed by the engine. It’s already getting me to think about how I would adapt the various game ideas I have to this structure. But this is not the end! I want to cover more, as this ended up being incredibly interesting, and there are a lot more game engines out there. I hope this article gave you an idea about how to think about games, thank you for reading.
Sources
- Godot Wikipedia Article
- GDQuest’s “The 4 Essential Building Blocks of Every Godot Game - I highly recommend this channel as a whole if you have further interest in the Godot engine, as they have many videos on the subject, and this was a breakthrough in understanding for me when writing this article.
- Godot Nodes and Scenes Documentation
- Godot Using Signals Documentation