- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

В конфигурационном файле игры (My DocumentMy GamesAliens Colonial MarinesPecanGameConfigPecanEngine.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 приводит примеры [5], насколько разительно изменилось поведение монстров в игре. Они стали не только заметно агрессивнее, но как будто гораздо лучше стали отслеживать поведение игрока. Если раньше вы могли отступить от ксеноморфа — и это ставило его в тупик, то теперь такой фокус не проходит, потому что он сразу начнёт преследовать вас. Кроме того, ксеноморфам теперь требуется намного меньше времени для подготовки нападения: они появляются и резко нападают, а не тыкаются в разные стороны словно зомби, как раньше. «Движения больше похожи на движения пчелы, а не на и обычную пьяную походку», — пишет PC Gamer.

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

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

В истории игровой индустрии это не первый баг из-за опечатки. Недавно разработчики Civilization 6 подтвердили [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"/>

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

Автор: Анатолий Ализар

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/iskusstvenny-j-intellekt/286300

Ссылки в тексте:

[1] не очень хорошо встретила публика: https://www.resetera.com/threads/aliens-colonial-marines-collection-is-2-80-right-now-wait-hear-me-out.54701/

[2] не могли понять: https://arstechnica.com/gaming/2013/04/sega-forced-to-admit-wrongdoing-in-alien-colonial-marines-advertising/

[3] судебным исками: https://arstechnica.com/gaming/2014/07/gearbox-responds-to-aliens-class-action-lawsuit-throws-sega-under-bus/

[4] нашёл опечатку: https://www.moddb.com/mods/templargfxs-acm-overhaul/news/the-biggest-bug-in-the-game-is-just-one-letter-long

[5] улучшается кардинальным образом: https://www.pcgamer.com/all-this-time-aliens-colonial-marines-stupid-ai-may-have-been-caused-by-a-single-typo/

[6] подтвердили: https://www.pcgamer.com/typos-in-a-civilization-6-data-file-are-messing-with-the-ais-priorities/

[7] заметна разница: https://forums.somethingawful.com/showthread.php?threadid=3775912&userid=0&perpage=40&pagenumber=456#post482139381

[8] faith: https://civ6.gamepedia.com/Faith

[9] Источник: https://habr.com/post/417435/?utm_source=habrahabr&utm_medium=rss&utm_campaign=417435