๐ฆ Flappy Bird in C: APK Size < 100 Kilobytes! ๐
May 15, 2026 ยท View on GitHub
Readme ะฝะฐ ััััะบะพะผ ัะทัะบะต
๐ฆ 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)
- Create .env from .env.example
- Run build.bat
Linux and macOS (Makefile)
For Linux and macOS users, you can build the project using the provided Makefile:
- Install the Android command-line tools.
- Set up your environment variables in a
.envfile in the project root directory (see.env.examplefor an example). - 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
๐ Copyright:
I do not claim any copyright. The rights to the game and resources belong to DotGEARS. ๐
๐ Inspiration:
๐ Star History
๐ Enjoy the game and don't forget to star it! ๐