Сегодня у нас с вами есть интересный повод для разговора. Driver 2, эксклюзивная игра для PlayStation 2000 года, неожиданно ворвался в сводки мировых новостей (PCGamer, GameRant, Kotaku). Причиной тому - неофициальный ПК порт, который находится в разработке уже полгода под авторством вроде бы русскоязычного товарища SoapyMan (Ilya). Целью проекта, очевидно, является нативный перенос игры на персональные компьютеры.
Понятно, что исходного кода игры в публичном доступе нет, поэтому применяется обратная разработка скомпилированного двоичного файла игры. Однако, обычно это неподъёмная задача, на которую запросто может уйти несколько лет. Почему же проект ReDriver 2 выстрелил так быстро? Этому есть несколько причин:
Во-первых, американская NSA и её тулкит для обратной разработки Ghidra. Если вы не в курсе, это универсальный транслятор из машинных кодов в более-менее читаемый текст для целой пачки аппаратных платформ.
Во-вторых, плагин ghidra_psx_ldr от Vladimir Kononovich (lab313ru), который позволяет загружать в Гидру файлы PSX, понимает дебажные SYM файлы и проставляет вызовы стандартных библиотек Psy-Q. Вы наверняка знакомы с другой работой этого человека - tim2view.
В-третьих, высокоуровневый эмулятор из проекта TOMB5, который включает открытую реализацию библиотек Psy-Q от GhostBlade.
В-четвёртых, в одной из версий игры (если не ошибаюсь, в испанской) фанаты уже довольно давно обнаружили те самые символьные файлы, которые позволяют узнать точные имена функций и переменных в игре.
В-пятых, и пожалуй - это самая главная причина, SoapyMan - большой фанат серии Driver. 6 лет назад он же расковырял формат уровней и написал распаковщик для них. К слову, это позволило перенести города Driver 2 на другие движки (Grand Theft Auto IV,BeamNG).
Для игры достаточно распаковать файлы проекта и скопировать файлы с диска в папку DRIVER2 (она уже там есть, так что не ошибётесь). Настройки игры меняются через редактирование файла config.ini. К слову, порт замечательно работает с рипом с нашего сайта.
Конечно, это всё ещё глубокая альфа, поэтому пока чувствуется, что это всё-таки эмуляция, а не полноценный порт. Из возможностей можно отметить поддержку PGXP, различных разрешений, фильтрации текстур, а также автоматическое сохранение прогресса. Кроме того, в миссиях с преследованием поддерживаются нестандартные маршруты от сообщества, так что если вы знаете наизусть куда поедет преследуемый автомобиль, вас ждут сюрпризы. В остальном игра работает стабильно и этого уже должно хватать для прохождения.
В комментариях некоторые игроки уже высказали опасения, что проекту могут грозить проблемы по DMCA, но всё же будем надеется, что Ubisoft, которая нынче владеет правами на серию Driver, проявит благоразумие, и не будет преследовать разработчика так, как это делала Nintendo с портом Mario64 (а он, на секундочку, всё ещё есть в открытом доступе). Мы бы точно не отказались от достойного продолжения "водилы". Ну или пусть хотя бы вернут Driver: San Francisco в Steam...