Розробник переніс клієнт 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 запланована після завершення тестів інструментарію розпакування.