Лучшее  🚀
26.11.2023 в 18:00 Evernews

Программист Valve рассказал, как чинил очень старый баг в Half-Life

Справиться с ошибкой оказалось не так-то легко.

Кстати, на сайте читать удобнее

Один из последних патчей для Half-Life исправил очень старую ошибку: в шестой главе щупальце уже очень много лет некорректно хватало ученого. Программист Valve Бен Бербанк рассказал, как была исправлена эта ошибка; оказалось, справиться с ней было нелегко.

Баг, прикидывает Бербанк, существует уже десятилетия: он проявляется на компьютерах с операционной системой Windows 2000 или новее. У разработчиков было три варианта исправления ошибки:

Как объясняет Бен, править код было опасно: не факт, что не сломалось бы что-нибудь еще. Правка анимации тоже не решила бы проблему: игрок мог выстрелить в ученого и снова сломать сцену. В итоге был выбран третий вариант.

Сперва Бербанк поправил карту с помощью обычного редактора. Оказалось, это не лучшая идея: при перекомпиляции карты на современной системе BSP-древо сильно изменилось, теоретически в локации могли появиться различные ошибки.

Бен решил схитрить. Разработчик сохранил оригинальную карту и отредактировал уже скомпилированный файл с помощью шестнадцатеричного редактора. BSP-древо осталось прежним, значит, другие ошибки не появились.

На исправленной версии карты анимация ученого и щупальца запускалась сразу после того, как игрок открывал дверь. Как объясняет Бен, это гарантировало, что игрок не сможет сломать анимацию выстрелом в ученого, сама анимация при этом тоже выглядела нормально.

Увидеть обе версии сцены можно в ролике канала Blood_Wraith.

Читать далее