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