Спустя 20 лет разработчик GTA: San Andreas рассказал о баге, который вызывал авиакатастрофы
В GTA: San Andreas небольшие самолеты могут спавниться в мире игры, чтобы пролететь неподалеку от игрока. Как отмечает бывший разработчик Rockstar Оббе Вермей, "иногда они разбиваются" — это результат нескольких ошибок в коде, о которых он рассказал в недавнем твите, а также еще одной, о которой один из моддеров игры сообщил ему спустя почти 20 лет.В твиттере Вермей объяснил, как работали самолеты. Перед спавном код проверял потенциальные препятствия на траектории полета, сканируя пространство по направлению движения самолета. Чтобы ограничить использование ресурсов, сканирование проводилось только от фюзеляжа и кончиков крыльев, но это означало, что тонкие объекты могли не обнаруживаться, отправляя самолеты в суицидальные полеты, которые приводили к падению на землю, с потенциально катастрофическими последствиями для игрока.В других случаях самолеты могли терять высоту при спавне, потому что их начальная скорость была слишком мала для создания подъемной силы, или они могли появляться слишком высоко и пикировать вниз до правильной высоты. Либо карта могла прогрузиться только после спавна самолета, из-за чего на пути оказывалось препятствие, которое невозможно было просканировать.Вермей говорит, что знал обо всех этих проблемах, и в какой-то момент даже задумался о полном удалении пролетов. Однако они остались в игре, как и авиакатастрофы, но в GTA: San Andreas был еще один баг, о котором Вермей не знал почти 20 лет. Моддер Silent выделил другую проблему, объяснив, что самолеты на самом деле разбиваются чаще, чем должны, из-за бага обнаружения столкновений — ложноположительного срабатывания, которое позволяло самолетам появляться на заблокированном пути, считая его свободным.В ответ Вермей признался, что не знал об этом баге в коде и даже назвал ошибку "позорной". Однако оба согласились, что из-за сложности оценки наличие проблемы обнаружить ее было крайне трудно. Silent даже предположил, что этот баг, исправленный в его версии кода — настоящий кошмар для QA, который очень сложно воспроизвести.В последние месяцы Вермей много рассказывал о процессе разработки GTA: San Andreas. В ноябре он был готов поделиться подробностями о внутренней работе во время пребывания в Rockstar, но его попросили прекратить рассказы о внутренней кухне. С тех пор он также рассказал о других особенностях, включая загадку трех лун в игре.