1.2Kпросмотров
41.7%от подписчиков
27 декабря 2025 г.
Score: 1.3K
Как появился баг с дверью, который существовал всегда, но стал критическим спустя годы. Забавная история бага в Half Life 2. В 2013 году в Valve исследовали возможности работать с VR. И так получилось, что две игры использовали движок, в котором предполагался VR. Это Half Life 2 и Portal 1. Portal работал, но не ощущался в VR. А вот HL2 был неплох. И так как в этот же год обновлялся движок Valve и переиздавались старые игры. Было решено добавить поддержку VR. И казалось бы всё хорошо. Энтузиасты уже много играли и тестировали функции VR. Но никто не проходил игру, переходили к соответствующим сценам. Когда всё-таки решили пройти и выбрали новую игру, застряли в самом начале прохождения) Вот это начало обычной версии. Нужный тайминг 3.40. На видео бага нет, но в VR был. Самое забавное, что игра сломалась не только в VR. Но и переизданная версия не работала. Нужная дверь не открывалась, и продолжить игру было невозможно. Во время разбирательств даже скомпилировали оригинальную игру 2004 года и оказалось баг там тоже есть) Началась паника и варианты, что баг переместился во времени и заразил игру. Потребовались сутки, чтобы понять, что происходит. Если разобрать ситуацию технически, происходит вот что. Когда дверь разблокируется и начинает открываться, внутри комнаты стоит NPC. Он расположен чуть ближе, чем нужно: самый угол его коллайдера пересекается с траекторией двери. Совсем немного, буквально миллиметры. Дверь начинает открываться, слегка задевает носок охранника, получает импульс, отскакивает назад, закрывается и снова автоматически блокируется. Скрипта, который обработал бы этот кейс и повторно открыл дверь, нет -игрок застрял. Фикс очевидный: отодвинуть NPC на миллиметр назад. Правка была лёгкой на миллиметр подвинуть защитный кожух, но почему раньше это работало? Проблема в числах с плавающей запятой, компиляторе и физике объектов. В следующем посте расскажу чуть подробнее.🦄