Pull to refresh

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

Reading time3 min
Views72K


Вышедшую в 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

(Teather -> Tether)

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

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

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

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


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

В Steam игра до сих пор распространяется с опечаткой в конфиге, так что нужно ставить сторонний патч или исправлять опечатку вручную.

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

<Row Item="YEILD_PRODUCTION" ListType="DefaultYieldBias" Value="25"/>
<Row Item="YEILD_SCIENCE" ListType="DefaultYieldBias" Value="10"/>
<Row Item="YEILD_CULTURE" ListType="DefaultYieldBias" Value="10"/>
<Row Item="YEILD_GOLD" ListType="DefaultYieldBias" Value="20"/>
<Row Item="YEILD_FAITH" ListType="DefaultYieldBias" Value="-25"/>

Во всех пяти строчках одинаковая опечатка, из-за которой лидеры наций нерационально распределяют ресурсы своего народа. В частности, эти строчки задают основные приоритеты, которые потом изменяются и корректируются. После исправления опечатки заметна разница: генерируется в целом меньше религии (faith), но строится больше зданий и лучше развивается наука.
Tags:
Hubs:
Total votes 104: ↑100 and ↓4+96
Comments188

Articles