๐Ÿฆ Flappy Bird in C: APK Size < 100 Kilobytes! ๐Ÿš€

May 15, 2026 ยท View on GitHub

game

Readme ะฝะฐ ั€ัƒััะบะพะผ ัะทั‹ะบะต

Dev blog in Telegram (ENG/RU)

๐Ÿฆ Flappy Bird in C: APK Size < 100 Kilobytes! ๐Ÿš€

๐Ÿ“œ History:

It all started in 2021 when I stumbled upon rawdrawandroid. My goal was simple: to create a game with the minimal APK size, yet still be understandable and interesting. ๐ŸŽฏ

The idea of making a Flappy Bird clone seemed logical, given that this game had already been ported to many languages. ๐Ÿค

In 2021, I also studied Raylib, but my first attempt to make a game in C++ using ImGui failed. ๐Ÿ’”

The problems were everywhere: the APK size was around 1 MB, the game crashed, and the APK only contained the armeabi-v7a library (Google's 2022 requirements state that the arm64-v8a library must be included!). ๐Ÿคฏ

๐Ÿ’ก Motivation:

In September 2024, seeing Flappy Bird in C# in the Raylib Discord channel, I decided to try implementing this game in C for Android with an APK size of less than 100 KB. ๐Ÿš€

The idea seemed crazy, but the competitive interest took over. ๐Ÿ’ช

๐Ÿ› ๏ธ Implementation:

I started by compiling a "Hello World" in C and packaging the library into an APK. ๐Ÿ“ฆ

Sounds were compressed to MP3 format, and OpenSLES was used for playback. ๐ŸŽต

For PNG file decoding, I chose upng. ๐Ÿ–ผ๏ธ

All of this was combined using OpenGL ES 2, shaders, and Android Native Activity. ๐ŸŽฎ

๐Ÿ”ง Build:

Visual Studio Code (Windows)

  1. Create .env from .env.example
  2. Run build.bat

Linux and macOS (Makefile)

For Linux and macOS users, you can build the project using the provided Makefile:

  1. Install the Android command-line tools.
  2. Set up your environment variables in a .env file in the project root directory (see .env.example for an example).
  3. Build the project:
    cd FlappyBird
    make
    

For more detailed instructions, please refer to BUILDING.md.

The signed APK will be generated at: FlappyBird/app/build/outputs/apk/FlappyBird-signed.apk

I do not claim any copyright. The rights to the game and resources belong to DotGEARS. ๐Ÿ“œ

๐ŸŒŸ Inspiration:

๐ŸŒ  Star History

Star History Chart


๐ŸŽ‰ Enjoy the game and don't forget to star it! ๐ŸŒŸ