Алгоритмы и нейросети: как устроен ИИ в видеоиграх. deepmind.. deepmind. Dota 2.. deepmind. Dota 2. forza.. deepmind. Dota 2. forza. gran turismo.. deepmind. Dota 2. forza. gran turismo. open ai.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2. дизайн игр.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2. дизайн игр. игры.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2. дизайн игр. игры. Игры и игровые консоли.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2. дизайн игр. игры. Игры и игровые консоли. искуственный интеллект.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2. дизайн игр. игры. Игры и игровые консоли. искуственный интеллект. История IT.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2. дизайн игр. игры. Игры и игровые консоли. искуственный интеллект. История IT. нейросети.. deepmind. Dota 2. forza. gran turismo. open ai. starcraft2. дизайн игр. игры. Игры и игровые консоли. искуственный интеллект. История IT. нейросети. Разработка игр.

Тема ИИ хайпует всё больше и больше, но настоящие геймеры знают, что ИИ с нами уже очень давно, он активно соперничает с нами в соревновательных играх и выдаёт задания в RPG… Или это другое… Есть ли что-то общее между игровым и нейросетевым ИИ?

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

Получается, ИИ в играх можно разделить на два вида два вида:

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

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

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

ИИ слабее волка, но через кольцо в Trackmania прыгает

ИИ слабее волка, но через кольцо в Trackmania прыгает

С чего всё началось

А началось всё с алгоритмических ИИ. Один из первых компьютерных ИИ для игр был разработан в 1940-1950 годах и предназначался для игры в шахматы. На звание первого такого ИИ претендует Turochamp – программа, созданная Аланом Тьюрингом, которую, однако, в своё время на компьютере запустить так и не удалось.

На основании своих ходов и ходов оппонента система определяла наиболее эффективный следующий ход.

Алгоритмы и нейросети: как устроен ИИ в видеоиграх - 2

В 1970 годах рынок видеоигр получил активный рост благодаря популярности игровых аркадных автоматов. Вместе с тем ИИ в играх так же рос, развивался и становился комплекснее. Так, в 1980 в игре Pac-Man у призраков была система поиска маршрутов и различные паттерны поведения для каждого из них, что усложняло игру и делало её разнообразнее.

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

  • Соперники в файтингах, например, Mortal Kombat и Street Fighter, подбирали стратегии противодействия приёмам игрока

  • Враги в шутерах, например Golden Eye 007, стали лучше использовать укрытия и применять тактические действия

  • В жанр Real Time Strategy (RTS) боты могли составить конкуренцию начинающему геймеру перед выходом в мир противостояния с людьми, чтобы понять, что человек так не играет (передаю привет своему первому матчу в Starcraft 2)

  • В RPG у NPC появился распорядок дня и зачатки уникального поведения

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

Так, возможно, нейросети – это то, чего не хватает игровому ИИ и мы стоим на пороге крупных изменений в геймплее?

Нейросети в играх

По мере роста доступности крупные компании и энтузиасты оказываются не против интегрировать нейросети в различные игры. Нейросети могут победить лучших игроков мира в DOTA 2 или стать собеседником в крупной RPG.

“Оживление” NPC в играх

Как говорил Конфуций “дай человеку рыбу – и он будет сыт один день, дай человеку нейросеть и он сделает мод для общения со стражниками в Скайриме”. И, действительно, находятся мододелы, которые добавляют возможности для более глубокого взаимодействия с NPC в различных играх, и Skyrim, конечно, не остался без внимания.

Но не только небольшие команды модеров работают над разговорами с NPC, например, сервис Avatar Cloud Engine от Nvidia, предоставляет инструментарий для интеграции чат-ботов для разработчиков.

Данные технологии звучат действительно весьма интересно и расширяют простор взаимодействия с миром игры практически до бесконечности. Однако, я всё-таки склонен разделять и скепсис в отношении будущего нейронных NPC в крупных сюжетных играх. В инструментарии той же Avatar Cloud Engine есть ограничители, но будет ли их хватать, не будут ли галлюцинации портить игровой процесс и давать игрокам недостоверную информацию, отправляя приключаться в замок, которого даже на карте нет, ответы на эти вопросы придут только со временем.

