AI, основа всех видеоигр
Если вы когда-либо играли в видеоигры, вы взаимодействовали с искусственным интеллектом (ИИ). Независимо от того, предпочитаете ли вы игры с гоночными автомобилями, такие как Need for Speed , стратегические игры, такие как Civilization , или стрелялки, такие как Counter Strike , вы всегда найдете элементы, контролируемые ИИ. ИИ часто стоят за персонажами, на которых вы обычно не обращаете особого внимания, такими как вражеские крипы, нейтральные торговцы или даже животные. Но как ИИ, встречающийся в играх, соотносится с ИИ, о котором технологические гиганты говорят каждый день?

Игра против ИИ
Недавно Илон Маск предупредил мир, что быстрое развитие искусственного интеллекта с возможностью обучения со стороны Google и Facebook подвергнет человечество опасности. Такой аргумент привлек много внимания общественности к теме ИИ. Яркий искусственный интеллект, описанный этими техническими гигантами, кажется, является программой, которая может учиться сама и становиться все сильнее и сильнее, когда получает больше данных. В некоторой степени это верно для ИИ, такого как AlphaGo , который известен тем, что побеждает лучших игроков в го. AlphaGo была обучена, наблюдая за миллионами исторических матчей в го, и все еще учится, играя с игроками онлайн. Однако термин «ИИ» в контексте видеоигр не ограничивается этим самообучающимся ИИ.

Вместо того, чтобы изучать, как лучше всего побеждать игроков-людей, ИИ в видеоиграх призван улучшить игровой опыт игроков-людей. Самая распространенная роль ИИ в видеоиграх - это управление неигровыми персонажами (NPC). Дизайнеры часто используют уловки, чтобы эти NPC выглядели умными. Один из наиболее широко используемых приемов, называемый конечным автоматом.(FSM) алгоритм был представлен в дизайне видеоигр в 1990-х годах. В автомате проектировщик обобщает все возможные ситуации, с которыми может столкнуться ИИ, а затем программирует конкретную реакцию для каждой ситуации. По сути, ИИ FSM быстро реагирует на действия игрока-человека своим заранее запрограммированным поведением. Например, в стрелялке ИИ будет атаковать, когда появляется игрок-человек, а затем отступать, когда его собственный уровень здоровья слишком низкий. Упрощенная блок-схема конечного автомата показана на следующем изображении (Рисунок 1). В этой игре, ориентированной на FSM, данный персонаж может выполнять четыре основных действия в ответ на возможные ситуации: помощь, уклонение, блуждание и нападение. Многие известные игры, такие как Battle Field , Call of Duty и Tomb Raider, включить успешные примеры дизайна ИИ автоматов. Даже черепахи в Super Mario имеют рудиментарный дизайн FSM.

Рис. 1. Упрощенная блок-схема работы алгоритма конечного автомата в стрелялке.  В этой игре NPC будет начинать со статусом «блуждать», а затем участвовать в «атаке», если рядом находится игрок-человек (оранжевая стрелка).  Если игрок находится вне поля зрения, NPC возвращается в «блуждание».  Другими словами, NPC всегда «блуждают», когда вы их не видите.  Если игрок атакует в ответ, NPC могут «уклоняться».  Если у NPC мало здоровья, они могут пойти «найти помощь», а затем снова «побродить».
Рисунок 1: Упрощенная блок-схема работы алгоритма конечного автомата в стрелялке. В этой игре NPC будет начинать со статусом «блуждать», а затем участвовать в «атаке», если рядом находится игрок-человек (оранжевая стрелка). Если игрок находится вне поля зрения, NPC возвращается в «блуждание». Другими словами, NPC всегда «блуждают», когда вы их не видите. Если игрок атакует в ответ, NPC могут «уклоняться». Если у NPC мало здоровья, они могут пойти «найти помощь», а затем снова «побродить».
Очевидный недостаток конструкции конечного автомата - его предсказуемость. Поведение всех NPC заранее запрограммировано, поэтому после нескольких игр на основе FSM игрок может потерять интерес.

