Геймдев
#статьи

Не совсем человек: искусственный интеллект в играх

История развития, особенности работы и лучшие примеры.

официальный арт к серии игр System Shock

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

Что же такое игровой искусственный интеллект? Мы разобрались, как ИИ внедряли в игры, а также с самим его развитием. Заодно вспомнили примеры игр с достойной реализацией поведения NPC.

Определение искусственного интеллекта

Чтобы разобраться, как работает искусственный интеллект, мы должны понять, что же подразумевают под этим словосочетанием. Некоторые люди могут ответить на этот вопрос чем-то подобным: «Искусственный интеллект — это мозг, который воссоздан внутри компьютера». Отчасти они будут правы, но концепцию «ИИ как мозг» уже успели высмеять десятки раз — например, в Fallout: New Vegas.

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

«Искусственный интеллект в играх представляет собой всё, что не запускается игроком во время игрового процесса».

Фредерик Пельтье,
директор по техническому производству в Ubisoft Mobile

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

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

Фирас Хосн,
программист ИИ в Ubisoft

История появления ИИ в играх

Зарождение искусственного интеллекта в видеоиграх началось до того, как сама индустрия стала неотъемлемой частью жизни практически каждого человека. Один из наиболее ранних и громких прецедентов использования этой технологии в игре относится к 1950-м годам.

Тогда Алан Тьюринг, известный в научном сообществе как «отец компьютерных наук», создал программный алгоритм Turochamp. Разработанное ПО умело анализировать положение шахматных фигур на доске, чтобы выбрать наилучший возможный ход. Логика алгоритма основывалась всего на нескольких самых элементарных шахматных правилах, а «думать» он был способен только на два хода вперёд. То есть Turochamp, конечно, мог играть с живыми людьми, но точно не побеждать профессионалов.

Фото: Alexander Limbach / Shutterstock

«Обычно я просчитываю игру вперёд на три-пять ходов, но в зависимости от ситуации могу продумать и на двенадцать или четырнадцать».

Гарри Каспаров,
шахматист

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

Так, ИИ управлял ракеткой в игре Pong, где уже мог двигаться, основываясь на действиях игрока. При этом, если рассматривать видеоигры в целом, поведение врагов в них было довольно примитивным. К примеру, всё нарастающая скорость движения инопланетян в Space Invaders связана с аппаратными особенностями микрокомпьютеров, а не с программным кодом. Микропроцессоры семидесятых не могли одновременно обрабатывать большое количество спрайтов врагов, поэтому игра «подтормаживала». Чем больше инопланетян уничтожал игрок на одном экране, тем меньше информации требовалось учитывать процессору — отсюда и ускорение игрового процесса. Сами же враги только и умели, что медленно приближаться к игроку и иногда стрелять.

В восьмидесятых появляется ещё одна всем известная игра — Pac-Man. Это первая видеоигра, в которой представили систему поиска маршрутов. Благодаря ей враги могли легко расшифровать путь, который игрок выбрал при определённых обстоятельствах. К тому же у каждого из призраков в Pac-Man были уникальные паттерны поведения, что делало противостояние с ними более интересным.

А Donkey Kong от Nintendo представила игрокам целый ворох разнообразных противников с уникальными особенностями и движениями. Особой гордостью разработчиков стало плавное повышение уровня сложности, которое толкало геймеров того времени на предел их возможностей. Однако искусственный интеллект всё ещё был достаточно ненадёжен. Он не умел ни учиться на своих ошибках, ни адаптироваться к поведению игроков, поэтому последним приходилось идеально заучивать конкретные паттерны, чтобы двигаться дальше, — никаких поблажек авторы не делали.

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

«ИИ становился всё более популярным в игровой индустрии. Характерные особенности разработки игр делали их идеальной средой для внедрения и отработки различных алгоритмов».

Лонг Лин,
руководитель отдела искусственного интеллекта в Electronic Arts

В этот период появилось много новых жанров игр. Среди них стратегии в реальном времени (RTS) сильнее всего стимулировали развитие игрового ИИ. Игровой искусственный интеллект крайне важен для стратегических игр, поскольку именно поведение врагов в RTS определяет уровень интереса, напряжения и даже азарта от геймплея. Благодаря стратегиям ИИ в играх начали развивать как самостоятельную и важную сферу игровой индустрии.

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

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

Дэнни Ланге,
старший вице-президент по ИИ в Unity

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

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

