Содержание статьи
ИИ в играх: от умных ботов до умных наставников
Текстуры
Постарайтесь избавиться от привычки поверхностно подходить к проблемам. Вместо этого продумайте структуру программы, которая позволит вам добиться нужного поведения. Чтобы воспроизвести функциональность системы, вовсе не обязательно полностью понимать, как она работает! Представляя компьютер в виде некоторого набора отдельных механизмов, а не единого устройства обработки данных, вы уже делаете шаг в правильном направлении. Сегодня многие создают игровые движки со встроенными с самого начала «автономными агентами» (нужно отметить, что слово «агент» часто употребляется неправильно) — как расширение объектно-ориентированного подхода — а значит, переносят основное внимание с программы на данные. Такой сдвиг в сознании происходит везде, поскольку люди понимают, что создание сложных виртуальных миров развлекательной индустрии без изменения подхода практически невозможно.
Развитие AI на этом не остановилось. В 2019 году появилась Emergent tool use. Этот процесс описать проще. Есть два агента — красные, которые играют против еще двух — синих. Две машины против двух машин. Задание синих агентов — убегать, а красных — поймать синих. Во время миллионов итераций первенство переходило от одной команды к другой. Поначалу синие научились баррикадировать входы в комнату при помощи коробок. Потом красные, изучающие окружение, нашли треугольную рампу, которую они поместили под стенку, смогли попасть внутрь и поймать синих. Потом синие поняли, что каждый раунд начинался с задержкой в 3 секунды, и заносили рампу внутрь комнаты, после чего уже баррикадировались. Еще миллионы повторений — и красные начали использовать физику: они отталкивались от грани, таким образом падали в комнату и ловили синих.
Один из описанных Марком способов настройки системы ИИ в играх серии FIFA (например FIFA ’99), состоит в том, что игрок бьет по воротам с вратарем, которым управляет компьютер. При этом подсчитывается: а) количество забитых мячей, которые должны были быть взяты, б) количество взятых мячей, которые должны были попасть в ворота. После тщательного анализа данных в алгоритм вводится наиболее реалистичное среднее значение.
Постепенно ИИ в играх стал намного более сложным. The Last of Us и Horizon Zero Dawn используют ИИ для создания персонажей, которые могут принимать решения, адаптироваться к действиям игроков и даже проявлять эмоции. Эти персонажи не просто враги, они неотъемлемая часть сюжета и иммерсивности (погружение в искусственно созданную среду) игры.
Например, в игре «The Last of Us» используются алгоритмы ИИ для создания врагов, реагирующих на окружающую среду, способных координировать свои действия и принимать решения в зависимости от ситуации. Похожее поведение управляемых компьютером персонажей можно увидеть в «Horizon Zero Dawn», «Red Dead Redemption 2», «The Elder Scrolls V: Skyrim».
ИИ также используется в открытых мирах игр, таких как Grand Theft Auto V и Assassin’s Creed Odyssey. В этих играх игроки могут исследовать и взаимодействовать с неиграбельными персонажами (NPC), управляемыми ИИ. Эти NPC могут общаться с игроками, предлагать побочные квесты и даже иметь свои цели. А в таких играх, как No Man’s Sky и The Elder Scrolls V: Skyrim, ИИ используют для создания уникальных и обширных миров, которые предлагают игрокам бесконечные возможности для исследования. Разработчики создают огромные и детальные миры без трат на подготовку сценария и изображения.
Перечисленные выше трудности может помочь разрешить ML. И некоторые из них он уже решает! Одним из последних решений был ML-Agent 2.0 от Unity в 2021 году . Это определенный набор инструментов, встроенных в студию Unity, которые позволяют тренировать поведение и некоторых персонажей или объекты.
В 2000-х годах искусственный интеллект в играх стал ещё более реалистичным и адаптивным. Были разработаны алгоритмы машинного обучения и нейронных сетей, которые позволили создать более реалистичных и естественных НИП. Противники могли учитывать индивидуальный стиль игрока, подстраиваясь под него. Кроме того, появились продвинутые системы принятия решений, которые позволяли врагам выбирать оптимальную тактику.
Перспективы
Один из лучших учеников Сида Мейера (Sid Meier), Брайан Рейнольдс принимал участие в создании таких классических стратегий, как Colonization и Civilization H. На момент написания этой книги Брайан являлся вице-президентом компании Firaxis Games по разработке программного обеспечения. Последняя его работа — военно-историческая игра Antietam! «Вопреки бытующему мнению, — говорит Брайан, — создание ИИ для компьютерной игры обходится без черной магии. Совершенно не обязательно доставать какие-то запатентованные алгоритмы или знакомиться с результатами последних исследований в области нейронных сетей. Все, что вам нужно, — это немного вдохновения и огромное упорство». В следующих трех параграфах описаны некоторые из излюбленных методов Брайана Рейнольдса.
Вам когда-нибудь хотелось узнать, почему эти милые норны, главные герои Creatures, ведут себя совсем как живые, причем каждый имеет собственный характер и сходные с человеческими эмоции и желания? Все вопросы к Тоби Симпсону, автору четырех заповедей, согласно которым «оживить» можно даже неодушевленные предметы.
Тут речь не о точках на карте, а о толпе, которая должна быть более-менее похожей на живую. С разной внешностью и характеристиками. Это еще один челлендж, который до конца не разрешен, хотя определенные наработки уже существуют и мы поговорим о них чуть позже.
Расставить футболистов на поле нетрудно. Гораздо труднее сделать так, чтобы игрок «осознавал», зачем его поставили на конкретную позицию, когда он должен оставаться на месте и в каких случаях может это место покидать, чтобы он умел правильно выбирать тактику игры и так далее. Одним словом, необходимо привить ему «чувство пространства».
Да, многопользовательские игры развиваются с ошеломляющей скоростью. Одна из причин — доступность «быстрого» Интернета. Но это не означает, что сетевые игры заменят искусственный интеллект. Ведь это совершенно разные вещи. Лично я получаю огромное удовольствие от сетевых игр, в которые играю уже два года. В то же время меня интересуют и одиночные игры.
Машинное обучение при помощи GPU-серверов также играет важную роль в применении в играх. Разработчики могут анализировать данные о поведении игроков и обучать модели машинного обучения. Затем эта модель может использоваться для предсказания поведения игроков, улучшения игрового процесса и проектирования уровней.
Человек VS Машина
Теперь начните игру заново — до очередной ошибки, после чего весь процесс повторяется. Раз от раза ваш ИИ будет становиться все умнее и умнее. Так на практике выглядит пресловутая «самообучающаяся система». Благодаря таким многократно повторяющимся циклам игры и исправления кода, ИИ набирает опыт и начинает играть все лучше и лучше.
В современных играх ИИ достиг высокого уровня реалистичности и сложности. Глубокие алгоритмы машинного обучения позволили создать более реалистичных НИП. Противники демонстрируют поведение, близкое к человеческому, они могут адаптироваться к стилю игрока, учиться на своих ошибках и применять разнообразные тактики.
Прежде всего в ходе создания ИИ, как и при создании самой игры, необходимо использовать «итеративный процесс разработки». Начните с простого моделирования передвижения вражеских фигурок, пусть даже ваш алгоритм окажется не сложнее, чем «switch(rnd(4))». Затем попробуйте сыграть против вашего ИИ и понаблюдайте за тем, какие ходы он делает. Дождитесь, пока система совершит какую-нибудь глупость (в первый раз это случится очень быстро), а затем подумайте вот над чем: а) какие ошибки допустил компьютер (предположим, пустил танки через лес, что замедлило их передвижение, или из всех родов войск начал «строить» исключительно артиллерию); б) как бы вы сами поступили на его месте (двигали бы танки по дороге, в разумных пропорциях «строили» пехоту, артиллерию, танки и самолеты. ); в) какие данные заставили вас (помогли вам) принять это решение (юниты быстрее передвигаются по дороге; у вас уже имелась пушка, но не было ни одного пехотинца). Измените алгоритм с учетом этих данных.
В играх серии Creatures система ИИ моделирует реальные биологические законы. Эти миловидные существа, норны, могут думать и самостоятельно обучаться, а если понадобится, могут даже обратиться к вам со своими нуждами и желаниями. (Приводится с разрешения компании CyberLife Technologies, Inc.)
И последнее. Это уже не связано с разработкой игр, но меня — очень удивило. Behavior Impact Analysis от компании Blizzard — э то о том, как общение в чатах влияет на вовлеченность в игру. Оказалось, что независимо от времени и уровня игрока, ругань, буллинг или «грязные» высказывания могут привести к тому, что человек перестанет играть. Потому Blizzard разработали NLP-алгоритм, который находит грубиянов среди игроков в чатах и делает им приватные предупреждения. Таким образом учит их общаться так, чтобы в игре не падала общая вовлеченность.
Во время обучения использовалась техника reinforcement learning (обучение с подкреплением). При каждом проигрыше алгоритм «наказывали», в случае победы — «вознаграждали». Поэтому агенты делали все ради победы, используя баги программы и решения, которые не могли предвидеть даже авторы алгоритма. Хоть и звучит футуристично, но на самом деле, это просто математическая функция.