Культовый шутер Half-Life 2 от Valve неожиданно преодолел границы на десктопных лаунчеров. Теперь игру можно запустить прямо в соседней вкладке. Приключения, где главным действующим лицом выступает бессменный Гордон Фримен, стали доступны абсолютно бесплатно и без всяких долгих установок. За этот дерзкий эксперимент отвечают энтузиасты под никами Slqnt и 98006.
Разработчики представляют команду Webport.ing, которая уже собаку съела на подобных браузерных портах. Получилось мощно. Полноценная веб-версия работает на удивление плавно, хотя долговечность такого аттракциона вызывает резонные опасения.
Содержание
Технические проблемы порта Half-Life 2 под WebGL 2
Техническая реализация проекта внушает уважение (особенно для любительского билда). Знаменитый физический движок бодро крутится на современных системах. Более того, авторы даже прикрутили функциональную консоль для любителей поковыряться в скрытых настройках. Прогресс не сгорает после закрытия вкладки, ведь система сохранений и загрузок работает как часы. Правда, без досадных потерь не обошлось. Знаменитая лицевая анимация, прославившая игру в 2004 году, куда-то испарилась. NPC исправно двигаются и разговаривают оригинальными голосами, но их лица застыли статичными масками.
Впрочем, геймплею с культовой гравипушкой это почти не мешает. Проект всё равно остаётся отличным шансом прикоснуться к классике жанра.
Как запустить Half-Life 2 в браузере на движке Source?
Собрать рабочий билд Half-Life 2 под WebGL 2 всего за три месяца — задача, которая на первый взгляд кажется чистым безумием. Однако это не магия, а ювелирная инженерная работа со свободным софтом. Основой для порта послужил Emscripten — незаменимый компилятор, умеющий переводить тонны C++-кода оригинального движка Source в легковесный формат WebAssembly (WASM). Браузеры щелкают его как орешки, выдавая производительность, близкую к нативной ПК-версии. За техническую основу энтузиаст slqnt взял наработки программиста nillerusr. Тот в своё время ковырял модифицированную версию движка, созданную на базе слитых в 2020 году исходников Team Fortress 2.

Данный кастомный код уже тогда снабдили библиотекой ToGLES — специальной прослойкой, которая транслирует тяжелые вызовы OpenGL в мобильный стандарт OpenGL ES. Парням из Webport.ing оставалось лишь замкнуть цепь: с помощью Emscripten они перевели OpenGL ES в WebGL 2, после чего картинка без проблем отрисовалась прямо во вкладке Chrome.
Разработка WebAssembly и оптимизация ресурсов игры
-
Оптимизация VPK архивов Half-Life 2 в Steam. Адаптация от nillerusr наотрез отказалась переваривать упакованные файлы юбилейного апдейта. Разработчикам пришлось экстренно переключаться на старую ветку steam_legacy в Steam, потрошить ресурсы игры и собирать их в кастомные .data-файлы отдельно под каждую локацию. В итоге новые уровни подгружаются фоном, пока вы играете.
-
Настройка сохранений IndexedDB в браузере. Понятно, что классическая файловая система Windows в браузере недоступна. На замену пришла IndexedDB — локальная база данных, встроенная прямо в веб-обозреватель. Прослойка IDBFS от Emscripten маскирует это хранилище, поэтому игра спокойно записывает и считывает сейвы, даже не замечая подвоха.
-
Исправление падения FPS и настройка управления. Прорывные для 2004 года лицевые анимации персонажей в веб-среде нещадно жрали FPS и намертво вешали вкладку, так что их безжалостно вырезали ради стабильности. С управлением тоже возник казус: привычный Ctrl пришлось перевесить на клавишу C. В противном случае браузер перехватывал зажатую кнопку и пытался выполнить свои системные команды.
Технические параметры и производительность веб версии
Важное уточнение: перед нами вообще не облачный гейминг. Никаких удаленных серверов или подписок в духе GeForce NOW тут нет — код выполняется локально силами вашей видеокарты и процессора. Браузер лишь скачивает карты по цепочке. Именно благодаря локальному просчету управления шутер ощущается максимально отзывчивым, без малейшего намека на инпут-лаг.
Пиратский порт против официальной скидки в Steam
Забавно, что релиз нелегальной браузерки совпал с масштабной распродажей. Прямо сейчас Valve срезала ценник на оригинальную игру на 80%.
В итоге забрать её в Steam можно меньше чем за 2 доллара — акция продлится до 9 июля. После этой даты прайс предсказуемо вернётся к стандартным 9,99 долларов. Учитывая строгую политику правообладателей, веб-версия рискует очень быстро словить страйк и исчезнуть из сети.
С релиза последней номерной игры серии прошло около шести лет, а мифическая Half-Life 3 так и остаётся главной индустриальной байкой. И пока фанаты ждут чуда, именно легальная покупка в магазине Габена остаётся самым надёжным способом поддержать франшизу. Ну а вкладка в браузере — скорее забавная технодемка для тех, кто хочет поностальгировать прямо на рабочем месте.

Комментарии
0Пока нет комментариев. Будьте первым, кто оставит комментарий!