Разработчики столкнулись с неожиданным багом.
Бывший сотрудник Valve Том Форсайт вспомнил историю из 2013 года, когда команда экспериментировала с VR-версией Half-Life 2. Однако студия столкнулась с забавным, но критическим багом.
Как Форсайт написал в Mastodon, уже через пару минут после старта VR-сборка полностью софтлочилась. В сцене, где охранник должен впустить игрока в комнату, дверь просто не открывалась, ломая весь последовательный скрипт.
Форсайт позвал других разработчиков, включая тех, кто делал оригинал. Тесты показали, что проблема не в VR, баг возникал даже в обычной версии, если её пересобрать нынешним компилятором.
В итоге причина нашлась: за дверью стоит другой охранник, и в оригинальной сцене его позиция просчитана с микроскопической точностью. Когда дверь начинает открываться, она слегка толкает NPC, тот от этого почти незаметно поворачивается, и в старом билде этого поворота хватает, чтобы его ботинок вышел из траектории двери, и дальше игра работает как надо. А вот в новой сборке поворот получается чуть меньше, настолько незначительный, что палец на ноге охранника всё ещё остаётся на пути двери. Дверь наталкивается на препятствие и блокируется. Игрок стоит и ждёт скрипт, который никогда не сработает.
Причина оказалась чисто технической. Старые сборки Half-Life 2 работали на вычислениях процессоров x87, где плавающая запятая хранилась в другой точности. Новый компилятор использует SSE, и из-за едва заметных отличий в математике изменилось поведение физики.
Ранее мы рассказывали, что сразу несколько надёжных инсайдеров верят, что анонс Half-Life 3 произойдёт уже в ближайшее время. По их данным, игру покажут до конца года.