В конфиге Aliens: Colonial Marines нашли опечатку, из-за которой четыре года глючил игровой ИИ

af58a52b67e72a3f7b8a7116b4beb746.jpg

Вышедшую в 2013 году игру Aliens: Colonial Marines для персональных компьютеров не очень хорошо встретила публика. Игровые критики не могли понять, почему многообещающая игра, которая отлично смотрелась в предварительных версиях, превратилась в неюзабельный «плохо спроектированный, глючный кусок мусора» (цитата из одного обзора).

Впоследствии издатели столкнулись даже с судебным исками от покупателей игры по очень редкой для игровой индустрии причине. Пользователи требовали вернуть уплаченные деньги, потому что «игра дерьмо».

И только спустя четыре года стало понятно, в чём корень проблем. 1 ноября 2017 года один из разработчиков модов под ником jamesdickinson963 нашёл опечатку в конфигурационном файле .INI, после исправления которой игровой процесс улучшается кардинальным образом. Достаточно удалить лишнюю букву.
Моддер jamesdickinson963 называет это «крупнейшим игровым багом размером всего в одну букву». И подробно объясняет, в чём проблема.

В конфигурационном файле игры (My Document\My Games\Aliens Colonial Marines\PecanGame\Config\PecanEngine.ini) есть следующая строчка кода:

ClassRemapping=PecanGame.PecanSeqAct_AttachXenoToTether -> PecanGame.PecanSeqAct_AttachPawnToTeather

Зная о наличии опечатки, вы можете и сами её увидеть, глядя на эту строчку.

Правильное написание следующее:

ClassRemapping=PecanGame.PecanSeqAct_AttachXenoToTether -> PecanGame.PecanSeqAct_AttachPawnToTether

«Если исправить строчку таким образом и снова запустить игру, то отличия абсолютно сумасшедшие!», — пишет jamesdickinson963. Причина в слудующем. Дело в том, что изначальная функция AttachXenoToTether вообще ничего не делает, а вот функция AttachPawnToTether делает очень многое для управления настройкой тактического позиционирования, патрулирования и зонирования мишеней.

Когда спаунится Xeno, он привязывается к определённой границе (zone tether). Эта зона указывает Xeno на границы зоны боевых действий, на координаты разных выходов. Во время битвы Xeno нужно переключить на другую зону для разных манёвров — чтобы собраться в фалангу или, например, разойтись и не кучковаться в одной группе. Так вот, что бы из перечисленного не пыталась сделать игра, раньше ничего не происходило. А после исправления опечатки всё заработало, говорит jamesdickinson963.

Игра не вылетала с ошибкой, потому что движок просто игнорировал незнакомый термин

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

uzn1r-eky34kbrzz2o-s7txhgq4.gif
Походка ксеноморфа в игре Aliens: Colonial Marines. Вскоре после публикации этого видео против издателя стали подавать первые судебные иски

В Steam игра до сих пор распространяется с опечаткой в конфиге, так что нужно ставить сторонний патч или исправлять опечатку вручную. С момента официального релиза цена Aliens: Colonial Marines уже упала до $3.

В истории игровой индустрии это не первый баг из-за опечатки. Недавно разработчики Civilization 6 подтвердили, что из-за опечатки в одном из игровых файлов с данными Leaders.xml «искусственный интеллект» неправильно работал. В том случае в коде по ошибке было написано 'YEILD' вместо 'YIELD'. Вот соответствующий фрагмент:







Во всех пяти строчках одинаковая опечатка, из-за которой лидеры наций нерационально распределяют ресурсы своего народа. В частности, эти строчки задают основные приоритеты, которые потом изменяются и корректируются. После исправления опечатки заметна разница: генерируется в целом меньше религии (faith), но строится больше зданий и лучше развивается наука.

© Habrahabr.ru