Разработчик представил версию Flappy Bird только на C для Andorid c весом APK менее 100 КБ

20 сентября 2024 года разработчик Вадим Боев представил версию игры Flappy Bird только C для Andorid с весом APK менее 100 КБ.

Разработчик пояснил, что он уже пробовал в 2021 году сделать какую-нибудь игру с максимально меньшим весом APK на C++ при использовании ImGui. Но тогда у него не особо получилось, так как игра вылетала, а APK весил около 1 МБ.

В середине сентября Боев увидел в дискорд-канале Raylib, что появилась версия Flappy Bird на языке C#. Тогда ему стало очень интересно реализовать свою безумную идею и сделать эту игру на C для Android c весом APK меньше 100 КБ. И у него получилось.

«По началу я собрал себе решение которое компилировало Hello World на C, упаковывало библиотеку в APK, всё подписывалось и отправлялось мне на устройство по USB. Как только всё было готово, дальше я пошёл изучать ресурсы игры. Звуки сначала были в формате ogg, я их сжал, но были какие-то проблемы, я уже не помню этот момент.

Дальше звуки всё же стали форматом mp3, сжатым по 16 (килобайт в секунду) каждый, тем самым максимально уменьшив вес, а также качество звука оставалось терпимым.

Возникла первая трудность, если раньше для воспроизведения звука я использовал BASS, а он тяжёлый для моей цели, то пришлось изучить OpenSLES который без проблем читает формат MP3.

Дальше из ресурсов остаются картинки, формата png. Иного варианта использования формата нет. Тогда надо было найти что-то легче, чем stb_image.

Так я наткнулся на upng, которая полностью решила вопрос с декодированием png файлов для дальнейшего их рендера.

В целом, всё проще чем кажется.

OpenGL ES 2 + шейдеры для отрисовки, OpenSLES для звуков, upng для декодирования png формата и конечно же Android Native Activity»,

— рассказал Боев.

Приложение Flappy Bird вышло в 2013 году и быстро стало популярным из-за простоты игрового процесса. В 2014 году автор проекта удалил игру из App Store и Google Play, так как этот проект стал слишком востребован для пользователей, который проводили в игре много времени.

В апреле 2021 года разработчик Нил Сардесай запустил игру Flappy Bird в интерактивном уведомлении для macOS.

В октябре 2023 года разработчик Нолен Роялти представил открытый проект игры под названием Flappy Dird, написанной на Python и AppleScript. Это аналог Flappy Bird, в который можно играть внутри штатного приложения macOS Finder.

Материал опубликован при поддержке сайта habr.com
Комментарии

    Актуальные новости по теме "Array"