Баннер мобильный (3) Пройти тест

ИИ в играх: кто управляет NPC и как обыграть моба

Как нейросети применяют для генерации контента и игровых механик в геймдеве

Разбор

25 июля 2024

Поделиться

Скопировано
ИИ в играх: кто управляет NPC и как обыграть моба

Содержание

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

    Что такое ИИ в играх

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

    Искусственный интеллект:

    • создает персонажей, которые ведут себя как настоящие люди;
    • управляет NPC и другими элементами геймплея;
    • делает игру интерактивной.

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

    При этом главная задача ИИ остается прежней — не выиграть соревнование, а просто развлечь пользователя.

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

    Одной из первых игр, в которых использовался ИИ, стал Turochamp — компьютерные шахматы. В 1950-х годах Алан Тьюринг создал программное обеспечение, которое анализировало расположение шахматных фигур и выбирало наиболее удачный ход. Программа могла «думать» только на два шага вперед, в то время как профессиональные шахматисты просчитывали исход партии до 12–14 шагов.

    Скрин шахматной доски в Turochamp
    Turochamp могла обыграть новичка, но не профессионального шахматиста. Источник

    В семидесятых появился Pong, где искусственный интеллект управлял ракеткой, в восьмидесятых — легендарный Pac-Man. Однако на тот момент ИИ еще не умел адаптироваться к поведению игроков. В большинстве игр NPC были просто запрограммированы на конкретное поведение.

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

    В Petz ИИ впервые обучался в процессе игры. Источник

    Попытки интегрировать искусственный интеллект в игры предпринимались уже давно. Один из проектов, полностью построенных на ИИ, — AI Dungeon. Это текстовая игра, в которой ты общаешься с нейросетью и она генерирует твое приключение. Ты выбираешь сеттинг и говоришь, что делаешь, а ИИ дает ответы в виде описания местности и того, что происходит вокруг, как окружающий мир реагирует на твои действия. Сейчас нейросети появляются в диалогах игр. Думаю, что совсем скоро мы будем общаться с NPC без заготовленных вариантов, а они будут отвечать репликами, которые сгенерировала нейросеть. Также появляются текстовые озвучки. Например, у недавно вышедшего Starfield не было русской локализации, но уже появились модификации, где нейросеть переводит и зачитывает диалоги. Возможно, скоро подобные технологии будут интегрироваться и на уровне продакшна.

    Степан Грознов,
    Middle-разработчик на Unity в Brush Burger, ментор на курсах Skillfactory

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

    Сегодня разработчики используют разные подходы для создания ИИ внутри игры. Но чаще всего они базируются на одном и том же принципе: получить информацию — проанализировать ее — выдать реакцию. 

    Искусственный интеллект получает информацию практически так же, как обычный игрок, — с помощью сенсоров. Это может быть классический конус зрения, различные звуки или резкие запахи. То, что у неигровых персонажей есть свои «органы чувств», делает игры более реалистичными. Например, в Shadow Tactics: Blades of the Shogun используется конус зрения, разделенный на зоны видимости. Заметит ли противник игрока — зависит от ландшафта территории: в однородной зеленой зоне его вычислят сразу; в полосатой, где видимость затруднена, — только если он начнет движение.

    Скрин из игры Shadow Tactics: Blades of the Shogun
    Виртуальные персонажи, как и обычные игроки, имеют органы чувств. Источник

    После того как ИИ получил информацию о действиях игрока, он принимает решение о дальнейшей тактике. В этом ему помогают алгоритмы:

    • Rule-based — список правил и условий, созданный разработчиками. Помогает регулировать простое поведение персонажей. Например, если игрок приблизится к собаке, она начнет убегать.
    • Finite-state machine (FSM) — самый распространенный алгоритм в видеоиграх. Разработчик заранее прописывает все ситуации, которые могут произойти с NPC, и его реакцию. Например, в шутерах противник атакует при появлении игрока и отступает, если его уровень здоровья падает. Такие алгоритмы используются в Battlefield, Call of Duty и Tomb Raider.

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

    Скрин из игры Call of Duty
    В Call of Duty ИИ работает по алгоритму FSM «конечные автоматы». Источник
    • Monte Carlo Tree Search (MCTS) — так называемое дерево поведения, в котором прописаны все возможные состояния персонажа. В любой момент игры искусственный интеллект проверяет, где находится NPC, и подбирает одну из подходящих реакций. Например, NPC может гнаться за игроком, но как только тот скроется из виду, он вернется к патрулированию улиц. Дерево поведения помогает ИИ легко сориентироваться в игре и не зависнуть.

    В отличие от FSM, дерево поведения предотвращает ситуации повторения и делает игру более интересной. Такой алгоритм использовался в Deep Blue — первом шахматном суперкомпьютере, обыгравшем чемпиона мира Гарри Каспарова. А также в стратегии Civilization, где у компьютерного соперника появляется практически неограниченное число доступных сценариев.

    Скрин из игры Civilization
    В игре Civilization используется алгоритм Monte Carlo Tree Search. Источник

    Проблемы с ИИ в играх 

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

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

    Поэтому большинство действий NPC могут с легкостью предугадать даже начинающие геймеры.

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

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

    Степан Грознов,
    Middle-разработчик на Unity в Brush Burger, ментор на курсах Skillfactory

    Игры, в которых используется ИИ

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

    Искусственный интеллект используется в играх:

    • Detroit: Become Human

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

    Скрин из игры Detroit: Become Human
    В Detroit: Become Human благодаря ИИ неигровые персонажи ведут себя очень естественно. Источник
    • Red Dead Redemption 2

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

    •  Middle-Earth: Shadow of Mordor

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

    • Alien: Isolation

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

    Alien: Isolation
    Монстр в Alien: Isolation «умнеет» прямо на глазах игрока. Источник
    • The Elder Scrolls

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

    Перспективы ИИ в играх

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

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

    Степан Грознов,
    Middle-разработчик на Unity в Brush Burger, ментор на курсах Skillfactory

    А как бы вы использовали искусственный интеллект в разработке игр? Делитесь своими идеями и опытом игр с ИИ в комментариях.

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии