Разработчик под псевдонимом 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 самостоятельно на компьютере под управлением 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 ГБ свободного дискового пространства. Создатель порта отмечает, что масштабная физическая симуляция каждого пикселя в поздних игровых биомах создает колоссальную нагрузку на центральный процессор, поэтому стабильность кадров на менее производительных однокристальных системах пока остается под вопросом.
Источник новости: www.playground.ru

