Я запустил Need for Speed Underground 2 на телефоне. Нет, не через эмулятор. Сейчас объясню, и вам станет так же неловко, как мне
Добрый вечер, Пикабу.
Помните 2005 год? Вы приходите из школы, включаете комп, а там Underground 2: неон, Rachel на «Хаммере», «Riders on the Storm» и ваша «Нива», которую вы по-честному пытались сделать похожей на Skyline. Не вышло. Неон вышел.
Прошло двадцать лет. В кармане у меня телефон мощнее того компа раз в сорок. И я подумал: ну уж теперь-то.
Как обычно запускают старые игры на телефоне? Берут эмулятор. Эмулятор притворяется Windows, Windows притворяется, что у неё есть видеокарта, а видеокарта притворяется, что это 2005 год. Телефон греется так, что на нём можно жарить яичницу, и выдаёт двенадцать кадров в секунду. Шесть из них — загрузочный экран.
А тут люди пошли другим путём. Я бы сказал — путём, которым нормальный человек не пошёл бы никогда.
Берётся SPEED2.EXE — тот самый исполняемый файл игры. И переводится в обычный код на языке C. Целиком. Это называется статическая рекомпиляция.
Масштаб, чтобы вы понимали: 27 742 функции, 8,9 миллиона строк кода на C и ноль ошибок при переводе.
Восемь. Миллионов. Строк. Я как-то ТЗ на две страницы три дня писал, а тут машина за полторы минуты выдаёт текст длиннее «Войны и мира», и он ещё и работает.
Дальше этот код собирается нативно под ARM64, то есть под ваш телефон. Никакого эмулятора, никакого переводчика на лету: игра думает, что она родилась на Android. Графика Direct3D 9 переводится в Vulkan через DXVK, звук идёт через AAudio. Всё по-взрослому.
Что там есть. Сенсорное управление, которое можно двигать, увеличивать и сохранять раскладки, — в трёх стилях: классика, Xbox и PlayStation.
Руление наклоном телефона. Да, можно крутить телефон как руль. Да, в метро на вас будут смотреть. Нет, это не повод останавливаться.
Геймпады подхватываются сами, сенсорные кнопки при этом прячутся. Есть лимит FPS (30, 60, 90, 120) и масштаб разрешения — для тех, кому дорог аккумулятор. И широкоэкранный режим с исправленным интерфейсом, а не растянутые 4:3, как вы привыкли.
Теперь про русификатор. Отдельная гордость: всё на русском. Вообще всё.
Сама игра — на русском: меню, гараж, сюжет, эсэмэски от Рэйчел. Двадцать лет назад вы бы за такое отдали диск с GTA: Vice City и ещё доплатили бы.
Приложение тоже переведено: лаунчер, настройки, редактор управления, проверка драйвера, диагностика — всё на нормальном русском, а не «Применить калибровать отменить да». Документация проекта тоже переведена.
Язык интерфейса переключается в настройках Android отдельно от языка самой игры. Хотите — лаунчер на русском, игра на английском. Хотите — наоборот. Свобода.
Самое приятное. В релизах лежит готовый APK, в котором игра уже установлена. Не нужно никуда копировать файлы, искать папку nfsu2 во внутренней памяти и выяснять, почему она «не видит SPEED2.EXE». Скачали, поставили, при первом запуске приложение само распакует игру (нужно около 2 ГБ свободного места) — и поехали.
Скачать APK: https://github.com/des1roer/nfsu2-recompiled/releases/downlo...
Работоспособность проверена на живом Xiaomi 15T. Нужен Android 10 или новее и Vulkan 1.1+. Лучше 64-битный ARM-телефон — есть и отдельная 32-битная сборка, но это для смелых.
Честно скажу: по дороге телефон один раз сказал игре «до свидания» прямо на старте — приложение пыталось загрузить библиотеку, которой в сборке не было. Это починили. Теперь до свидания говорят только копы на гонках.
Кому спасибо. Автору порта, рекомпиляции и Android-версии codepdbh: https://github.com/codepdbh/nfsu2-recompiled
Инструменту pcrecomp, который превращает .exe в C: https://github.com/sp00nznet/pcrecomp
SHAREN — за локализацию интерфейса на русский, испанский и английский. И ThirteenAG — за WidescreenFix, на основе которого сделан широкоэкранный режим.
В общем. Двадцать лет назад я не мог доехать на этой игре до конца карьеры, потому что мама выключала компьютер в 22:00.
Теперь у меня NFSU2 в кармане. И мамы рядом нет.
Ставьте, катайте, пишите в комментариях, на каком телефоне запустилось. Если не запустилось — в лаунчере есть кнопка «Сообщить о проблеме», она соберёт лог и откроет отчёт на GitHub. Не стесняйтесь.
Всем неона под днищем.
UPD:
https://github.com/des1roer/nfsu2-recompiled/releases/tag/1.0.42
Игра стала быстрее примерно на 30% — просто заметнее меньше тормозит в гонке.
Широкий режим: три варианта на выбор — исправленный HUD под широкий экран, растянутый оригинал 4:3 или оригинал 4:3 с подвинутой миникаркой.
Чит на деньги: в меню чит-кодов можно просто нажать «+$100 000» или «+$1 000 000» — зачисляется мгновенно, без беготни по кодам.
Чит на тюнинг: коды на открытие деталей (производительность и визуал).
Спидометр: сверху по центру экрана теперь крупно показывает скорость в км/ч во время гонки.

