FlappyBird/README_RU.md
2024-10-06 23:55:00 +03:00

55 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🐦 Flappy Bird на Си: Вес APK < 100 Килобайт! 🚀
## 📜 История:
Всё началось в 2021 году, когда я наткнулся на [rawdrawandroid](https://github.com/cnlohr/rawdrawandroid). Моя цель была проста: создать игру с минимальным весом APK, но при этом, чтобы она была понятной и интересной. 🎯
Идея сделать клон Flappy Bird казалась логичной, учитывая, что эта игра уже была портирована на множество языков. 🐤
В 2021 году я также изучил [Raylib](https://github.com/raysan5/raylib), но первая попытка сделать игру на C++ с использованием [ImGui](https://github.com/ocornut/imgui/) потерпела неудачу. 💔
Проблемы были везде: вес APK был около 1 МБ, игра вылетала, и в APK была только библиотека для armeabi-v7a (требования Google от 2022 года это наличие arm64-v8a библиотеки!). 🤯
## 💡 Мотивация:
В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀
Идея казалась безумной, но спортивный интерес взял верх. 💪
## 🛠️ Реализация:
Начал с компиляции "Hello World" на Си и упаковки библиотеки в APK. 📦
Звуки были сжаты до формата MP3, а для их воспроизведения использовался OpenSLES. 🎵
Для декодирования PNG файлов я выбрал [upng](https://github.com/elanthis/upng). 🖼️
Всё это было объединено с помощью OpenGL ES 2, шейдеров и Android Native Activity. 🎮
## 🔧 Сборка:
1. Скачайте [Visual Studio 2022](https://visualstudio.microsoft.com/).
2. Установите компоненты: Разработка классических приложений на С++ и Разработка мобильных приложений на языке С++.
3. Скачайте Android Studio (для apktool, sdk, ndk).
4. Установите NDK 27.1.12297006 и Android SDK Платформа 30.
5. Настройте проект для "Debug ARM" и внесите изменения в build.bat.
6. Компилируйте через CTRL + B. 🛠️
## 📄 Авторское право:
Я не претендую на авторские права. Право на игру и ресурсы принадлежит **DotGEARS**. 📜
## 🌟 Вдохновение:
- [rawdrawandroid](https://github.com/cnlohr/rawdrawandroid)
- [Flapper](https://github.com/its-Lyn/Flapper)
- [Raylib](https://github.com/raysan5/raylib)
- [ImGui](https://github.com/ocornut/imgui/)
## 🌠 Star History
[![Star History Chart](https://api.star-history.com/svg?repos=VadimBoev/FlappyBird&type=Timeline)](https://star-history.com/#VadimBoev/FlappyBird&Timeline)
---
🎉 Наслаждайтесь игрой и не забудьте поставить звезду! 🌟