14 июля 2018 14.07.18 88 1730

Искусственный интеллект в Aliens: Colonial Marines был сломан из-за одной-единственной буквы

Aliens: Colonial Marines способна удивить своей безалаберностью даже спустя пять лет после релиза. Оказывается, многие проблемы с искусственным интеллектом в игре связаны с одной-единственной буквой в коде.

Пользователь Mod DB под ником jamesdickinson963 обнаружил неурядицу ещё в ноябре 2017-го, но новость стала бомбой замедленного действия: профильные издания обратили внимание на ошибку после того, как её несколько часов назад описали на форуме ResetEra.

Суть следующая. У Aliens: Colonial Marines есть файл конфигурации по адресу My Documents\My Games\Aliens Colonial Marines\PecanGame\Config\PecanEngine.ini. В нём нужно отыскать вот такую строчку:

ClassRemapping=PecanGame.PecanSeqAct_AttachXenoToTether -> PecanGame.PecanSeqAct_AttachPawnToTeather

Обратите внимание: слово Tether повторяется два раза, но во втором случае появляется лишняя «a». То есть верный код должен выглядеть так:

ClassRemapping=PecanGame.PecanSeqAct_AttachXenoToTether -> PecanGame.PecanSeqAct_AttachPawnToTether

Лишняя «a» — и есть та злосчастная буква, которая портит компьютерные мозги в Aliens: Colonial Marines. Как пишет jamesdickinson963, когда Чужие появляются в игре, команда AttachPawnToTether подсказывает им, где находится зона для боя и разные выходы. Пользователь Mod DB предполагает, что исправленная строчка кода позволит противникам преследовать игрока или обходить его с фланга. Кроме того, Чужие должны разбегаться, если собрались в слишком большую кучу, — в тесной группе они уязвимы для оружия с уроном по области.

 

Автор PC Gamer попробовал исправление и передаёт, что оно действительно работает. Оригинальная игра славится своим идиотским ИИ: например, если убегать от Чужого и маневрировать, то бедный Чужой обычно путается в двух соснах и крайне странно себя ведёт. Но стоит убрать лишнюю букву в коде, как противники начинают преследовать игрока намного агрессивнее.

Конечно, гениями Чужие тоже не становятся, но всё равно избавляются от многих глупых ошибок. Демонстрацию исправленного ИИ можно увидеть в «гифках» на PC Gamer.

ИИ — одна из самых очевидных проблем Aliens: Colonial Marines, её отметили во многих рецензиях. Возникает закономерный вопрос: а почему за столько лет разработчики не исправили этот грубый, но элементарный баг?

Быть может, ответ кроется в запутанном производстве Aliens: Colonial Marines. Формально игру делала Gearbox Software, однако впоследствии выяснилось, что огромное количество работы отдали подрядчикам из TimeGate Studios — они занимались в том числе сюжетной кампанией, пока основной состав Gearbox возился с Borderlands 2.

Через два с половиной месяца после выхода Aliens: Colonial Marines начальство TimeGate Studios объявило о банкротстве. Возможно, баг с ИИ затерялся при взаимодействии двух команд разработчиков, но указать на ошибку (пусть и после релиза) было уже некому.


Поддержи Стопгейм!

Aliens: Colonial Marines

Платформы
PC | PS3 | X360
Жанр
Дата выхода
12 февраля 2013
472
2.2
716 оценок
Моя оценка

Лучшие комментарии

