Beta
Платформа Киберспорт.рф в бета-тестировании — возможны ошибки, часть функций дорабатываетсяПодробнее →Платформа Киберспорт.рф в бета-тестировании — возможны ошибки, часть функций дорабатываетсяПодробнее →
esport

Культовую стратегию Heroes of Might and Magic 5 полноценно перенесли на Android с помощью статической рекомпиляции

Автор: PlayGround.ru

Культовую стратегию Heroes of Might and Magic 5 полноценно перенесли на Android с помощью статической рекомпиляции

Энтузиаст под псевдонимом phys-winner представил нативный порт культовой пошаговой стратегии Heroes of Might and Magic 5 для мобильных устройств под управлением Android. В отличие от запуска через популярные эмуляторы вроде Winlator или Mobox, проект pc_decomp_homm5 создан на основе статической рекомпиляции. Оригинальный бинарный код формата x86 и 8 библиотек предварительно переведены в код на языке C, после чего скомпилированы напрямую под 64-битную архитектуру ARM64 с помощью Android NDK. Подобный подход обеспечивает прямое исполнение инструкций на мобильном процессоре без тяжелых прослоек виртуализации операционной системы Windows.

Проект охватывает сразу все 3 официальных релиза 5 части: базовую Heroes of Might and Magic 5 версии 1.6, дополнение "Владыки Севера" версии 2.1 и самостоятельный аддон "Повелители Орды" версии 3.1. Для каждого выпуска создается собственная изолированная библиотека с отдельными профилями настроек и файлами сохранений. Сборка опирается на лицензионные русскоязычные издания из комплекта Heroes of Might and Magic 5: Bundle от магазина GOG. Сам порт распространяется без защищенных авторским правом файлов, поэтому игрокам необходимо предоставлять собственные ресурсы игры, которые встроенный загрузчик считывает из папки или ZIP-архива с автоматическим преобразованием текстур в мобильные форматы ASTC или ETC2.

Ключевым достоинством порта стала комплексная адаптация управления под емкостные сенсорные экраны. Разработчик полностью отказался от неудобного виртуального курсора мыши в пользу нативных экранных жестов. Карта приключений перемещается привычным смахиванием, масштабируется и поворачивается 2 пальцами, а одновременное касание поля 3 пальцами мгновенно сбрасывает ракурс камеры. В тактических сражениях реализовано перетаскивание отрядов между полем боя и резервом, жесты для быстрого перелистывания книги магии и вызов подробных карточек существ касанием 2 пальца прямо во время выбора цели для удара.

Отрисовка трехмерной графики осуществляется через встроенный мост, транслирующий команды Direct3D 9 в инструкции OpenGL ES 3.2. В оригинальной игре и первом дополнении автор адаптировал окна интерфейса, боевые таймеры и шрифты под современные широкоформатные экраны смартфонов, а также переработал структуру буферов геометрии для стабильного фреймрейта. В исходном коде также предусмотрена поддержка графического API Vulkan через прослойку DXVK 2.4.1 и открытый драйвер Turnip для мобильных видеочипов Adreno, однако в готовых пакетах этот режим временно отключен из-за аппаратных сбоев на некоторых чипсетах.

Звуковая подсистема избавилась от характерных щелчков и артефактов при просадках частоты кадров благодаря переходу на системный сервер AAudio и внедрению ресемплера на базе 32-точечного sinc-фильтра, переводящего поток из 44.1 кГц в стандартные 48 кГц. Помимо одиночных кампаний и сценариев, порт поддерживает мультиплеер по локальной сети между смартфонами и оригинальной версией для ПК, а также подключение через виртуальные частные сети вроде Tailscale. Для дополнения Повелители Орды также внедрен переключатель популярной модификации New Creature Framework, расширяющей лимит существ со 180 до 1000 видов.

Завершение кампаний, каждая отдельная карта, любые графические чипы и версии Android не проверялись разработчиком. Результаты тестов в процессе создания не являются подтверждением полной совместимости. - phys-winner, создатель порта

Для запуска игры требуется мобильное устройство под управлением Android 8.0 или более свежей версии с обязательной поддержкой инструкций ARM64 и стандарта OpenGL ES 3.2. Проект продолжает развиваться в открытом репозитории, где ведется исправление редких сбоев в режиме горячего стула и оптимизация масштабирования интерфейса для экранов с нестандартным соотношением сторон.