Flappy Bird on Godot

game godot

'The title screen of this version of Flappy Bird.'
The title screen of this version of Flappy Bird.

Leaving Unity3D

Since I began my career as a game developer a decade ago, I have mostly worked with Unity3D. At first, because it was the tool I learnt to use during my studies.

After that, I stuck to it because using any other popular engine was just not viable: Unreal Engine required a powerful computer to run, which my budget laptop was not. Game Maker was limited to 2D games, and I wanted to explore 3D mechanics and game design.

The years went by and I grew concerned about the consecutive predatory, anti-consumer, and sometimes simply unethical actions taken by the team behind Unity3D. Yet I kept using the engine, because it was familiar to me, and I was very good at making games with it.

At this point I acknowledged the only reason why I hadn’t switched to Godot yet, which was looking more promising by the day: I was afraid of starting again, of not being capable of using a new tool.

I feared to find that I was not good at making games, that I was good at using Unity3D.

Switching to Godot

Once I made the switch, the very first projects I built using Godot were the offcial tutorials available on their documentation page, as they do a very good job of introducing readers to the workflow of the engine and GDScript.

After that I felt ready to program a small game on my own, which would solidy what I just learnt so far. I wanted to code something that I was familiar with in the other engine, becuase that would help me better understand the differences between them.

That’s why I decided to develop a Flappy Bird clone, as its game mechanics are very simple to replicate and I have done them multiple times in the past. This was a great choice as it allowed me to focus on understanding the workflow, and not on the game logic itself.

PeerTube My version of "Flappy Bird", made in Godot 4

This copy of Flappy Bird is quite simple, but still it covers many common areas of game development: input handling, audio effects, scene management, user interface, instancing…

And on top of that, it is also a perfect boilerplate to expand upon. For example, instead of using a 2D perspective with sprites, I created 3D models and animated them using the Animation Player node. Additionally, the 3D perspective allowed me to implement a nice parallax effect and experiment with the environment and post-processing stacks.

Play it now 🕹️

The source code of this project is available at my codeberg profile. This small game is available for Windows, Linux, and MacOS.

Play or download from itch.io