Building More Games
Have you ever wanted to write your own games? Join me on the quest to sharpen my skill while having fun building games!
Context
In my quest to get back to coding, I decided to start building games again. The last time I wrote about this adventure, I summarized the latest changes I made to my version of the blocks puzzle. A few months have passed since then, and I have been busy thinking about what my next step should be.
Game Engines
The first game was built from scratch using Flutter. It is interesting to see how much can be achieved for casual games by just coding a game from scratch, but starting from scratch might not be the best plan when you want to make more complex games. The game development industry has been alive for too many years for us not to capitalize on its fruits. There are several game engines out there, so I decided to take a course on an open source one: Godot!
I started reading a little about Godot, but then I found out about a course on Udemy that seemed to enable me to learn about Godot faster, from the experience of someone else. The course “Jumpstart to 2D Game Development: Godot 4.4+ for Beginners” is just that, a step-by-step approach to learning Godot, building slightly more complex games each time, and learning the mechanics and other features of the Godot game engine.
The first game in the course, the Gem Catchers, is so simple I will not be publishing it. The second game is a remake of the Flappy Bird game, but with an airplane instead of a bird. The goal of the game is simple: to fly the plane safely across a never-ending sea of obstacles.

Screenshot Of The Game
Building the game was a lot of fun, and I ended up doing some changes to the proposed implementation. I wanted to support touch devices, like mobile phones, so I ended up adding the possibility to click/gap to make the plane fly. I also added a “help” screen that displays all the open source licenses. The goal is to ensure that I comply with them. Do you want to play the game? Just click through.
Advantages of Game Engines
It is interesting to see how a game engine can make our lives simpler. The game engine has animations, collision detection, a physics engine, and all the other amenities that allow you to focus on your game’s core logic. Instead of thinking about how things are done, you get to focus on doing the game.
This is a good thing and a bad thing. By not knowing how things are done internally, you end up not understanding why something’s working better than others. Since I have some knowledge of the underlying mechanics, I kind of know how things are done so that I can make the game work well with the engine.
The truth is that if I were to develop the game without the engine, I would definitely take more time. I wouldn’t need to implement all the mechanics of the physics engines I used, but I would have to implement the least part of it. The time that I would invest can be put to better use.
Don’t get me wrong: knowing how to build things is something that always pays dividends. But do you really want to implement and maintain your own engine? Do you want to do that for every game you make? Why not leverage the building blocks of an existing game engine and add some sauce that makes your game unique?
Next Step
The next in the course is an Angry Birds look-alike game. Developing a physics-driven game will allow me to understand how to use the physics engine to make objects interact with each other. I am also considering if I should post these small games to the Play Store for free. What do you think?