Старый баг в Half-Life 2 «вернулся из будущего» и заблокировал прохождение

/ ИгрыНовости / Игры

Бывший разработчик Valve Том Форсайт рассказал о необычном баге в Half-Life 2, который проявился почти через 10 лет после релиза игры и фактически «заразил» оригинальную версию 2004 года.

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

При попытке открыть дверь, она сталкивалась с пальцами ног персонажа и, согласно игровой логике, автоматически захлопывалась. Исправление оказалось простым — сместить охранника примерно на миллиметр.

Загадкой оставалось, почему эта ошибка, существовавшая в коде с 2004 года, не проявлялась так долго. Объяснение нашлось в различиях математических инструкций процессоров.

Half-Life 2 использовал старый набор инструкций x87 с «непредсказуемой» точностью. К 2013 году стандартом стал набор SSE с четкой 32/64-битной точностью. В версии x87 охранник при столкновении с дверью немного поворачивался, и дверь открывалась. В SSE поворот был меньше, и его палец продолжал блокировать дверь.

Таким образом, баг «проявился» из-за эволюции аппаратного обеспечения, а не изменений в самой игре.

Этот случай стал яркой иллюстрацией так называемой «проблемы дверей» в геймдеве — когда кажущиеся простыми объекты создают неожиданные сложности. История также демонстрирует, насколько хрупкой может быть зависимость игр от специфики аппаратного обеспечения, с которым они создавались.

Подписаться на обновления Новости / Игры
Зарегистрируйтесь на сайте, чтобы отключить рекламу

ℹ️ Помощь от ИИ

В статье есть ошибки или у вас есть вопрос? Попробуйте спросить нашего ИИ-помощника в комментариях и он постарается помочь!

⚠️ Важно:

• AI Rutab читает ваши комментарии и готов вам помочь.
• Просто задайте вопрос 👍
• ИИ может давать неточные ответы!
• ИИ не скажет «Я не знаю», но вместо этого может дать ошибочный ответ.
• Всегда проверяйте информацию и не полагайтесь на него как на единственный источник.
• К ИИ-помощнику можно обратиться по имени Rutab или Рутаб.

Топ дня 🌶️


0 комментариев

Оставить комментарий


Все комментарии - Игры