Человеческий разум, скрытый в машине: как устроен ИИ в Halo Wars 2

Когда главная особенность компьютерного врага — его человечность.

Автор блога AI and Games Томми Томпсон опубликовал текст с описанием принципов работы искусственного интеллекта в стратегии Halo Wars 2. Он рассказал, как разработчики создавали системы, которые формировали поведение ИИ на микро- и макроуровне, а также записывали личностные характеристики персонажей в специальные таблицы. Мы выбрали из текста главное.

В Halo Wars 2 игроки должны противостоять жестокому лидеру ковенантов — Атриоксу. Перед разработчиками стояла важная задача — сделать так, чтобы в поведении антагониста и армии проявлялась его личность.

Для этого команда разработала систему AI Commander, которая позволяет Атриоксу не только демонстрировать стратегический интеллект, но и без обмана побеждать игроков на разных уровнях сложности.

В некоторых тайтлах создатели позволяют ИИ и другим игровым системам читерить, чтобы сделать опыт более интересным. Например, напарники в Ghost Recon Wildlands часто невидимы для противников, а Элизабет в BioShock Infinite идеально знает расположение некоторых элементов на карте.

Человеческий разум, скрытый в машине: как устроен ИИ в Halo Wars 2

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

В Halo Wars 2 важнейшее значение имеют два слоя решений: микро-масштаб, где игрок перемещают отдельные подразделения, и макро-масштаб, где он координирует общую армию. Авторы Halo Wars 2 постарались сделать так, чтобы Атриокс и его командиры никогда не читерили.

Человеческий разум, скрытый в машине: как устроен ИИ в Halo Wars 2

Для достижения цели разработчики должны были сделать так, чтобы ходы в макро- и микро-масштабе сочетались между собой, а стиль поведения менялся в соответствии с различным режимами игры и уровнями сложности. Но что ещё более важно, каждый командир ИИ должен вести себя как человек.

Можно предположить, что для создания такого поведения подошла бы Google DeepMind, которая обучает ИИ с помощью AlphaStar и глубокого обучения. Но такой подход неэффективен для видеоигры. Система AlphaStar не предназначена для того, чтобы быть интересным противником — она лишь нужна, чтобы выигрывать у самых серьёзных конкурентов. Кроме того, процесс обучения AlphaStar стоит десятки миллионов долларов, и это просто непрактично даже для самых больших ААА-студий.

Хоть разработчики Halo Wars 2 не обучали ИИ с помощью машинного обучения, они использовали аналогичный принцип. ИИ проявляет человеческие черты, потому что в основе его поведения лежит стратегия настоящих высококвалифицированных игроков.

Человеческий разум, скрытый в машине: как устроен ИИ в Halo Wars 2

Балинт Марцин, более известный в кругах RTS как Nakamura — один из таких людей — в своё время он входил в десятку лучших игроков Halo Wars в мире. Кроме того, Марцин работает геймдизайнером в Creative Assembly: он занимался созданием Halo Wars 2 и Total War Warhammer 2. Его главная задача — исследовать макро- и микроуровень стратегии игроков, а затем вместе с командой программистов построить систему, которая позволила бы ИИ воспроизводить эту стратегию в различных сценариях.

В ходе разработки авторы выявили пять макростратегий, определяющих стиль игры. Затем их закодировали в системе искусственного интеллекта.

  • Rush: ИИ пытается как можно быстрее набрать большую армию, захватывая базы расширения по ходу продвижения по карте.
  • Boom: ИИ быстро захватывает несколько баз и готовится к войне на истощение.
  • Map Control: более агрессивная форма Boom, которая фокусируется на захвате и защите точек по всей карте.
  • Fast Tech: ИИ бросает все силы на техническое развитие, чтобы удивить игрока более сильными юнитами и тяжёлым вооружением.
  • Turtle: защитная стратегия, при которой ИИ захватывает базы, выстраивает оборону с помощью турелей, а затем улучшает базы расширения.

Между тем на микроуровне есть 10 уникальных поведений, которые может выполнять ИИ. Это включает в себя общие действия, например, сосредоточение огня на отдельных единицах, удержание определённой территории или применение специальных способностей, таких как маскировка, щиты, гранаты и исцеление.

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

Пример кайтинга
Пример кайтинга

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

В то время как микрослой занимается исключительно командами передвижения, макроуровень встроен в несколько слоёв — строительство, управлении армиями и так далее.

Схема принятия решений на макроуровне
Схема принятия решений на макроуровне

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

Планирование макростратегии разбито на многочисленные слои, и оно опирается на особые таблицы для определения характеристик командира
Планирование макростратегии разбито на многочисленные слои, и оно опирается на особые таблицы для определения характеристик командира

Чтобы придать противнику определённую индвидуальность или изменить его поведение в соответствии со сложностью, используются три подсистемы на макроуровне: менеджер предупреждений, менеджер стратегий и подсистема, которая принимает стратегические решения.

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

Подсистема, которая принимает стратегические решения, зависит от менеджера стратегий. В начале матча менеджер стратегии обращается к таблицам, которые описывают типы стратегий отдельного персонажа, и определяют его стиль. Таблица стратегий включает в себя предпочтения персонажа, его поведение при атаке, обороне, разведке и так далее.

Человеческий разум, скрытый в машине: как устроен ИИ в Halo Wars 2

Команда программистов сделала так, чтобы эти таблицы очень легко загружались в поведение ИИ. Это дало разработчикам свободу создания новых уникальных стратегий без необходимости беспокоиться о программной стороне вещей.

Последний пункт — это сложность. Есть два подхода для решения этой задачи. Во-первых, в «Кампании» есть несколько таблиц для конкретного персонажа – по одной для каждого уровня сложности. Это даёт левелдизайнерам гораздо больше контроля над каждым вариантом прохождения миссии.

Человеческий разум, скрытый в машине: как устроен ИИ в Halo Wars 2

А во-вторых, в «Схватке» таблица стратегии изначально выстроена для легендарной сложности, а затем уменьшается в зависимости от выбранной сложности. Из-за этого ограничивается количество умений ИИ противника.

Хоть такая система и даёт большую гибкость программистам и геймдизайнерам, всё это невероятно трудно балансировать. На момент релиза в игре было создано 94 таблицы стратегий: 28 для «Кампании», а 66 для «Схватки». В DLC для Halo Wars 2 добавили ещё больше таблиц, из-за чего их количество увеличилось до 220.

Человеческий разум, скрытый в машине: как устроен ИИ в Halo Wars 2

Действительно интересно, что создатели франшизы Total War искали совершенно новый подход к созданию ИИ для стратегической игры, а не адаптировали существующие системы из своей собственной работы. Студия позволила программистам и геймдизайнерам работать вместе, чтобы достичь наилучшего результата.

7272
10 комментариев

Жаль, что выход в стиме Halo Wars 2 зарезали - многие эту игру из принципа в MS Store трогать не будут(

5
Ответить

Комментарий недоступен

11
Ответить

ну я взял, но там онлайн нулевой абсолютно. В стим возможно до сих пор бы 1к человек ещё был как в каком нибудь wh dow2-3. Да и в сообществах всегда можно с кем то договорится покатать. Сюжет и пве режимы клёвые

1
Ответить

Первое впечатление от статьи: Автор очень любит слова "макро" и "микро"

1
Ответить

Комментарий недоступен

1
Ответить

Есть вопросы:
1. Если с самого начала стоять и не шевелиться - буду ли я целью для врага?
2. Если играть больше года, без перерыва, таблица записей поведения для ИИ обрушит сервер баз данных?

Ответить