GTA в браузере снова перестала быть шуткой из форумов: Vice City и GTA III доступны в веб-версии, причём на десктопе порт Vice City может работать быстрее 100 FPS. Для разработчиков это не только ностальгия по 2000-м, но и живой пример того, как реверс-инжиниринг, WebAssembly и WebGL 2 вытаскивают старые нативные игры в обычную вкладку браузера.
О возвращении проектов сообщает Tom's Hardware. По данным издания, Grand Theft Auto: Vice City теперь запускается на сайте Quenq; там же доступна и GTA III. Ранее Vice City уже появлялась в браузере на DOS Zone, но проект быстро сняли после DMCA-жалобы со стороны Take-Two. Теперь игра снова доступна, хотя в меню паузы Vice City по-прежнему видно упоминание DOS Zone, что намекает на преемственность сборки.
С технической стороны это выглядит куда интереснее очередного «запустили Doom на холодильнике». Vice City изначально вышла на PlayStation 2 в 2002 году, а затем добралась до Xbox и PC. Спустя почти четверть века она загружается в браузерном окне, поддерживает клавиатуру и мышь, контроллеры, сенсорное управление, сохранения и менеджер модов. Последний позволяет загружать собственные файлы прямо в браузерную среду. Читы тоже работают, если подключить внешнюю клавиатуру.
Tom's Hardware проверила Vice City на OnePlus 12: игра загрузилась сразу и нормально управлялась в альбомной и портретной ориентации. На десктопе порт смог выйти за отметку 100 FPS. При этом разработчики предусмотрели ограничитель частоты кадров: оригинальная Vice City была рассчитана примерно на 30 FPS, а слишком высокий фреймрейт в старых играх часто ломает физику, анимации и скрипты. Любой, кто когда-либо видел, как ретро-движок начинает вести себя странно на современном железе, поймёт, почему эта настройка не косметическая.
Вероятная основа Vice City-порта — reVC, community-проект по декомпиляции оригинальной GTA: Vice City в читаемый C++. Для GTA III, по той же логике, используется re3 — похожий проект для третьей части серии. Дальше в дело вступает WebAssembly: он позволяет компилировать C++ в формат, который браузер может исполнять с высокой производительностью. Графика, судя по описанию, идёт через WebGL 2, то есть браузер обращается к GPU напрямую через специализированный API, а не пытается рисовать Либерти-Сити средствами обычной веб-вёрстки. Спасибо, конечно, но таблицами Vice City лучше не рендерить.
GTA III на Quenq работает похожим образом: доступны те же варианты управления и настройки, но без менеджера модов. Tom's Hardware пишет, что порт запускался стабильно на нескольких устройствах. В отличие от Vice City, в меню GTA III нет явного указания на DOS Zone, поэтому источник осторожно предполагает, что это не прямое копирование старого проекта. Формулировка важная: в такой теме легко перейти от технического разбора к юридическим фантазиям, а фактов для них обычно меньше, чем эмоций в комментариях.
Юридическая часть остаётся самой скользкой. DOS Zone, по данным Tom's Hardware, снова показывает обе игры в каталоге, но теперь требует загрузить игровые ассеты самостоятельно. Там же есть возможность получить данные через torrent после нажатия кнопки, но площадка сопровождает это дисклеймерами и перекладывает ответственность за пиратство на пользователя. После DMCA-жалобы Take-Two такая модель выглядит ожидаемо: код и оболочка отдельно, коммерческие ресурсы игры — зона риска, которую сервис старается формально не трогать.
Для индустрии это ещё один сигнал: браузер давно перестал быть средой только для форм, SPA и корпоративных дашбордов. WebAssembly уже используется для редакторов, CAD-инструментов, эмуляторов, аудио- и видеософта, а игровые порты показывают пределы нагляднее любых бенчмарков. Если игра эпохи PS2 с открытым миром способна работать во вкладке и на смартфоне, вопрос для разработчиков звучит практично: какие ещё старые нативные приложения можно перенести в веб без полной переписи?
GTA в браузере при этом не отменяет старую проблему: реверс-инжиниринг может быть технически элегантным, но права на ассеты, бренды и распространение никуда не исчезают. Скорее всего, мы увидим больше таких портов с моделью «принеси свои файлы», особенно для игр и приложений, которые уже разобраны сообществом до винтика. А правообладатели будут решать, что опаснее: закрывать такие проекты DMCA-заявками или признавать, что энтузиасты иногда лучше сохраняют историю продукта, чем его владельцы.