Как работает ИИ в играх?

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

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

Мэт Бакленд,
отрывок из книги «Программирование игрового искусственного интеллекта в примерах»

Самая распространённая роль ИИ в видеоиграх — управление неигровыми персонажами, и разработчики часто используют различные трюки, чтобы NPC выглядели более умными. Один из широко используемых алгоритмов называется конечным автоматом (FSM или finite-state machine). Его ввели в разработку видеоигр в 1990-х годах. В FSM-алгоритме разработчик обобщает все возможные ситуации, с которыми может столкнуться ИИ, а затем программирует конкретную реакцию для каждой из них. Например, в шутерах искусственный интеллект атакует, когда появляется игрок, а затем отступает, когда его собственный уровень здоровья становится слишком низким.

Источник: Harbing Lou / Harvard University. Инфографика: Майя Мальгина / Skillbox Media

В примере алгоритма FSM NPC может выполнять четыре основных действия в ответ на возможные ситуации: поиск помощи, уклонение, блуждание и нападение. Многие известные игры, например Battlefield, Call of Duty и Tomb Raider, включают в себя успешные примеры искусственного интеллекта на основе FSM-алгоритма.

Более продвинутый метод, который используют разработчики для повышения персонализированного игрового опыта, — алгоритм дерева поиска Монте-Карло (MCTS или Monte Carlo Tree Search). Алгоритм MCTS был создан для предотвращения аспекта повторяемости, который присутствует в FSM-алгоритме. MCTS-алгоритм сначала обрабатывает все возможные ходы, доступные NPC в конкретный момент времени. Затем для каждого из этих возможных ходов он анализирует все действия, которыми игрок мог бы ответить. А далее — снова возвращается к оценке NPC уже на основе информации о поступках игрока.

Этот алгоритм искусственного интеллекта использовала компания IBM при создании Deep Blue — первого шахматного суперкомпьютера, который 11 мая 1997 года вошёл в историю и выиграл матч из шести партий у чемпиона мира по шахматам Гарри Каспарова.

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

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

Источник: Harbing Lou / Harvard University. Инфографика: Майя Мальгина / Skillbox Media

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

Джастин Фаррен
исполнительный продюсер студии Wargaming

Игровой искусственный интеллект сегодня

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

«Индустрия видеоигр почти не обращает внимания на передовые исследования ИИ, и это кажется мне не самым лучшим решением».

Джейкоб Шрум,
доцент компьютерных наук в Юго-Западном университете Джорджтауна

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

«Большинство игровых ИИ спроектированы так, чтобы быть именно настолько такими интеллектуальными, насколько нужно игроку для получения приятного опыта».

Брюс Хилл,
бывший программист Sims 4

Гумбы из игры Super Mario, ужасно трудные боссы в Dark Souls 3, враги из Rogue и Dead Cells — все они используют одни и те же методы.

Скриншот: Dark Souls 3 / FromSoftware

Боссы из игры Dark Souls 3 могут двигаться с невероятной скоростью, они запрограммированы предвидеть множество распространённых ошибок, которые допускают игроки, но используют точно такой же алгоритм поведения ИИ, как и Гумбы в Super Mario, которая вышла на несколько десятков лет раньше.

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

В принадлежащей Google лаборатории DeepMind, в исследовательском отделе ИИ Facebook* и других подразделениях по всему миру усердно учат ИИ играть в более сложные видеоигры. Это включает в себя всё — от китайской настольной игры го и классических проектов Atari до продвинутых киберспортивных дисциплин вроде Dota 2 и CS:GO.

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

В 2019 году в Сан-Франциско прошёл чемпионат OpenAI Five, в ходе которого состоялась встреча ИИ с пятью киберспортсменами из команды OG — и люди проиграли. Эта команда в 2018 году взяла высшую награду в киберспорте, заняв первое место на турнире The International по Dota 2.

Изображение: официальный арт к игре Dota 2 / Valve

Боты OpenAI обучались с подкреплением и независимо друг от друга. То есть они попали в игру без предварительного программирования, были вынуждены учиться методом проб и ошибок. Соучредитель и председатель OpenAI Грег Брокман заявил, что за десять месяцев своего существования искусственный интеллект провёл 45 тысяч лет игрового процесса в Dota 2.

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

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

