TGViewer
GameDev: разработка игр GameDev: разработка игр @make_game · 7.64K subscribers
Post #1723 3.63K
Дверь, которая сломала Half‑Life 2

Бывший разработчик Valve Том Форсайт рассказал, как в 2013 году они делали VR‑порт Half‑Life 2 и внезапно наткнулись на баг прямо в самом начале игры. В сцене, где охранник должен провести Гордона через дверь, створка просто не открывалась, и игрок намертво застревал — ни вперёд, ни назад. Самое странное началось, когда они запустили обычную (не‑VR) версию на том же железе и увидели, что теперь та же сцена сломана и в «обычном» HL2, хотя в 2004 году все проходили её без проблем, а код вроде бы никто не трогал.​

Разобравшись, они выяснили, что баг родился на стыке двух классических источников боли в геймдеве: дверей и чисел с плавающей точкой. Оригинальный HL2 собирали под старый x87 FPU, где часть вычислений шла в 80‑битной точности, а более новые билды компилировались с использованием SSE, где всё жёстко обрезалось до 32 бит. В результате крошечное отличие в вычислениях физики привело к тому, что NPC сдвигался буквально на доли миллиметра, дверь чуть по‑другому поворачивалась — и персонаж больше не попадал в нужный триггер, который должен был открыть проход.​

Такой вот «баг из будущего». Двери и вычисления с плавающей точкой, коллеги. Гремучее сочетание, аккуратнее с этим.

@make_game
  • 🤯 26
  • ❤ 2
  • 🔥 1
  • 🦄 1
More from @make_game
  1. Sep 23, 2026Как сваривать вершины меша за линейное время В процедурной генерации части геометрии удобн…
  2. Sep 23, 2026Как строить фрактальные берега с многоуровневой диаграммой Вороного В диаграмме Вороного с…
  3. Sep 23, 2026Как подготовить генератор гекс-карт Unity к задачам Burst Одинаковые настройки и начальное…
  4. Sep 22, 2026Как пул объектов защищает эффекты от фрагментации памяти Один взмах посоха порождает сотни…
  5. Sep 22, 2026Как сервер засчитывает точный выстрел при сетевой задержке В быстрой сетевой игре ваш клие…
  6. Sep 22, 2026Как Binding of Isaac генерирует подземелья Сначала генератор строит план на сетке 9×8, зат…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →