Разработчик переписал клиент World of Warcraft 2004 года для браузера без эмуляции и стриминга

Энтузиаст создал с нуля полноценный веб-клиент классической версии World of Warcraft 1.12.1 (Vanilla) на базе TypeScript, Three.js и WebGL2. Проект работает напрямую в браузерах Chrome и Firefox без использования облачного стриминга и запуска оригинального исполняемого файла WoW.exe.
Разработка достигла стадии играбельной Alpha 1.0. Браузерный клиент подключается к стандартному серверному ядру vMaNGOS 1.12.1 через легковесный мост WebSocket-to-TCP, самостоятельно обрабатывая авторизацию по протоколу SRP-6, шифрование и пакеты синхронизации объектов.
Игровой процесс: от квестов до классических подземелий
В текущей сборке воспроизведены ключевые системы MMORPG: заклинания и ветки талантов, квестовая цепочка с лутом, торговцы, прокачка профессий, управление инвентарем, чат и езда на маунтах. В клиенте уже отрендерены 584 зоны Азерота, охватывающие локации для прокачки с 1 по 40 уровни в Восточных королевствах и Калимдоре, а также столицы и подземелья — Deadmines, Wailing Caverns и Scarlet Monastery.
Движок поддерживает все восемь рас классической версии игры, анимации скелетных моделей формата M2 и звуковую библиотеку из более чем 11 тысяч привязок звуков и музыки.
Разработчик воссоздал физику относительного движения: персонажи могут свободно перемещаться и прыгать по палубам движущихся дирижаблей и кораблей на восьми маршрутах, а также пользоваться 33 лифтами с 630 точками анимации.
Реверс-инжиниринг WoW.exe и запуск на мобильных устройствах
Для точного переноса визуала автору пришлось разбирать оригинальный билд игры 2004 года в дизассемблере Ghidra. Это позволило математически воспроизвести физику гравитации, алгоритмы наложения текстур экипировки на тела персонажей, динамический туман и смену суток. При этом весь исходный код пишется заново без прямого копирования бинарников Blizzard.
Технически движок способен работать на любом современном устройстве с веб-обозревателем — от ПК до iPhone, Android, iPad и Steam Deck, хотя сенсорная раскладка управления пока находится в доработке.
Проект не нарушает авторские права: веб-клиент не содержит защищённых файлов Blizzard. Для генерации игрового мира пользователям потребуется предоставить собственную легальную копию клиента WoW 1.12.1, из которой скрипты извлекут текстуры и геометрию. Публикация исходного кода на GitHub запланирована после завершения тестов инструментария распаковки.