{"id":44610363,"url":"https://github.com/VadimBoev/FlappyBird","last_synced_at":"2026-02-26T22:01:10.360Z","repository":{"id":257625577,"uuid":"857252347","full_name":"VadimBoev/FlappyBird","owner":"VadimBoev","description":"Less than 100 Kilobytes. Works for Android 5.1 and above","archived":false,"fork":false,"pushed_at":"2025-08-29T05:25:46.000Z","size":5184,"stargazers_count":2326,"open_issues_count":12,"forks_count":148,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-08-29T09:32:59.596Z","etag":null,"topics":["android","apk","c","game","opengl-es","opengles","opensl-es","opensles"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VadimBoev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-14T06:46:26.000Z","updated_at":"2025-08-29T05:25:51.000Z","dependencies_parsed_at":"2024-12-17T07:47:59.530Z","dependency_job_id":"ee3787b8-6a31-4b8c-9758-fb9f58bd1dd9","html_url":"https://github.com/VadimBoev/FlappyBird","commit_stats":null,"previous_names":["vadimboev/flappybird"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/VadimBoev/FlappyBird","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VadimBoev%2FFlappyBird","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VadimBoev%2FFlappyBird/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VadimBoev%2FFlappyBird/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VadimBoev%2FFlappyBird/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VadimBoev","download_url":"https://codeload.github.com/VadimBoev/FlappyBird/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VadimBoev%2FFlappyBird/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29874451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T21:05:00.265Z","status":"ssl_error","status_checked_at":"2026-02-26T20:57:13.669Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","apk","c","game","opengl-es","opengles","opensl-es","opensles"],"created_at":"2026-02-14T12:00:22.733Z","updated_at":"2026-02-26T22:01:10.351Z","avatar_url":"https://github.com/VadimBoev.png","language":"C","readme":"\u003cimg src=\"flappy.gif\" alt=\"game\" width=\"250px\"\u003e\n\n**[Readme на русском языке](README_RU.md)**  \n  \n[Dev blog in Telegram (ENG/RU)](https://t.me/boevdev)\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://github.com/cnlohr/rawdrawandroid). 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://github.com/raysan5/raylib), but my first attempt to make a game in C++ using [ImGui](https://github.com/ocornut/imgui/) 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://github.com/elanthis/upng). 🖼️\n\nAll of this was combined using OpenGL ES 2, shaders, and Android Native Activity. 🎮\n\n## 🔧 Build:\n\n### Visual Studio (Windows)\n\n1. Download [Visual Studio 2022](https://visualstudio.microsoft.com/).\n2. Install components: C++ Desktop Development and C++ Mobile Development.\n3. Download Android Studio (for apktool, sdk, ndk).\n4. Install NDK 27.1.12297006 and Android SDK Platform 30.\n5. Configure the project for \"Debug ARM\" and make changes to build.bat.\n6. Compile via CTRL + B. 🛠️\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/app/build/outputs/apk/FlappyBird-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://github.com/cnlohr/rawdrawandroid)\n- [Flapper](https://github.com/its-Lyn/Flapper)\n- [Raylib](https://github.com/raysan5/raylib)\n- [ImGui](https://github.com/ocornut/imgui/)\n\n## 🌠 Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=VadimBoev/FlappyBird\u0026type=Timeline)](https://star-history.com/#VadimBoev/FlappyBird\u0026Timeline)\n\n---\n\n🎉 Enjoy the game and don't forget to star it! 🌟\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVadimBoev%2FFlappyBird","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVadimBoev%2FFlappyBird","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVadimBoev%2FFlappyBird/lists"}