Хабрахабр

[Перевод] Дорога на войну: ИИ игр серии Total War

image

С самого основания моей серии видео «AI and Games» на YouTube я исследовал различные реализации ИИ, решающие определённые задачи в дизайне видеоигр, требующие немедленного, реактивного поведения в сочетании с долговременным и стратегическим принятием решений. Популярным жанром, в котором ИИ может создавать быстрый, реактивный и захватывающий геймплей, являются шутеры от первого лица (FPS). Но если мы хотим рассмотреть потребность в эффективных системах, учитывающих баланс принятия краткосрочных и долгосрочных решений, то идеальным предметом для изучения являются игры в жанре стратегии реального времени (Real-Time Strategy, RTS).

И RTS, и FPS продолжают вносить инновации в современные видеоигры, стремясь соответствовать их дизайну. Но играм в жанре RTS нужно оценивать гораздо более обширное и длительное влияние быстрых и реактивных решений. Кроме того, им требуется управлять ресурсами на разных уровнях абстракции и сложности в многочасовых игровых сессиях. При обсуждении сложностей и инноваций, с которыми приходится столкнуться ИИ стратегических игр, ни в коем случае нельзя не упомянуть одну франшизу — Total War компании Creative Assembly.
С момента выпуска первой части Total War в 2000 году франшиза постоянно росла и набирала мощь. Каждая игра становилась всё более амбициозной, а проблемы, с которыми приходилось встречаться системе ИИ, продолжали увеличиваться в масштабах и сложности. В результате компания собрала команду разработки, которая как никто иной в истории видеоигр развивает новые тенденции в создании искусственного интеллекта. Однако путь к последним частям серии, таким как Total War: Attila и Warhammer, не был гладким. Поэтому в этой статье я рассмотрю не только фундаментальные принципы ИИ серии Total War, но и то, как каждая новая часть серии усовершенствовала, исправляла или полностью переписывала части этих систем. Кроме того, я расскажу о реакции поклонников серии на эти изменения, о сообществе моддеров, пышным цветом разросшемся в рамках Total War, а также о том, как Creative Assembly с самой первой игры серии и по сей день применяет передовые научные открытия для создания инноваций.

Но сначала давайте рассмотрим сам жанр Real-Time Strategy, чтобы понять, какое место в нём занимает Total War. Основной задачей в стратегиях реального времени обычно является контроль над территориями и ресурсами: две или несколько противоборствующих сторон появляются на одной карте, чтобы захватить доминирование, охраняя ресурсы или локации на ограниченной области. Часто для достижения этих целей каждая из сторон строит здания и юниты, которые или улучшают сбор ресурсов в заданной области, или защищают уже имеющиеся здания и земли, или исследуют и захватывают силой другие области карты. В процессе решения последней задачи требуется уничтожение юнитов противника. Для этого процесса игрок обычно должен исследовать ранее скрытые туманом войны области, чтобы обнаружить местонахождение врагов и ресурсов. Кроме того, со временем каждая из сторон должна модернизировать здания и юниты, усовершенствуя их характеристики и объём собираемых ресурсов.

Хотя выпущенная в 1992 году компанией Westwood Dune II: The Building of a Dynasty и не стала первой RTS-игрой, она стала архетипом для будущих игр этого жанра, таких как серия Command and Conquer той же Westwood, Age of Empires, Total Annihilation, Dungeon Keeper, Homeworld, а также франшиз Warcraft и Starcraft компании Blizzard. Жанр продолжал эволюционировать и создавать ответвления с конца 1990-х. Возникали его подобия, например, жанр тактики реального времени в лице игр Dawn of War и Star Wars: Empire at War, в которых упор делался на тактику, а не управление ресурсами. Тем временем, такие игры, как UFO: Enemy Unknown (1994 год) исследовали баланс между принятием решений в реальном времени и в пошаговом режиме. Её подход оказался популярным, что доказывает успешный перезапуск франшизы под названием XCOM: Enemy Unknown в 2012 году. Одним из самых далеко отклонившихся от RTS игр стал жанр Multiplayer Online Battle Arena, или MOBA, популяризированный модом Defence of the Ancients для Warcraft III и упрочившим успех благодаря Dota 2 и League of Legends. В них игроки берут на себя роль наземных юнитов-героев, определяющих масштабные стратегии и реализующие их в течение матча.

ИИ использовался в RTS ещё с самого зарождения жанра: игроки, управлявшие движением юнитов, просто указывали им, куда нужно идти, но не прокладывали путь самостоятельно. Поэтому игрок должны были взаимодействовать с такими системами, чтобы получить желаемые результаты. Кроме того, ИИ критически важен для однопользовательских режимов игры, в которых игрок сражается против вражеских командиров, управляющих собственными юнитами и стратегиями производства. Роль ИИ в таких играх чрезвычайно сложна и считается одной из самых огромных проблем, с которыми приходилось сталкиваться в научных исследованиях. Это привело к созданию множества научных инструментов оценки и проектов, в том числе соревнований Starcraft AI Competition, проводимых на конференции AAAI, посвящённой искусственному интеллекту и интерактивным цифровым развлечениям. Эта тема интересна сама по себе, но о ней мы поговорим в других выпусках AI and Games.

Так что же делает Total War такой особой и сложной для систем ИИ? Серия стратегических игр Creative Assembly интересна тем, что сочетает в себе несколько режимов стратегического геймплея: игроки в пошаговом режиме управляют ресурсами и политикой, а также участвуют в крупномасштабных боях реального времени. Кроме того, бой ведётся на микро- и макроуровнях, требуя от ИИ не только управления отдельными юнитами, но и более абстрактного контроля за видами войск, управления боевыми построениями и размещением отрядов на поле боя в реальном времени.

Первая часть франшизы, Shogun: Total War, балансирует между симуляцией боя, стремящейся к реализму и убедительности, и политической стратегией, придающей каждому конфликту контекст и понимание того, что поставлено на карту. Действие первой Total War происходит в 1530 году, в период Сэнгоку феодальной Японии: это время популяризировано в современной культуре работами японского кинорежиссёра Акиры Куросавы. Такие фильмы, как «Тень воина», «Семь самураев» и «Ран», оказали влияние на дизайн и разработку проекта. Отрывки из «Ран» даже использовались в видеороликах игры. Игрок и вражеский ИИ берут на себя роль даймё — феодальных правителей, управляющих провинциями Японии. Им приходится вести и дипломатические игры, и военные действия. Когда противники втягиваются в конфликт, игроки берут управление «тайсё» (генералами) и перемещают по полю боя сотни, если не тысячи воинов. Период Сэнгоку стал идеальной исторической эпохой для игры, потому что политика и даже экономика того времени были основаны на логистике армий, защищавших даймё и его амбиции.

Total War отличается от многих традиционных стратегий реального времени тем, что она отказалась в боевой части от механики тумана войны, а также от управления ресурсами. Из-за структуры самой игры управляющий противниками ИИ был разбит на две отдельные системы ИИ:

  • ИИ кампаний и дипломатии управляет стратегией игры в пошаговом режиме и несёт ответственность за перемещение армий по карте, занимается дипломатией (отправляет убийц или переговорщиков для устранения противников или заключения альянсов), а также заботится о сельском хозяйстве и инфраструктуре собственных провинций.
  • Боевой ИИ командует боевыми юнитами, стратегией и паттернами атак. Как и живые игроки, он несёт ответственность только за управление стратегией отдельных групп юнитов, потому что сами отдельные юниты тоже управляются собственным ИИ.

Поэтому чтобы разобраться с ИИ Total War, я буду исследовать системы ИИ с самого низкого до самого высокого уровней: от систем управления отдельными отрядами до стратегических систем, задача которых — завоевать всю феодальную Японию.

Поведение ИИ юнитов

Бой в Total ведётся юнитами: группами определённых видов войск, которым можно задавать боевые построения, от отрядов ближнего боя до лучников и кавалерии. Такие боевые юниты не только должны сохранять построение, но и перемещаться, а также вести бой как единый отряд. Движение часто оказывается сложной задачей, особенно когда юниту приказывают пройти через разные типы местности, такие как горы и леса.

Стандартная схема нейросети

Нейросети работают как взвешенная функция суммирования входящих данных. Изменяя веса каждого отдельного вычислительного узла, или «нейрона», мы можем менять результат данных, передаваемых слоям справа. [Источник изображения]

Чтобы добиться этого, Total War использует для управления отдельными юнитами искусственные нейронные сети. Нейронные сети — это быстрый и эффективный инструмент достижения быстрых и реактивных откликов на заранее заданную задачу. Нейросеть обрабатывает данные в «нейронах»: простых обрабатывающих узлах, получающих входящие данные через имеющие вес «синапсы». Меняя их веса, мы изменяем результаты данных, передаваемых по нейросети. Обычно эти веса подбираются с помощью методов машинного обучения, но их можно настраивать и вручную, если сеть достаточно мала. Они эффективны потому, что после обучения время обработки для принятия решения невероятно мало. Кроме того, хорошо обученная нейронная сеть способна обобщать свой процесс принятия решений, то есть она может распознавать схожесть во множестве отдельных условий и в каждом случае давать схожие ответы.

Несмотря на это, нейросети обычно не очень хороши, когда от них требуют одновременного выполнения нескольких задач, особенно когда эти задачи противоречат друг другу. На этот случай отряды имеют разные нейросети, которые они могут включать в зависимости от решаемой задачи: выбора построения, избегания вражеского огня или подбора позиции для атаки вблизи или издалека. Каждая из этих сетей создана заранее, она не настраивается и не оптимизируется в процессе игры, то есть не учится, чтобы стать лучше по ходу игры. Такие системы ИИ юнитов работают вне зависимости от того, кто управляет армией — человек или ИИ, потому что игроку в любом случае нужны такие системы нейросетей для управления поведением отдельных отрядов.

Поведение боевого ИИ

Уровень боя — это система ИИ, управляющая противниками игрока. Этот ИИ принимает решения о выборе построения групп и действиях юнитов. Он взаимно перемещает части армии, чтобы достичь определённой тактического или микроменеджментного движения юнитов в зависимости от текущего рельефа или погоды.

Чтобы достичь этого, в Shogun применяется логическая система, позволяющая принимать определённые решения на основе текущего состояния мира. Такие решения взяты из «Искусства войны»: сборника стратегий китайского военного стратега Сунь Цзы, датированного примерно 500 годом до нашей эры. Использование логической системы хорошо подходит для адаптации текстов, во многих случаях используются заданные условия для получения определённого отклика от системы. В этих правилах учитывается тип, состояние и размер собственных юнитов и противников, текущий рельеф, погода и моральное состояние войск. Вот некоторые из примеров, взятые из «Искусства войны»:

  • Если окружаешь войско противника, оставь открытой одну сторону.
  • На открытой местности не пытайся перекрыть путь противника.
  • Если у тебя сил в десять раз больше, чем у противника, окружи его со всех сторон.
  • Если у тебя сил в пять раз больше, нападай на него.
  • Если у тебя сил вдвое больше, раздели его на части.

Разработчики говорят, что в системе боевого ИИ реализовано 220 правил в трёх различных версиях, у каждой из которых есть слегка отличающиеся наборы поведений. Важнейшей причиной этого было создание как можно более реалистичного боя, непохожего на тактику, управлявшую большинством стратегий реального времени той эры. Вот, что говорит директор по разработке Creative Assembly Майк Симпсон:

«В большинстве игр используются простые скрипты шаблонного поведения, которые срабатывают при контакте и очень простые поведения толп юнитов. Они очень ограничены и кажутся „игрушечными“, а не реальными. Я имею в виду, что используемую для победы над ними тактику нужно изучать в каждой новой игре, а иногда и в каждом сценарии
или уровне, и она не имеет никакого отношения к реальности. Мы стремились создать игру, в которой будет работать настоящая тактика из реального мира. Мы выбрали не самый лёгкий путь, но он принёс большую награду.»

[Battle AI, Майк Симпсон, блог Total War, 10 ноября 2009 года]

Поведение ИИ кампании

Последний слой систем ИИ Shogun — это система кампаний и дипломатии. Она управляет всеми решениями на основной карте кампании: управление движением армий, ведение дипломатии между сторонами и строительство инфраструктуры провинций.

В ней используется сочетание классического принятия решений на конечных автоматах с генетическими алгоритмами для создания индивидуальной тактики каждого даймё. Простая система «состояние-действие» просто указывает, что нужно делать в текущих условиях и обеспечивает мгновенную реакцию ИИ. Она не хранит никакой памяти о существующем поведении и не имеет сложного процесса принятия решений. Она просто реагирует на происходящие вокруг события. Затем используется генетический алгоритм, позволяющий обеспечить некоторую индивидуальность.

Генетические алгоритмы — это вид машинного обучения, при котором мы создаём огромные количества возможных решений определённой задачи, которые учатся решать её путём выращивания лучших. Эти возможные решения не являются программным кодом, это просто кодировка того, как обычно ведёт себя ИИ в виде строки чисел, которая затем передаётся в сам ИИ, чтобы задавать его поведение. Они позволяют нам создавать наборы сложных решений задачи: все они не действуют аналогично друг другу и имеют собственные немного отличающиеся характеристики. В результате каждый даймё получил собственное уникальное поведение в бою. С точки зрения игроков это придаёт им некую индивидуальность: некоторые даймё больше стремятся к дипломатии, другие более агрессивны и расширяют свою территорию, атакуя других ИИ-правителей и игрока.

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

Первые изменения были внесены, когда серия перенеслась из феодальной Японии в европейское Средневековье. Выпущенная в 2002 году Medieval: Total War отправляет игрока ещё глубже назад во времени, в конец восьмого века, и проводит его до века четырнадцатого. Игроки управляют различными сторонами в разные исторические периоды: от эры викингов в Британии, когда бОльшая часть страны была раздроблена из-за покинувшей её Римской империи, до времени позднего Средневековья, когда оформились границы стран большей части Европы.

Medieval: Total War во многих отношениях стала улучшенной вариацией первой игры. Она построена на усовершенствованной версии движка Shogun, позволившей проводить ещё более масштабные битвы. Крупных отличий в технологии ИИ между Shogun и Medieval не было, только множество оптимизаций и исправлений. Системы ИИ юнитов научились лучше справляться со скоплениями в узких местах, например, на мостах. Кроме того, набор систем боевого ИИ расширился с трёх до девяти, обеспечивая бОльшую гибкость. Всё это в результате привело к созданию игры, которую Rock Paper Shotgun назвал «почти идеальной». Роб Закни писал:

«Я по-прежнему не уверен, что в серии Total War можно будет создать ещё более сбалансированную игру. ИИ легко управляет войсками на карте, а разные стартовые позиции каждого королевства и империи позволяют сформироваться настоящим сверхдержавам ИИ, которые позже доставят игроку много хлопот.

Medieval — это триумф простоты, и Total War потребовалось ещё десять лет, чтобы снова приблизиться к нему».

[The Best And Worst Total War Games, Роб Закни, 4 января 2016 года]

Shogun и Medieval стали самым началом франшизы и можно без сомнений сказать, что дорога на войну не была гладкой. С каждой последующей версией франшизы сложности росли в масштабах, а объём самих игр значительно увеличивался. Во второй части статьи я расскажу о сообществе моддеров, которое сложилось после выпуска в 2004 году Rome: Total War, о том, как выпуск Medieval II: Total War стимулировал разработчиков к переписыванию и перестройке в Empire: Total War, и о том, как это масштабное изменение влияло на всю франшизу вплоть до выпуска Total War: Shogun 2.

Теги
Показать больше

Похожие статьи

Кнопка «Наверх»
Закрыть