Программист Valve рассказал, как чинил очень старый баг в Half-Life
Справиться с ошибкой оказалось не так-то легко.
Кстати, на сайте читать удобнее
Один из последних патчей для Half-Life исправил очень старую ошибку: в шестой главе щупальце уже очень много лет некорректно хватало ученого. Программист Valve Бен Бербанк рассказал, как была исправлена эта ошибка; оказалось, справиться с ней было нелегко.
Баг, прикидывает Бербанк, существует уже десятилетия: он проявляется на компьютерах с операционной системой Windows 2000 или новее. У разработчиков было три варианта исправления ошибки:
- Поправить код, отвечающий за сцену и анимации.
- Поправить анимацию.
- Поправить карту так, чтобы игрок видел анимацию на более поздней стадии, когда все работает нормально.
Как объясняет Бен, править код было опасно: не факт, что не сломалось бы что-нибудь еще. Правка анимации тоже не решила бы проблему: игрок мог выстрелить в ученого и снова сломать сцену. В итоге был выбран третий вариант.
Сперва Бербанк поправил карту с помощью обычного редактора. Оказалось, это не лучшая идея: при перекомпиляции карты на современной системе BSP-древо сильно изменилось, теоретически в локации могли появиться различные ошибки.
Бен решил схитрить. Разработчик сохранил оригинальную карту и отредактировал уже скомпилированный файл с помощью шестнадцатеричного редактора. BSP-древо осталось прежним, значит, другие ошибки не появились.
На исправленной версии карты анимация ученого и щупальца запускалась сразу после того, как игрок открывал дверь. Как объясняет Бен, это гарантировало, что игрок не сможет сломать анимацию выстрелом в ученого, сама анимация при этом тоже выглядела нормально.
Увидеть обе версии сцены можно в ролике канала Blood_Wraith.
- Найдена новая бета-версия Half-Life — в нее можно сыграть прямо сейчас
- В виде хедкраба из Half-Life сделали массажер
- 3 лучших трейлера недели: Аквамен, Франкенштейн и Рик Граймс
- Epic Games: Sony запрещает продавать контент для PlayStation дешевле, чем в PS Store
- В Half-Life исправили многолетний баг — вышел третий апдейт к 25-летию
- Half-Life получила патч с исправлениями для праздничного апдейта