[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73199":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":34,"discoverSource":35},73199,"FlappyBird","VadimBoev\u002FFlappyBird","VadimBoev","Less than 100 Kilobytes. Works for Android 5.0 and above","",null,"C",2416,151,11,5,0,2,12,57.75,false,"master",[23,24,25,26,27,28,29,30],"android","apk","c","game","opengl-es","opengles","opensl-es","opensles","2026-06-12 04:01:08","\u003Cimg src=\"flappy.gif\" alt=\"game\" width=\"250px\">\n\n**[Readme на русском языке](README_RU.md)**  \n  \n[Dev blog in Telegram (ENG\u002FRU)](https:\u002F\u002Ft.me\u002Fboevdev)\n\n# 🐦 Flappy Bird in C: APK Size \u003C 100 Kilobytes! 🚀\n\n## 📜 History:\n\nIt all started in 2021 when I stumbled upon [rawdrawandroid](https:\u002F\u002Fgithub.com\u002Fcnlohr\u002Frawdrawandroid). My goal was simple: to create a game with the minimal APK size, yet still be understandable and interesting. 🎯\n\nThe idea of making a Flappy Bird clone seemed logical, given that this game had already been ported to many languages. 🐤\n\nIn 2021, I also studied [Raylib](https:\u002F\u002Fgithub.com\u002Fraysan5\u002Fraylib), but my first attempt to make a game in C++ using [ImGui](https:\u002F\u002Fgithub.com\u002Focornut\u002Fimgui\u002F) failed. 💔\n\nThe 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!). 🤯\n\n## 💡 Motivation:\n\nIn 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. 🚀  \n\nThe idea seemed crazy, but the competitive interest took over. 💪\n\n## 🛠️ Implementation:\n\nI started by compiling a \"Hello World\" in C and packaging the library into an APK. 📦\n\nSounds were compressed to MP3 format, and OpenSLES was used for playback. 🎵\n\nFor PNG file decoding, I chose [upng](https:\u002F\u002Fgithub.com\u002Felanthis\u002Fupng). 🖼️\n\nAll of this was combined using OpenGL ES 2, shaders, and Android Native Activity. 🎮\n\n## 🔧 Build:\n\n### Visual Studio Code (Windows)\n\n1. Create .env from .env.example\n2. Run build.bat\n\n### Linux and macOS (Makefile)\n\nFor Linux and macOS users, you can build the project using the provided Makefile:\n\n1. Install the Android command-line tools.\n2. Set up your environment variables in a `.env` file in the project root directory (see `.env.example` for an example).\n3. Build the project:\n   ```bash\n   cd FlappyBird\n   make\n   ```\n   \nFor more detailed instructions, please refer to [BUILDING.md](BUILDING.md).\n\nThe signed APK will be generated at:\n`FlappyBird\u002Fapp\u002Fbuild\u002Foutputs\u002Fapk\u002FFlappyBird-signed.apk`\n\n## 📄 Copyright:\n\nI do not claim any copyright. The rights to the game and resources belong to **DotGEARS**. 📜\n\n## 🌟 Inspiration:\n\n- [rawdrawandroid](https:\u002F\u002Fgithub.com\u002Fcnlohr\u002Frawdrawandroid)\n- [Flapper](https:\u002F\u002Fgithub.com\u002Fits-Lyn\u002FFlapper)\n- [Raylib](https:\u002F\u002Fgithub.com\u002Fraysan5\u002Fraylib)\n- [ImGui](https:\u002F\u002Fgithub.com\u002Focornut\u002Fimgui\u002F)\n\n## 🌠 Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=VadimBoev\u002FFlappyBird&type=Timeline)](https:\u002F\u002Fstar-history.com\u002F#VadimBoev\u002FFlappyBird&Timeline)\n\n---\n\n🎉 Enjoy the game and don't forget to star it! 🌟\n","该项目是一个用C语言编写的Flappy Bird游戏，APK大小不到100KB，适用于Android 5.1及以上版本。核心功能包括使用OpenGL ES 2.0渲染图形、OpenSLES播放音频以及upng库解码PNG文件。项目通过优化资源和代码实现了极小的安装包体积，同时保持了游戏的基本玩法和流畅体验。适合对移动游戏开发感兴趣的技术爱好者学习，特别是那些希望了解如何在有限资源下实现高效应用的人士。此外，对于想要研究C语言在Android平台上应用的人来说，这也是一个很好的案例。","2026-06-11 03:44:28","high_star"]