Спустя 20 лет разработчик GTA: San Andreas рассказал о баге, который вызывал авиакатастрофы

В GTA: San Andreas небольшие самолеты могут спавниться в мире игры, чтобы пролететь неподалеку от игрока. Как отмечает бывший разработчик Rockstar Оббе Вермей, "иногда они разбиваются" — это результат нескольких ошибок в коде, о которых он рассказал в недавнем твите, а также еще одной, о которой один из моддеров игры сообщил ему спустя почти 20 лет.

В твиттере Вермей объяснил, как работали самолеты. Перед спавном код проверял потенциальные препятствия на траектории полета, сканируя пространство по направлению движения самолета. Чтобы ограничить использование ресурсов, сканирование проводилось только от фюзеляжа и кончиков крыльев, но это означало, что тонкие объекты могли не обнаруживаться, отправляя самолеты в суицидальные полеты, которые приводили к падению на землю, с потенциально катастрофическими последствиями для игрока.

В других случаях самолеты могли терять высоту при спавне, потому что их начальная скорость была слишком мала для создания подъемной силы, или они могли появляться слишком высоко и пикировать вниз до правильной высоты. Либо карта могла прогрузиться только после спавна самолета, из-за чего на пути оказывалось препятствие, которое невозможно было просканировать.

Вермей говорит, что знал обо всех этих проблемах, и в какой-то момент даже задумался о полном удалении пролетов. Однако они остались в игре, как и авиакатастрофы, но в GTA: San Andreas был еще один баг, о котором Вермей не знал почти 20 лет.

Моддер Silent выделил другую проблему, объяснив, что самолеты на самом деле разбиваются чаще, чем должны, из-за бага обнаружения столкновений — ложноположительного срабатывания, которое позволяло самолетам появляться на заблокированном пути, считая его свободным.

В ответ Вермей признался, что не знал об этом баге в коде и даже назвал ошибку "позорной". Однако оба согласились, что из-за сложности оценки наличие проблемы обнаружить ее было крайне трудно. Silent даже предположил, что этот баг, исправленный в его версии кода — настоящий кошмар для QA, который очень сложно воспроизвести.

В последние месяцы Вермей много рассказывал о процессе разработки GTA: San Andreas. В ноябре он был готов поделиться подробностями о внутренней работе во время пребывания в Rockstar, но его попросили прекратить рассказы о внутренней кухне. С тех пор он также рассказал о других особенностях, включая загадку трех лун в игре.

Больше статей на Shazoo
Тэги: