Halo: Combat Evolved с кампанией и мультиплеером запустили в браузере

Первую часть Halo теперь можно запускать прямо в браузере. Разработчики браузерного порта перенесли Halo: Combat Evolved вместе с сюжетной кампанией и мультиплеером, поэтому для игры не требуется устанавливать отдельный клиент.
Перед запуском сервис просит подтвердить наличие у пользователя оригинальной копии игры. При этом технической проверки владения нет — подтверждение остаётся формальным условием доступа.
В основе — код версии для Xbox
Проект построен на восстановленном коде Xbox-версии Halo: Combat Evolved. Разработчики декомпилировали исполняемый файл, извлекли из него исходный код и адаптировали его для сборки на других платформах. Ранее этот же код использовали для портов игры под Windows, Linux и Android.
Веб-версию собрали с помощью Emscripten, который позволяет компилировать проект в WebAssembly. За вывод графики отвечает WebGL 2. Игра рендерится непосредственно на устройстве пользователя, а не на сервере: серверу не нужно обрабатывать изображение и передавать его видеопотоком.
Изменения в сетевой игре
Для сетевого режима порт использует каналы WebRTC. При этом разработчики переработали исходную модель синхронизации. В оригинальной Xbox-версии все участники просчитывали игру синхронно и ожидали обновлений от ведущей консоли. В браузерном варианте клиент сразу обрабатывает перемещения игрока, а ведущее устройство отвечает за расчёт урона, счёта и регистрацию убийств.
Такой подход сокращает задержку при управлении: игроку не приходится ждать полного обмена данными с хостом, чтобы увидеть реакцию на собственное движение. Состояние матча дополнительно сохраняется в контрольных копиях каждые 15 тиков.
Если ведущий игрок потеряет соединение или завершит сессию, роль хоста автоматически перейдёт к другому участнику. После возвращения отключившийся пользователь получает актуальное состояние игры. Заявленная архитектура поддерживает до 128 игроков, подключённых с 128 разных машин.
Требования к браузеру
Для запуска нужны актуальные версии браузеров с поддержкой необходимых веб-технологий: Chrome 137, Edge 137, Firefox 153 или Safari 27 и новее. Исходный код проекта опубликован на GitHub, включая отдельную ветку с веб-версией порта.


