ИГРЫ И НЕ ТОЛЬКО

Noita для Android: нативный порт без эмуляторов

Разработчик zhouwuqi выпустил noitadroid 0.1.0 — нативный порт Noita для Android, работающий напрямую на ARM64 без эмуляторов. Сборка APK требует самостоятельной компиляции из версии GOG.

Noita для Android: нативный порт без эмуляторов

Разработчик под псевдонимом zhouwuqi представил проект noitadroid версии 0. 1. 0 — нативный порт пиксельного рогалика Noita от студии Nolla Games для Android. В отличие от привычных способов запуска компьютерных игр на смартфонах, порт работает напрямую на процессоре устройства и не использует эмуляторы вроде Winlator, Box64 или программные прослойки Wine и Proton.

Как устроен порт

В основе технологии лежит статическая рекомпиляция на базе наработок проекта mina4mac от инженера Paul Straw. Исходный 32-битный исполняемый файл для Windows преобразуется в чистый код на языке C, после чего компилируется с помощью Android NDK в нативные инструкции для архитектуры ARM64. Графическая часть игры, рассчитанная на OpenGL 2. 1, запускается поверх OpenGL ES 3. 0 благодаря транслятору gl4es, а системные вызовы операционной системы подменяются связкой из библиотек SDL2 и встроенного компилятора LuaJIT.

Репозиторий не содержит игрового кода или ассетов, поэтому готовый APK для скачивания отсутствует. Приложение собирается самостоятельно из собственной копии Noita из GOG. Собранный файл содержит код игры и библиотек FMOD, поэтому его нельзя распространять, поясняет разработчик.

Из-за юридических нюансов и требований лицензий автор принципиально отказался от распространения готового установочного пакета. Желающим запустить проект придется собрать APK самостоятельно на компьютере под управлением Linux. По данным создателя, на операционной системе Ubuntu 24. 04 процесс полной компиляции занимает около 15 минут на процессоре с 12 ядрами.

Дополнительной сложностью выступает жесткая привязка к конкретному дистрибутиву игры. Порт совместим исключительно с офлайн-установщиком из сервиса GOG версии 20250125-1640 от 25 января 2025 года. Вариант из магазина Steam запустить не получится из-за кардинальных различий в структуре исполняемого файла. Также пользователю требуется отдельно загрузить с сайта разработчиков звуковую библиотеку FMOD Engine 2. 01. x для Android, без которой проект работает в полностью беззвучном режиме.

Тестирование проекта проводилось на портативной игровой консоли AYANEO Pocket S с чипом Qualcomm Snapdragon G3x Gen 2 под управлением Android 13. В начальных локациях пещер игра демонстрирует от 50 до 60 кадров в секунду при полноценном разрешении 1920 на 1080 точек. Управление реализовано как с помощью физических кнопок геймпада, так и через сенсорный экран, где прикосновения пальцев полностью эмулируют курсор мыши.

Для удобства в порт добавлено встроенное инженерное меню, выдвигающееся свайпом от левого края дисплея. Меню отображает текущую частоту кадров и температуру процессора, дает возможность переназначать кнопки управления и поддерживает прямой обмен сохранениями с компьютерной версией. Игрок может перенести директорию сохранений из папки Nolla_Games_Noita с операционной системы Windows в память портативного устройства и продолжить прохождение.

Для базовой работы проекта заявлена поддержка 64-битных чипов ARM, графического интерфейса OpenGL ES 3. 0, операционной системы Android 10 или новее, а также наличие не менее 2 ГБ свободного дискового пространства. Создатель порта отмечает, что масштабная физическая симуляция каждого пикселя в поздних игровых биомах создает колоссальную нагрузку на центральный процессор, поэтому стабильность кадров на менее производительных однокристальных системах пока остается под вопросом.

Как тебе материал?

0 реакций
Как тебе материал?0 реакций
Комментарии

Обсуждение

Загружаем обсуждение…