Более продвинутый метод, используемый для улучшения персонализированного игрового процесса, - это дерево поиска Монте-Карло.(MCST) алгоритм. MCST воплощает стратегию использования случайных испытаний для решения проблемы. Это стратегия искусственного интеллекта, использованная в Deep Blue, первой компьютерной программе, которая победила чемпиона по шахматам среди людей в 1997 году. Для каждого момента в игре Deep Blue будет использовать MCST, чтобы сначала рассмотреть все возможные ходы, которые он может сделать, а затем рассмотреть все возможный игрок-человек делает ответные ходы, затем рассматривает все возможные ответные ходы и так далее. Вы можете представить себе, что все возможные ходы расширяются, как ветви вырастают из стебля - вот почему мы называем это «деревом поиска». Повторив этот процесс несколько раз, ИИ вычислит окупаемость и затем выберет лучшую ветвь, которой следует следовать. Сделав реальный ход, ИИ снова повторит дерево поиска, основываясь на возможных результатах. В видеоиграх

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

Упрощенная блок-схема того, как MCST может использоваться в такой игре, показана на следующем рисунке (Рисунок 2). Сложные игры с открытым миром, такие как Civilization, используют MCST для обеспечения различного поведения ИИ в каждом раунде. В этих играх развитие ситуации никогда не предопределяется, и каждый раз игрокам-людям предоставляется свежий игровой опыт.

Рисунок 2. Упрощенная демонстрация MCST. 
Рисунок 2. Упрощенная демонстрация MCST.
Учимся стать умнее ИИ
Хотя разработчики ИИ в 1990-х годах очень много работали, чтобы NPC выглядели умными, у этих персонажей отсутствовала одна очень важная черта: способность к обучению. В большинстве видеоигр модели поведения NPC запрограммированы, и они неспособны чему-либо научиться у игроков, например, они не развиваются на основе действий игроков. Причина, по которой большинство NPC не демонстрируют способности к обучению, заключается не только в том, что машины трудно запрограммировать для обучения, но и в том, что большинство дизайнеров предпочитают избегать любого неожиданного поведения NPC, которое может ухудшить опыт игрока-человека.

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

Играть против ИИ или жить с ним?
После успеха AlphaGo некоторые люди подняли вопрос о том, могут ли ИИ побеждать игроков-людей в видеоиграх в жанрах стратегии в реальном времени (RTS), таких как StarCraft, War Craft или FIFA. Короткий ответ - да, могут. С точки зрения возможных ходов и количества управляемых юнитов, RTS-игры намного сложнее, чем более простые игры, такие как Go. В играх RTS ИИ имеет важные преимущества перед игроками-людьми, такие как способность выполнять несколько задач одновременно и реагировать с нечеловеческой скоростью. Фактически, в некоторых играх разработчикам ИИ приходилось сознательно снижать возможности ИИ для улучшения опыта игроков-людей.

В будущем развитие ИИ в видеоиграх, скорее всего, не будет сосредоточено на создании более мощных NPC, чтобы более эффективно побеждать игроков-людей. Вместо этого разработка будет сосредоточена на том, как создать лучший и уникальный пользовательский интерфейс. По мере того, как технологии виртуальной реальности (VR, обеспечивающей эффект присутствия при просмотре с помощью дисплея) и дополненной реальности (AR, сочетающей в себе физический взгляд человека на мир с виртуальными элементами) продолжают расширяться, граница между виртуальным и реальным миром начинает размываться. Pokémon Go в прошлом году, самая известная игра с дополненной реальностью, впервые продемонстрировала убедительную силу сочетания реального мира с миром видеоигр. В будущем видеоигры с открытым миром на основе VR и AR могут предоставить игрокам опыт «реального мира», возможно, похожий на тот, который представлен в сериале « Мир Дикого Запада ». В этой серии игроки-люди могут играть, что захотят, с роботами, управляемыми ИИ, и чувствовать себя точно так же, как и в реальном мире. С расширением возможностей обработки естественного языка однажды игроки-люди не смогут определить, управляет ли персонажем в видеоиграх ИИ или другой игрок-человек.

Эндрю Уилсон , генеральный директор Electronic Arts, как известно, предсказал, что «Ваша жизнь будет видеоигрой». По мере того, как технология AI-VR / AR созревает и побуждает нас погрузиться во все более виртуальный мир, его видение может действительно сбыться позже. В таком случае, как вы думаете, вы бы предпочли играть с ИИ или с реальным человеком? Этот вопрос будет становиться все более актуальным.