Flappy Bird Gameboy Homebrew v1.0.0 Completed!


Late last year, i decided to start learning how to make games for gameboy. In order to better learn my chosen development tool GBDK 2020 (and the gameboy itself) i decided to remake some already known games. The graphics and game designs for these games are already done, so i figured it would be a good learning tool. My first completed remake for gameboy is Flappy Bird. 

Flappy Bird was a popular hyper casual mobile game. It features a one-button input scheme. In the game, the bird must fly as far as he/she can dodging pipes on the top and bottom of the screen. It was a viral success for the original creator, Dong Nguyen. However, because of guilt over addiction shown to the game by the masses, Mr. Nguyen had the original game removed from app stores. The game still lives on. There are many clones, and even hombrew.

Gameboy game development is very different than normal game development in engines like Unity or Unreal. Both of which, i have experience in. The ROM file for Flappy Bird Homebrew Game is 32kb. Which means it's smaller than many images on the internet. During development, there are many limitations:

  • Each 8x8 tile (that makes up all art in the game) can only have 4 colors. 
  • No out-of-the-box support for modern development tools.
  • Only 8 color palettes (each of which hold 4 colors) allowed at a given time.
  • Only 40 (8x16 in my case) can be on screen at a given time.
  • Sprites cannot be rotated like in normal engines.
  • No automatic asset-management
  • etc...

With these limitations, many adjustments had to be made. The background had to be adjusted to prevent a given tile having more than 4 colors. I had to figure out a strategy for spawning pipes. Such a strategy had to ensure pipes aren't spawned before the Gameboy is ready. All sprites/backgrounds have to be manually managed via code. Any one change may require extra manual effort adjusting the code for the changes. Many times i would make a change to the art and have to edit multiple files to handle the changes.

There were a bunch of other small things, but i forget most of them now. The end product is very much like the original. Which i am very proud of. To my great joy, i was able run the game on an actual, un-modded Nintendo gameboy, using a EZFlash Jr.  

I might try to make physical copies as another learning activity. But i cannot sell them, because i don't want any legal or copyright issues. If I did, and i was satisfied with them, i would give a lot of them away. I'll have a free ROM file on my itch.io page for the project: https://laroldsjubilantjunkyard.itch.io/flappy-bird-gameboy. I've written a tutorial on how to make this on my website https://LaroldsJubilantJunkyard.com/ . I have the FULL source code, including image assets, on GitHub here: https://github.com/LaroldsJubilantJunkyard/flappy-bird-gameboy

Next on my plate, to better learn gameboy game development, i want to try to re-create some of the following:

  • Pacman
  • Super Mario Land
  • 1942
  • Alleyway (brick breaker)
  • Tetris
  • Frogger
  • Pokemon (This is a big one, and probably will take the most time and effort)

Get Flappy Bird Gameboy

Leave a comment

Log in with itch.io to leave a comment.