Недавний разговор о проблемах с дверями в играх напомнил мне об ошибке в Half Life 2. В 2013 году, когда я работал над проектами VR в Valve, мы решили адаптировать Team Fortress 2 для виртуальной реальности. Поскольку HL2 и Portal 1 также использовали движок Source 1, они автоматически стали совместимыми с VR.
Однако во время тестирования HL2 я столкнулся с багом: застрял в коридоре с охранником, который не открывал дверь. Оказалось, что охранник стоял слишком близко к двери, что мешало ей открываться. Мы собрали команду, чтобы разобраться в ситуации, и выяснили, что этот баг существовал и в оригинальной игре, выпущенной в 2004 году, но не проявлялся благодаря особенностям вычислений.
После долгих поисков мы поняли, что причина кроется в различиях между математическими наборами команд. Исправление оказалось простым: переместили охранника на миллиметр назад. В итоге, это показало, как важны детали в разработке игр и как старые баги могут вылезти на поверхность в новых версиях.