Less than 100 Kilobytes. Works for Android 5.1 and above
Find a file
2024-10-04 18:52:20 +03:00
FlappyBird Merge branch 'master' of https://github.com/VadimBoev/FlappyBird 2024-10-04 18:52:20 +03:00
.gitattributes Добавить .gitattributes, .gitignore и README.md. 2024-09-14 09:46:22 +03:00
.gitignore Добавить .gitattributes, .gitignore и README.md. 2024-09-14 09:46:22 +03:00
flappy.gif Add files via upload 2024-09-21 16:57:30 +03:00
FlappyBird.sln Добавьте файлы проекта. 2024-09-14 09:46:24 +03:00
README.md Update README.md 2024-10-04 18:45:43 +03:00
README_RU.md Update README_RU.md 2024-10-04 18:40:15 +03:00

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:

  1. Download Visual Studio 2022.
  2. Install components: C++ Desktop Development and C++ Mobile Development.
  3. Download Android Studio (for apktool, sdk, ndk).
  4. Install NDK 27.1.12297006.
  5. Configure the project for "Debug ARM" and make changes to build.bat.
  6. Compile via CTRL + B. 🛠️

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! 🌟