После успеха OpenAI некоторые люди подняли вопрос о том, может ли ИИ победить игроков в стратегиях реального времени (RTS), таких как StarCraft и Warcraft. Короткий ответ: да, может. Но с точки зрения возможных ходов и элементов управления RTS намного сложнее.

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

«Лучший игровой искусственный интеллект — это когда вы его не замечаете. ИИ, который в определённые моменты кажется пугающе точным или странно себя ведущим. Но не слишком всезнающий, потому что тогда игрок заметит, что это определённо искусственный интеллект».

Татьяна Шорт,
геймдизайнер и соучредитель инди-студии Kitfox Games

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

Возьмем, к примеру, Red Dead Redemption 2 от студии Rockstar, которая позволяет игрокам взаимодействовать с неигровыми персонажами тысячами сложнейших способов, вызывающими различные реакции в зависимости от целого ряда деталей. Например, от шляпы, которую вы носите, или от наличия на вашей одежде пятен крови. Мир тут настолько сложный и проработанный, что разные игроки могут пережить разные события.

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

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

Дэйв Марк,
руководитель саммита ИИ на Конференции разработчиков игр в 2015 году

Также следует упомянуть игру Middle-Earth: Shadow of Mordor, выпущенную в 2014 году студией Monolith Productions. Что делает эту игру действительно особенной и выделяющейся на фоне других, так это система Nemesis.

Вместо заурядного ИИ, который иногда можно найти бессмысленно бродящим и ждущим игрока, враги в Средиземье по-настоящему эволюционируют и превращаются в действительно опасных противников. «Тень Мордора» в какой-то мере создаёт искусственную социальную память — форму интеллекта, которую мы встречаем в реальной жизни, но в играх — почти никогда. Средиземье убеждает игроков, что их враги думают о них на другом, личном, уровне — они помнят, они ненавидят, а также называют их по именам.

«Я думаю, что причина, по которой система Nemesis настолько интересна и убедительна, заключается в том, что она привлекает внимание игрока к системной природе обид и мести».

Ричард Лемаршан,
профессор игрового дизайна в Университете Южной Калифорнии

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

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

Также студия Monolith Productions разработала игру F.E.A.R.: First Encounter Assault Recon, которую выпустили в 2005 году. Несмотря на многие последующие инновации, искусственный интеллект F.E.A.R. всё ещё считается в некоторых кругах стандартом для шутеров от первого лица.

Изображение: арт к игре F.E.A.R. / Warner Bros. Interactive Entertainment

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

В F.E.A.R. благодаря планированию ИИ существует возможность отделить действия от целей. Разработчики использовали предварительные условия при создании NPC. С такой моделью можно создать целый ряд уникальных действий для различных типов персонажей в игре. А это, в свою очередь, делает поведение врагов более неожиданным и продуманным.

Можно вспомнить и известную многим геймерам Alien: Isolation от студии Creative Assembly. При создании игры её авторы использовали несколько необычные методы реализации ИИ. В игре существует система заданий, которая позволяет Чужому находиться в двух основных состояниях — активном и пассивном. Активное состояние — это когда система приказывает Чужому обыскать всю локацию или определённые места после срабатывания какого-то триггера. А пассивный режим включается, когда уровень угрозы находится на пике слишком долго, а потом резко пропадает. Тогда Чужой самостоятельно пытается найти игрока.

Поведение инопланетянина зависит от прописанного заранее дерева. Монстр обладает более чем 100 узлами, скрытыми в его системе. Но при запуске игры используется всего 30. Система постепенно разблокирует комплексные модели поведения — по мере выполнения определённых условий на протяжении всей игры. Это гарантирует, что чем больше геймер проводит времени в Alien: Isolation, тем сильнее Чужой начинает проявлять новые поведенческие черты, чтобы постоянно удивлять и шокировать. Именно благодаря такой концепции создаётся впечатление, что монстр начинает учиться на собственном опыте и, что важнее, на поступках игрока.

«Наш основной принцип для ИИ — не жульничать. Если вы слышите пришельца в вентиляционных отверстиях рядом с вами, то есть большая вероятность, что он вас тоже слышит».

Гэри Нэппер,
ведущий дизайнер Creative Assembly

* * *

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

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


* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook* и Instagram* на территории Российской Федерации по основаниям осуществления экстремистской деятельности».
Онлайн-школа для детей Skillbox Kids
Учим детей программированию, созданию игр, сайтов и дизайну. Первое занятие бесплатно! Подробности — по клику.
Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована