Эволюция войны: ИИ игр серии Total War (часть 2)

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Это вторая часть статьи про искусственный интеллект Total War. В первой части статьи я рассказал об игре Creative Assembly 2000 года Shogun: Total War — игре, изменившей лик стратегий реального времени. В Shogun существует три отдельных слоя систем ИИ: ИИ юнитов, управляющий отдельными отрядами и сохраняющий их построение и расположение, боевой ИИ, группирующий и задающий построения юнитов, а также ИИ кампании/дипломатии, ведущий пошаговую стратегию и стремящийся к захвату контроля над феодальной Японией. Я закончил первую часть на Medieval: Total War 2002 года: игре, переопределившей и улучшившей фундаментальные системы, созданные Shogun. Но она стала только самым началом длинного пути улучшеий и перестройки систем ИИ франшизы, как со стороны Creative Assembly, так и руками фанатов Total War. Поэтому давайте рассмотрим следующие релизы серии и понаблюдаем за тем, как происходила эволюция войны.

Рим и расцвет сообщества моддеров

Rome: Total War 2004 года внесла изменения в геймплей и значительно улучшила графическую часть игры. В третьей части серии появилась трёхмерная дипломатическая карта, а также полностью отрендеренные 3D-юниты. Сюжет игры перенёсся в Италию 270 года до нашей эры, ко времени рождения Римской империи. Именно эта часть превратила нишевый стратегический симулятор в полномасштабный бестселлер. Однако в ней также начали проявляться недостатки геймплея. Наиболее заметны они в кампании, где ИИ пытается быть как можно более эффективным в ставшем богатым и интересным наборе дипломатических механик. Частично это связано с более долгим и продуманным развитием действий, необходимых для построения и роста собственного уголка Римской империи. Как я говорил в первой части, ИИ кампании создан на основе конечных автоматов и реактивен по своей природе, то есть он не очень хорош в долговременном принятии решений, потому что такой подход редко рассматривает историю ранее выполненных действий и долговременных последствий.


Несмотря на эти проблемы, игра осталась ценным и интересным вкладом в серию, создавшим вокруг себя большое и крепкое сообщество фанатов. Rome стал началом долгой истории модов, созданных для Total War. С ним было достаточно просто работать, потому что бОльшая часть данных, управлявших геймплеем ранних частей серии, была доступна игроку в файлах установки. Поэтому моддерам удалось создать инструменты для манипуляции данными в собственных целях. Многие из этих модов были нацелены на улучшение графики и управления, расширение нарратива и создание более богатого мира, например, Roma Surrectum и Rome: Total Realism. Некоторые из модов даже брали базовую механику и ИИ, и переносили их в другие миры, например, мод в мире Толкиена The Fourth Age и, что иронично, мод Warhammer: Total War. Одним из самых впечатляющих был DarthMod: первый из серии модов Ника Томадиса, развивавшийся от Rome: Total War вплоть до выпущенного в 2011 году Total War: Shogun 2. DarthMod не только изменяет внешний вид и геймплей игры, но и часто вносит значительные изменения в параметры, влияющие на поведение ИИ в бою и кампаниях, давая более опытным игрокам возможность развернуться: появились новые боевые построения, улучшены характеристики производительности и создано более гибкое и агрессивное поведение ИИ.


Глубинные проблемы, возникшие при переделке движка в Rome, достигли своего пика с выпуском в 2006 году Medieval II: Total War. Medieval II в сущности является переделкой Medieval: Total War на движке Rome, но многие из глубинных структурных проблем ИИ в ней сохранились. Однако развившееся сообщество моддеров большинство из них исправило. Поэтому настала пора меняться, системы ИИ необходимо было перестроить с самого фундамента, что и случилось с выпуском Empire: Total War.

ИИ империи

В то время, как Rome был переделкой, нацеленной на обновление базовых систем и геймплея, Empire: Total War 2009 года стремилась к более высоким целям. Игра должна была не просто обновить базовую формулу Total War, но и сделать игру более доступной массовой аудитории. Это привело к обновлению систем UI, подсказок и туториалов, а также базовых компонентов геймплея. В бою появилась большая вариативность юнитов, зависящих от огнестрельного оружия: кавалерии, мушкетёров, стрелков и тяжёлой артиллерии; наряду с этим была добавлена свободная система навигации отрядов с использованием укрытий, позволявшая им использовать детали рельефа, скрываясь от интенсивного огня. Самой серьёзной новинкой Empire стал переход к морским боям в реальном времени, когда игроки отдают приказы флотилиям судов и атакуют вражеские силы. Кроме того, основная кампания теперь занимала гораздо большую территорию — обе Америки, Европу и Индию, не говоря уже о соединяющих их морских путях сообщения. Чтобы ещё более обогатить игру, на этом этапе ИИ кампании также должен был управлять армиями и флотилиями, выполнять пространственный анализ игровой карты, распознавать вражескую угрозу на разных типах рельефа, заниматься дипломатией, контролировать свои ресурсы, а также принимать решения о налогах, строительстве и многом другом.


Нет никаких сомнений, что это привело к увеличению масштабов франшизы и усилило потребность в улучшении технологий. Для Empire был полностью переписан Rome: Total War, что привело не только к новой реализации ИИ на уровне юнитов, боя и кампании, но и внесло изменения в подаче игры пользователю, что сильно повлияло на дальнейшую разработку инструментов моддинга. В Empire: Total War разработчики полностью перестроили ИИ кампании и боя, чтобы уйти от реактивного и управляемого состояниями поведения: таким образом, системы не только научились активно реагировать на решения, принятые противниками, но и имели собственную индивидуальность, управляемую наборами конфигураций и поведений. При разработке Empire авторы стремились создать ИИ, учитывающий более долговременные результаты, а также уравновешивающий одновременно несколько целей. Это привело к использованию в разработке метода планирования действий на основе целей (Goal Oriented Action Planning, GOAP). Эта техника получила популярность в 2005 году благодаря First Encounter Assault Recon (F.E.A.R.) и использовалась в таких играх, как Fallout 3, S.T.A.L.K.E.R: Shadow of Chernobyl и Deus Ex: Human Revolution. GOAP — это метод классического планирования: агенты (ИИ) используют абстрактную модель мира для принятия серий решений, преобразующих мир в целях создания желаемого результата. Такой подход идеально подходит для ситуаций, в которых существует множество последовательных отдельных действий; он может оценивать несколько целей одновременно и выполнять действия для их достижения, если они не противоречат друг другу. Многие из исходных тактик Shogun удалось перенести сюда достаточно просто, с учётом того, что логику Art of War можно закодировать для поиска и выполнения на языке планирования. Если вы хотите узнать больше о планировании ИИ и о том, как это работает, то изучите мой разбор F.E.A.R. and Goal Oriented Action Planning, а также использование GOAP и планирование на основе сетей иерархических задач в играх Transformers High Moon Studio.


Одним из важнейших аспектов в этой версии стало то, что теперь ИИ моделировался внутри самой игры. В Rome: Total War игровой ИИ объединили с логикой самой игры. Это означало, что он стал частью игры и потенциально мог выполнять недоступные игрокам действия или иметь доступ к информации, которой не должен знать. В этой и последующих версиях ИИ кампании отделён таким образом, что теперь он активно играет в игру как человек; его интерфейс связан с кодовой базой, что позволяет ему обмениваться данными с игрой, и наоборот. Действия ИИ кампании определяются, исходя из трёх основных вопросов:

  • Насколько хорошо моё текущее состояние?
  • Что я могу сделать дальше?
  • Какие ресурсы я могу для этого выделить?

Эти три вопроса позволяют использовать модель убеждений, желаний и намерений (систему BDI). Это значит, что ИИ кампании моделирует набор убеждений, желаний и намерений, управляющих его процессами принятия решений. Убеждения дают ИИ понимание мира, но с учётом того, что они могут оказаться неверными, например, в отношении расположения ресурсов игрока или его отношений с другими фракциями. Желания представляют собой мотивационный стимул игрока и задают цели, которых хочет достичь система, как ближайших, так и долговременных. Примерами желаний могут быть захват или защита территории, препятствование вражеским агентам, рекрутирование армий, расстановка приоритетов строительства и ведения дипломатии с соседними фракциями. Последний аспект чрезвычайно сложен, я вернусь к нему и рассмотрю его подробнее в следующей части этой серии статей. Наконец, намерения представляют собой созерцательное состояние агента: как только он выбрал что-то делать, эти намерения стимулируют его продолжать стремление к цели, даже он отвлекается на другую цель до её достижения. Это работает в системе на основе планирования следующим образом: она может продолжать отслеживать незавершённые цели и стремиться к их исполнению, одновременно разрешая ближайшие задачи. Однако, как мы увидим из третьей части серии статей, система не может распознавать многие из наложений, возникающих из-за её действий, и создаваемые ими конфликты в собственном процессе принятия решений системы привели к ещё одному улучшению ИИ кампании несколько лет спустя.


В бою системы ИИ выполняют множество целей, которые позволяют им быть более эффективными не только в выполнении их миссии, но и в контроле за собственными ресурсами. Например, активной боевой целью юнита может быть нападение на выбранного вражеского юнита, но одновременно у него может быть цель обеспечения безопасности флангов с учётом расположения вражеских сил. Баланс и приоритетность этих двух целей могут изменяться в зависимости от происходящих в текущий момент событий: с учётом размера и расположения собственной армии, выполняемых ею действий, занимаемого врагом рельефа и оценки его сил. В то время, как цели нападения на врага могут меняться или устраняться после завершения, защитные цели постоянно смещаются на основании текущей ситуации, и всем этим задачам раздаются приоритеты на основании текущего состояния на поле боя. В результате получается система, которая даже в случае, когда текущий план выполнения прерывается из-за смены приоритетов (например, на кратковременную задачу по защите себя с помощью маневрирования, или на спасение генерала от атаки с фланга), в конце концов может вернуться к исходной цели и продолжить её выполнение. И наоборот — когда ИИ атакует игрока, он не принимает необдуманных решений, например, переноса артиллерии с широкого фланга для атаки другой цели, если это может представлять серьёзную угрозу выживанию оставшихся сил. Empire: Total War была выпущена в феврале 2009 года, но, к сожалению, получилась неоднозначной. В момент запуска ИИ кампании и боя страдали под весом вставших перед ними проблем. И это было не особо удивительно: планирование решений крупномасштабных задач такого типа невероятно затратно, а разработчики могли предусмотреть только некоторые из множества возможных исходов и ситуаций. Вот, как об этом сказал креативный директор Creative Assembly Майк Симпсон:

«Этот ИИ не был похож ни на один другой, написанный нами ранее… Это самая сложная конструкция кода из тех, что я видел в играх. Я писал бОльшую часть кода ИИ кампании для Shogun и Medieval I, и знаю, что даже достаточно простой „статичный“ ИИ оценки действий без какого-либо планирования или памяти может быть достаточно сложным, чтобы проявлять хаотичное поведение (здесь имеется в виду хаос в стиле математического „эффекта бабочки“). Он работает, как работает, но не совсем так, как должен был. Может быть, это и хорошо — мы отсекаем плохие поведения и оставляем только хорошие, а также простую систему, которая не слишком предсказуема.

ИИ Empire гораздо более сложен, чем в любой из предыдущих версий… В результате у нас получился ИИ, планирующий активно и умно, но расходящийся с собой в решениях по времени и часто оказывающийся парализованным нерешительностью».

[Blog the Second, Майк Симпсон, блог Total War, 9 октября 2009 года]

Creative Assembly в течение шести месяцев после выпуска пыталась решить эту проблему, создавая патчи ИИ до версии 1.5 игры. Эти усовершенствования были перенесены в проект 2010 года Napoleon: Total War, который во многих отношениях остался функционально той же игрой, только на другом театре боевых действий. Частично это было вызвано тем, что в процессе разработки Napoleon команды разработчиков ИИ кампании и боя были вынуждены постоянно возвращаться к решению проблем в Empire. Поэтому в следующей части игры были внесены только незначительные изменения и улучшения.

Моддинг

В то же время сообщество моддеров наткнулось в Empire на преграду, вызванную изменением движка. В предыдущих версиях Total War существовало множество переменных и настроек производительности в виде внешних данных, которые загружались в игру при запуске, что упрощало создание инструментов моддинга. Наверно, идеалом для моддеров было состояние игры в Shogun, но его невозможно было поддерживать, поскольку размеры и масштабы каждой новой игры увеличивались: расширялись карты кампаний и возможности ведения тактического боя. При тестах до выпуска игры выяснилось, что увеличившийся объём данных и ожидаемые ограничения количества памяти игровых компьютеров приводили к серьёзным «бутылочным горлышкам» в производительности. Поэтому бОльшую часть данных предварительно обрабатывали и компилировали в готовый исполняемый файл, что закрыло моддерам доступ к большой части архитектуры игры.

Однако моды продолжали появляться, в том числе в Empire снова вернулся и вечно популярный DarthMod, изменив внутренние параметры игры, чтобы сделать ИИ более устойчивым. Мод Bran's Empire AI взял за основу DarthMod и усовершенствовал его, уменьшив количество нелепых решений, принимаемых ИИ в игре.

Такие сложности в разработке модов заставили Creative Assembly вложить больше усилий для предоставления моддерам доступа ко внутренностям поздних версий игры. В Total War: Shogun 2 реализована более обширная поддержка модов, а во многих последующих релизах появилась совместимость с Steam Workshop API.

В заключение

Эволюция войны принесла с собой множество проблем, но в результате обеспечила игрокам более умный и увлекательный игровой процесс. Игроки стремились к большей достоверности и контролю над этим процессом, и это привело к расцвету сообщества моддеров, которое по-прежнему активно во множестве игр франшизы Total War. Надеюсь, вам понравилась вторая часть серии, посвящённая ИИ Total War. В третьей части я рассмотрю одну из самых важных, но получившей противоречивые отзывы игру серии: Total War: Rome II 2013 года. Эта часть внесла самые серьёзные изменения в ИИ и позволила пересмотреть взгляды на системы ИИ, используемые в играх AAA-класса.


Источник: habrahabr.ru

Комментарии: