TL; DR

Искусственный интеллект и машинное обучение доказали свое мастерство в видеоиграх. От победы над гроссмейстерами до овладения стратегической игрой го - ограничения возможностей машин кажутся бесконечными. Тем не менее, интеграция AI / ML в видеоигры осталась неизменной с тех пор, как первые несколько игр вышли на рынок. Хотя сложность ИИ выросла, его основные функции остались прежними. Однако с появлением новых технологий интеграция ИИ в видеоигры показывает многообещающее будущее.

Контур

  • Найти путь
  • Конечные автоматы
  • Деревья поведения
  • Ограничения нейронных сетей
  • Процедурная генерация
  • Заключение

Найти путь

Во многих видеоиграх AI / ML представлен в форме NPC (неигровых персонажей), перемещающихся по игровой карте. Поиск пути позволяет NPC понять, как лучше всего перемещаться по этой игровой карте на основе набора заданных ограничений. Эти системы сначала определяют начало и конец своего пути; затем определит серию точек, которые доставят их к месту назначения. Например, поиск кратчайшего пути к игроку.

ИИ с направленным поиском пути не блуждают вслепую по карте, вместо этого им предоставляется некоторый метод обработки своего пространства. Подобно дереву решений, игровая карта строится на серии узлов, которые направленный поиск пути обрабатывает, а затем выбирает наилучший из возможных узлов для своей предполагаемой функции. Чаще всего в играх используется алгоритм поиска пути A *. Знак * (звездочка) определяет наилучшее направление своего пути и находит кратчайший путь между двумя точками.

Несмотря на их преимущества и широкое распространение, существуют ограничения для поиска пути и A *. Построение мира может быть затруднено при использовании поиска пути, поскольку путь NPC создается на ранней стадии обработки. В результате может быть сложно добавить в игру новые элементы, такие как камень или дерево, без того, чтобы NPC не распознал эти объекты и не прошел сквозь них. Более того, использование A * также плохо масштабируется, так как скорость обработки быстро снижается по мере создания большего количества NPC.

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

Конечные автоматы

Конечные автоматы (FSM) - это модели, используемые для моделирования простой последовательной логики. Когда игрок выполняет ввод, основанный на серии действий, программное обеспечение заставляет NPC выполнить определенное действие или результат. NPC будет оставаться в этом состоянии до тех пор, пока другой вход не подаст сигнал на изменение.

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

PAC-MAN использует недетерминированные автоматы, чтобы управлять тем, как призраки перемещаются на протяжении всей игры. Каждый призрак действует немного по-своему - все с одной и той же целью - следовать за игроком. Когда игрок получает активизатор (меняет призраков на синий, позволяя их съесть), призраки меняют состояние, чтобы избежать игрока.

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

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

Деревья поведения

Вместо более сложного машинного обучения видеоигры в значительной степени полагаются на деревья поведения, позволяющие определять, как неигровые персонажи перемещаются по игре, а также устранять недостатки конечных автоматов. Деревья поведения имеют структуру данных, аналогичную деревьям решений - серии узлов, которые определяют, что может происходить и в каком порядке. Узел наверху дерева является «родительским», а любой узел, который связан ниже, является его «дочерним». Когда игрок взаимодействует с NPC, дерево поведения запускается для выполнения определенного узла, который затем запускает серию других узлов на основе предыдущих действий.

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

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

Хотя деревья поведения являются чрезвычайно популярным и функциональным инструментом в играх, они не идут в ногу со сложными инструментами обработки AI / ML в других типах технологий.

Ограничения нейронных сетей

Нейронные сети стали популярнее и удобнее практически во всех технологических секторах. Однако видеоигры неохотно принимают эту технологию. Одна из причин этого - предсказуемость и контроль в игре. Разработчики видеоигр хотят знать, что ждут их игроки. При реализации ИИ им необходимо, чтобы ИИ был предсказуемым с помощью таких систем, как поиск пути, конечные автоматы и деревья поведения. Если бы разработчики внедрили нейронную сеть, которая училась бы на поведении игроков, в играх было бы очень много непредсказуемости. Это может сделать игру слишком сложной для прохождения или привести к тому, что NPC будут вести себя так, как будто не вписываются в сюжетную линию игры.

Процедурная генерация

Один из способов использования нейронных сетей в видеоиграх - процедурная генерация. Процедурная генерация - это процесс случайного создания компьютером контента. Они используют нейронные сети для обучения и репликации данных. Видеоигры, такие как Minecraft, используют процедурную генерацию для создания, казалось бы, бесконечного количества новых миров; позволяя игрокам взаимодействовать с новыми аспектами игры в течение многих лет.

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

Заключение

Видеоигры с искусственным интеллектом прошли долгий путь с тех времен, когда они побеждали гроссмейстеров. Компания OpenAI, занимающаяся исследованиями и разработками в области искусственного интеллекта, создала проект машинного обучения OpenAI Five - команду ботов для видеоигр, цель которой состояла в том, чтобы играть против профессиональных игроков-людей в Dota 2 (видеоигра, которая поддерживает работу в команде). Проект оказался успешным и показал, как машинное обучение может успешно использовать совместную работу для достижения общей цели.

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