Изображение к Бывший дизайнер Valve рассказал о баге в Half-Life 2, который обнаружили в 2013 году, но он существовал с момента релиза

Необычный случай при портировании игры для VR вскрыл ошибку, которую никто не встречал раньше.

Бывший дизайнер Valve Том Форсайт рассказал о редчайшем баге в истории Half-Life 2. В 2013 году команда работала над портом игры для Oculus Rift, когда Форсайт столкнулся с невозможностью пройти ранний участок кампании: дверь в одном из помещений мгновенно закрывалась, блокируя прохождение. 

Ситуация показалась особенно странной, поскольку подобного бага никто не видел с момента релиза 2004 года. Исследование показало, что ошибка присутствовала и в оригинальном, как-бы «нетронутом» коде, который Valve собрала заново из архивов.

Баг существовал всегда, но его никогда не замечали. Причиной оказалась не логика игры, а вычислительная точность разных инструкций процессора.

Выяснилось, что охранник в сцене стоял слишком близко к дверному проёму, и его палец касался створки, заставляя её закрываться обратно. На оборудовании 2004 года, где игра работала на наборе инструкций с хаотичной точностью в 32, 64 и 80 бит, физика просчитывалась «в пользу» прохождения: взаимодействие считалось недостаточным для блокировки.

На VR-станции 2013 года использовались инструкции SSE с иной точностью, из-за чего столкновение NPC с дверью стало считаться блокирующим. К счастью, исправить баг оказалось легко — достаточно было передвинуть NPC на пару сантиметров.

Valve - Бывший дизайнер Valve рассказал о баге в Half-Life 2, который обнаружили в 2013 году, но он существовал с момента релиза - screenshot 1
Заметили ошибку в тексте? Выделите ее и нажмите сочетание клавиш CTRL+Enter. Мы узнаем об опечатке/ошибке в кратчайший срок и исправим её.
Комментарии Всего комментариев 0