Open AI Five в Dota 2

Один из громких кейсов разработки нейросетевых ботов для игры – это, конечно, противостояние ботов Open AI и киберспортсменов в Dota 2. Нейросеть несколько раз соперничала с игроками:

  • первый раз она победила на TI 17 в категории 1х1 соло мид

  • на TI 18 ИИ сражался уже в формате 5х5 с ограниченным пулом героев против нескольких профессиональных команд, однако, человеки одержали победу

  • продолжение было на TI 19, где ИИ одержал победу над командой OG, хотя и не все согласны, что эту игру можно назвать дотой

Также Open AI проводило открытое тестирование, в рамках которого игроки могли посоревноваться с нейросетью. Винрейт ИИ составил 99,4 %, однако, причины некоторых странных действий со стороны ботов так и остались загадкой, а значит, рядовой игрок вряд ли сможет поднять уровень игры, подражая действиям такого соперника.

Кроме того, Open AI заявляла, что использует Dota 2 как площадку для теста идей по развитию ИИ, а не для создания нового класса соперника.

Есть информация, что для тренировки системы потребовалось 256 видеокарт и 128 000 процессорных ядер. Так что, теперь вы знаете, что не только генерация антропоморфных котов на электросамокате приводит к дефициту памяти, возможно, просто очередной миллиардер делает свой игровой ИИ, чтобы занимать топ 1 в POE 2

А вот и кот, символизирующий повышение стоимости оперативы в DNS

А вот и кот, символизирующий повышение стоимости оперативы в DNS

AlphaStar в Starcraft II

Тренировка ИИ в стратегических играх не ограничилась дотой. Компания DeepMind проводила опыты со своим ИИ AlphaStar, но уже в Starcraft II.

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

AlphaStar уверенно победил профессиональных игроков TLO и MaNa, а некоторое время спустя боты появились и в обычных рейтинговых матчах и одержали 99,8 % побед против игроков.

Тут можно чуть подробнее остановиться на особенностях ИИ, которые я ранее затронул в разделе про Dota 2. На просторах YouTube есть ролик про детали игры с AlphaStar, в котором разбирается, что ранняя версия ИИ не действовала как человек и выполняла вещи, невозможные ни механикой игры, ни человеческой реакцией, например ИИ:

  • выделил здание, на которое ни разу не наводился камерой

  • собирал чётко выверенные группы юнитов, ровно достаточные для устранения каждого отдельного таргета во время сражения

  • по лёгкому блюру на экране безошибочно определял наличие невидимых юнитов

Если говорить о стратегических играх, кажется, нейросеть стала достаточно нечестным соперником. Возможно, она разыгрывает уникальные стратегии, но сможет ли их в полной мере понять и реализовать человек – это вопрос, как вопрос и то, за счёт чего именно нейросеть одерживала 90+ процентов побед – за счёт быстрой адаптации и хороших стратегий, или за счёт нечеловеческой реакции…

Drivatar в Forza

Пожалуй, Drivatar в серии Forza самый древний (во всяком случае, в текущей подборке), и, на мой взгляд, самый спорный пример использования машинного обучения для соперников в видеоиграх. Система Drivatar появилась в Forza в 2005 году и позиционировалась как цифровой клон игрока.

Если точнее, то ИИ в Forza фиксирует как игрок проходит 12 типов поворотов: положение машины в пространстве, скорость прохождения поворота и постоянство этих показателей. 

Пример разделения трассы Road Atlanta на эти типы поворотов

Пример разделения трассы Road Atlanta на эти типы поворотов

При этом разработчики ограничивают поведение ИИ в рамках некой “нормальности” и, если вы во время гонки в каждом повороте сносите по одному оппоненту, то ваш драйватар не будет перенимать данное негативное качество, чтобы не портить игру для других людей. Также никуда не делся и  rubber band – это набор механик, которые позволяют игроку всегда быть в конкурентным против ботов, например, в NFS, если игрок сильно отстаёт, боты любезно сбавят темп, а, если далеко отрывается, наоборот, найдут лишние лошадиные силы. В системе драйватаров такие “читы” тоже есть и  обуславливаются изменением характеристик машин оппонентов в процессе заезда, например, увеличением веса или изменением параметров сцепления с дорогой.