Это, конечно, хорошо.
Но какая буква сломала игру в целом и какая буква сломала интеллект Рэнди Питчфорда в частности?
Как и одна крохотная по меркам всего кода ошибка в ДНК -> и ты родился слепым, 50% ошибок -> и ты банан.
Но исправив одну букву игра станет менее редкостным гуаном
Как сейчас помню, на фоне этой поделки Aliens vs. Predator 2010 казался шедевром с большой буквы.
До сих пор в голове не укладывается, как Gearbox смогли настолько обосраться.
Скорее всего игру кинули на аутсорсинг, а сами работали над другими проектами
Всем известно, что они параллельно работали над Borderlands 2 и класть хотели на поклонников франшизы про Чужих. Иначе такого фиаско не случилось бы.
И опять же, проблема в опечатке в конфиге, это не ошибка со стектрейсом по которому можно сразу локализовать проблему, соответственно проблема в изначальной архитектуре, и она может вообще не связана с игрой быть, а быть особенностью движка. О которой просто не задумывались. Сложнее всего искать проблемы о которых не знаешь. К примеру искусственный интеллект мог написать 1 разработчик в начале проекта, набросал на коленке и добавил его как «мозги по умолчанию», просто чтобы оно хоть как то двигалось чтобы дизайнеры уже могли лепить локации/ситуации и тд. далее спустя пару месяцев второй разработчик потратив достаточно времени набросал нормальные мозги, сохранил в проекте рядом, задачу закрыл. Спустя месяц ушел. Еще спустя месяц начальник решил подключить новые мозги, и опечтался в конфиге. И собственно все, из-за того что архитектура приложения допускает неверные параметры конфига и берет значения по умолчанию, оно не упало и продолжило работать, тот кто мог увидеть что новый интеллект не работает давно ушел, а остальные думают что так и надо.
А если учитывать, что Aliens vs. Predator 2010 серьезно не дотягивает до предыдущей Aliens vs. Predator 2, то не просто обосрались, а еще и с подливой.
В плане геймплея — возможно, в игре от Monolith было больше челленджа. В остальном сравнение будет такое себе — разница в графоне 2001 года и 2010-го больно существенная, а графон для экшн-хоррора — это всё-таки ключевое. Вообще, Rebellion сделали всё очень аккуратно. Поругать их можно только за две вещи — отсутствие геймплейных новаций и малую продолжительность сюжетной кампании. В остальном они молодцы. Модельки монстров сделаны с любовью, даже сейчас неплохо смотрятся. Анимации кровавых добиваний вообще душевные, не придерёшься. И весьма показательно, что Gearbox спустя три(!!) года не смогли даже близко приблизиться к такому уровню исполнения. Так что по поводу подливки ты абсолютно прав.
Не знаю на чем игра написана, но такое поведение характерно для скриптовых языков, и оно не безопасно, что из-за опечатки проект не только не упал с ошибкой во время сборки, но еще и запускался и работал. Ну либо авторы мудаки и не удалили заглушку которая работала по типу «если класс не найден то молча берем класс по умолчанию», возле таких участков кода должно быть жирное TODO с текстом «Remove before release».
А мы бананы лишь наполовину? Мне казалось, что я банан почти на столько, на сколько я свинья. Ну, может, процентов на 10 меньше только. Что ни день (ночь), то новое открытие
Да не — любители копаться в кодах и файлах игр всегда будут в огромное количестве, так можно много интересного нарыть
Хех, забавно видеть эту новость сразу после того как я осмотрел фигурку из купленного коллекционного издания игры, ЕДИНСТВЕННАЯ вещь, из-за которой я в своё время и решился купить её, потом я всё равно слегка пожалел потраченных на коллекционку денег, но лут в коллекционке интересным был хоть)
"… или в двух словах о том, чего одна ошибка стоит в программировании".
Больше похоже на намеренный саботаж от какого-то недовольного сотрудника.
Ну и еще — удаление буквы А — это самый короткий патч в истории видеоигр.
зачем нужна линейная Dead Space, когда есть System Shock 2
Первый Dead Space это скорее Doom 3 от EA Games, чем System Shock 2. А вот Dead Space 2 это уже самостоятельное произведение, при том очень крутое.
Эм… э… купил коллекционку ровно по той же причине(цена нанеё была копеечная). Собственно игру запускал пару раз, чуть не пробил лицо многочисленными феспалмами, и больше не вспоминал этот кошмар.
Зато фигурка зачётная
На самом деле всё это рассказы про счастливое детство. Трава была зеленее, деревья выше, хорроры — страшнее. Именно поэтому летящая горящая машина была воспринята тобой так эмоционально (хотя по факту это всего лишь скрипт, призванный напугать игрока, и в Dead Space количество этих скриптов намного больше).
Да, все мы тогда были под впечатлением. Но если переиграть в AvP2 сейчас, то ощущения будут уже не те. И коридорность уровней там окажется не меньше, чем в Dead Space. Просто в AvP2 коридоры чуть пошире.
Читай также