Half-Life 10027
Аватар Evernews Evernews

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

1
0
Поделиться
Телеграфировать

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

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

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

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

  • Поправить код, отвечающий за сцену и анимации.
  • Поправить анимацию.
  • Поправить карту так, чтобы игрок видел анимацию на более поздней стадии, когда все работает нормально.

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

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

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

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

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

Теги: Half-Life, Игры
Аватар Evernews
Evernews
8067 подписчиков