Если сравнивать Drivatar с ИИ, например с Open AI Five, то выяснится, что ИИ в Forza – это просто супермен. В играх Opan AI ограничивала количество персонажей, которых можно выбрать, до 18 из 115 т.к. именно на этих персонажах обучался ИИ. Драйватар же, может ездить в любых условиях даже на машинах, на которых вы никогда не играли и данных по которым он собрать просто не мог.

На мой взгляд, система драйватаров, в большей мере, маркетинговый инструмент. Дело даже не в том, что я сам не особо замечал отличий в поведении ботов друзей в играх серии Forza Horizon, скорее, даже по описанию система больше похожа на ИИ в Mario Kart, только вместо изменения траектории для подбора самого полезного улучшения соперник выбирает траекторию, похожую на действие игрока. 

Sophy в Gran Tourismo

В отличии от Drivatar, Sophy можно назвать гонщиком, который научился управлению машиной на трассах Gran Turismo при помощи обучения с подкреплением (напомню как выглядит подобное обучение на примере Trackmania).

Алгоритмы и нейросети: как устроен ИИ в видеоиграх - 5

Sophy – это соперник, который нацелен победить в гонке, а не сделать игру весёлой. Она не будет ждать, если вы вылетели с трассы и отстали слишком сильно, и точно будет только рада обогнать вас на 2-3 круга, если сильно мешкаться. Чтобы её сбалансировать для слабых игроков разработчики не крутят ползунки навыков, а дают ИИ более слабую машину, на которой Sophy также будет ехать на пределе своих возможностей.

Именно благодаря этому Sophy, как ни странно, способна доставить удовольствие от игры с ботом для высокоуровневых игроков. 

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

Не обходится и без ограничений

Не каждая игра подходит для того, чтобы просто посадить играть в неё нейросеть и через время пойти побеждать киберспортсменов. В качестве примера такой игры подходит Montezuma’s Revenge, выпущенная для Atari. Некоторое время эта игра была одной из немногих, где нейросеть не могла побить рекорды людей, ведь стандартная модель обучения с подкреплением просто не работала.

Как-то так выглядит игра, победившая нейросеть

Как-то так выглядит игра, победившая нейросеть

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

Для решения этой проблемы пришлось изменять подход к алгоритмам обучения нейронных сетей. Примером такого алгоритма является Go-Explore от Uber, который побуждает ИИ исследовать мир и сохранять перспективные альтернативные варианты, к которым можно будет вернуться позднее для альтернативного исследования (описание принципа работы алгоритма).

ИИтоги

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

  1. Во многих случаях нейросетевые боты не рассматриваются разработчиками как инновационный соперник для игрока

Те же Open AI и DeepMind сразу заявляли, что они не делают новых ботов для игры, а обучают нейросеть на большом объёме данных в безопасных условиях. Разработка алгоритма Go-Explore хороший пример того, как нестандартные ситуации в видеоиграх способны показать проблему с обучением нейросети, не тратя при этом миллиарды долларов. По большому счёту, даже Sophy – это не только соперник в гонках, но и часть работы крупного подразделения Sony AI, занимающегося различными исследованиями в области ИИ.

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

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

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

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

Сложно однозначно сказать на сколько нейросеть может сделать игры интереснее для обычного, среднестатистического пользователя:

  • на сколько весело любителю аркадных гонок будет ехать против оптимальных траекторий Sophy из Gran Turismo? 

  • интересно ли противостоять AlphaStar, который может молниеносно реагировать на любые действия на всей карте?

  • нужны ли бесконечные разговоры с кузнецом человеку, который просто пришёл в Skyrim драться с драконами?

А вы как думаете, будут ли студии вкладываться в нейросети для создания ботов в играх, или игры так и останутся, в большей мере, тренировочной площадкой для безопасного обучения?

Автор: Terrapard

Источник