Черты "умного" искусственного интеллекта в играх

Марк Браун — автор видеоблога Game Maker's Toolkit, посвященного геймдизайну — 9bbhJi0NBkk&t=24s разобрался, чем характеризуется хороший искусственный интеллект в видеоиграх и как заставить игрока поверить, что его враги действительно умны. Редакция DTF перевела и расшифровала ролик.

Когда речь заходит о хорошем искусственном интеллекте в играх, все вспоминают одни и те же проекты: F.E.A.R., Halo 2 и первую Half-Life. Действительно, в них очень умные враги, однако их объединяет ещё кое-что: во всех трёх играх у противников много здоровья и они ведут себя агрессивно. Они всеми силами пытаются выследить и убить игрока. Благодаря этому искусственный интеллект кажется намного умнее, чем он есть на самом деле.

Разработчики из студии Bungie заметили это ещё во время разработки первой части Halo. Студия провела тест с двумя версиями игры. Искусственный интеллект в обеих был одинаковым, но в одной у врагов были уменьшены количество очков здоровья и урон, который они наносили игроку, а в другой — увеличены. В первом случае лишь 8% игроков называли противников в игре «очень умными», а во втором — 43%.

Но агрессивные враги нужны не каждой игре. К такому выводу пришли и в id Software, во время работы на DOOM (2016). Изначально планировалось, что противники будут бежать на игрока, как только его увидят, но из-за этого пользователям приходилось обороняться. Позднее студия изменила поведение врагов, заставив их стоять на месте некоторое время. Это позволяет игрокам начинать атаку.

Как и всё в геймдизайне, ИИ должен работать на создание опыта, задуманного разработчиками. Поэтому агрессивный искусственный интеллект подходит ксеноморфу в Alien: Isolation, но будет не к месту в Batman: Arkham Asylum.

Хороший ИИ позволяет игроку обманывать себя

Как, например, владельцы магазинов в The Elder Scrolls V: Skyrim, которым можно надеть ведро на голову и обокрасть, или противники в Uncharted, которых игрок может застать врасплох, резко высунувшись из-за укрытия. В играх серии Far Cry в пользователя могут одновременно стрелять только несколько противников, а в некоторых моментах игр серии Batman: Arkham враги не могут повернуться к игроку лицом, чтобы тому было легче к ним подобраться.

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

Хороший ИИ сообщает вам, о чем он думает

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

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

Хороший ИИ предсказуем

В 2004 году техлид разработки Halo Крис Бучер (Chris Butcher) сказал: «Цель не в том, чтобы создать что-то непредсказуемое. Нам нужен ИИ, который будет последователен, чтобы игрок понимал, как он отреагирует на те или иные действия».

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

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

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

Хороший ИИ может взаимодействовать с игровыми системами

В The Legend Of Zelda: Breath of the Wild враги не слепо бегут навстречу игроку, но подбирают оружие, поджигают свои деревянные дубины, пинают бомбы в направлении Линка и даже кидают в него своих соратников. Из-за этого противники также кажутся умнее.

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

Хороший ИИ реагирует на игрока

Реакция может быть простой, как страх, который испытывают противники в играх про Бэтмена, когда игрок избавляется от их подельников, так и что-то сложное, вроде системы Nemesis в Shadow of Mordor.

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

Реакцией на пользователя может стать и адаптация ИИ его действиям. Она также не обязательно должна быть такой же сложной как в Killer Instinct или Forza. ИИ может следить за игроком так, как это сделано в Metal Gear Solid V: The Phantom Pain.

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

Похожая система реализована и в Alien: Isolation, где ксеноморф получает новые способности так, будто он адаптируется под поведение игрока.

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

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

У хорошего ИИ есть цели, помимо убийства игрока

В игре Rainworld противники охотятся и сражаются друг с другом за территорию, поэтому иногда лучше просто обойти их стороной. В S.T.A.L.K.E.R. можно натолкнуться на перестрелки между разными фракциями. Однако эта система не работает за пределами локаций, в которой находится игрок.

В Waking Mars можно создавать целые экосистемы, наблюдая за тем, как одни виды животных и растений взаимодействуют с другими. Такие биомы развиваются даже тогда, когда вы исследуете другие части игрового мира.

Хороший ИИ — это не только враги

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

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

В Event[0] разработчики вдохновлялись чат-ботами и дали игроку возможность разговаривать с ИИ, чтобы решать загадки, а в Final Fantasy XV, один из ваших друзей — Промпто — делает фотоснимки по ходу приключения. Это совсем никак не влияет на геймлпей, но делает путешествие более личным.

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

Нравится78
Комментарии (36)
  • 56
    Хорошая статья, понравились критерии оценки ИИ.
    На некоторые вещи не обращаешь внимания, а без них игра была бы хуже.
  • 7
    Из-за этого противники кажутся игроку умнее. Пользователь может не заметить, что ИИ обладает сложной системой принятия решений и навыками наблюдения: например если враг не начнёт вслух подозревать, что какая-то дверь на локации открыта неспроста. Кроме того, такие «маяки» позволяют игроку предугадать действия искусственного интеллекта и спланировать свои собственные.

    Возможность предугадывания поведения ИИ не делает его умнее.

    Хороший ИИ предсказуем

    В 2004 году техлид разработки Halo Крис Бучер (Chris Butcher) сказал: «Цель не в том, чтобы создать что-то непредсказуемое. Нам нужен ИИ, который будет последователен, чтобы игрок понимал, как он отреагирует на те или иные действия».

    Как раз такого и не было в FEAR.
    И при этом в статье говорится что все вспоминают FEAR.
    Ну ясно, чо.
  • 15
    Предсказуемость не делает игру легче

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

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

    а за действительно умными противника только в мультиплеер. не иначе.
    Спойлер

    кажется, во вторых смотри_собаках ИИ неплохой был. или я ошибаюсь? я играл мало, но не припомню, чтобы враги там были легкими на максимальной сложности. перемещались бодро, стреляли метко, приходилось волхак на них вешать с помощью квадрокоптера.
  • 5
    Ruv1k
    Кстати да. Речь в блоге скорей про ПРАВИЛЬНЫЙ ИИ в играх, а не про умный.
    Вот в FEAR умные враги, но при этом довольнопроблемно предсказать и х действия на перед
  • 4
    Ruv1k написал:
    Возможность предугадывания поведения ИИ не делает его умнее.

    Согласен, глупый пункт. Как раз наоборот должно быть: умный ИИ непредсказуем. Это также повышает сложность. Не путем наличия 100% точности попадания в игрока, а именно за счет непредсказуемости. Вот идет охранник, а у игрока миссия пройти локацию незаметно, и что мы видим: изучаем маршрут охранника и знаем, где он окажется в каждый конкретный момент. Так? В реальной жизни - не совсем так ) Охранник может сделать неожиданное движение, обернуться в любой момент и тд - вариантов масса. И конечно же не должно быть идиотизма, когда персонаж подкрадывается к охраннику в картонной коробке или в бочке - где вы такое видели? В MGS? Смех да и только )) В реале это фуфло не сработает. Умный ИИ - наиболее приближенный к реальности...
  • 8
    Зачем нужно делать "хороший ИИ", если можно просто сделать очередную игру про зомби, которые тупо бегут на тебя и быдло с радостью схавает.
  • 10
    A.Soldier of Light написал:
    И конечно же не должно быть идиотизма, когда персонаж подкрадывается к охраннику в картонной коробке или в бочке - где вы такое видели? В MGS?

    Если в МГС солдат увидит подозрительную коробку, то он проверит ее.
  • 1
    ИИ не должен быть очень умным, это не требуется. Он должен быть просто вменяемым. Вот в том же Флешпойнте идёт патруль. Игрок начинает стрелять, патруль залёг. Игрок продолжает стрелять, патруль развернулся в его сторону. Игрок не унимается, его нашли, экран загрузки. Или приехал танк, туда, откуда слышны выстрелы, раздавил кусты, ну, собсно и всё на этом...каждый мнит себя стратегом, видя бой со стороны:) Ничего особо умного в этом нет, но уже достаточно для поддержания уровня сложности и атмосферы игры. А против отстрела всего уровня в одной комнате есть простейший приём - научить ИИ кидать в такую комнату гранату. Работы для программиста на пять минут, взвоют все доморощенные ногебаторы элитного спецназа, рухнут продажи, поэтому такое бывает крайне редко.
  • 14
    requiemmm
    requiemmm написал:
    Работы для программиста на пять минут

    ИИ это точно не работа на 5 минут
  • 2
    Добавить один триггер, если у двери в комнату есть охранник и игрок в этой комнате уже много кого завалил, в комнату влетает граната. Пусть даже световая или дымовуха, этого достаточно. Даже анимации не нужно, всё равно не разглядит никто правильный бросок.
    После чего неписи вваливаются толпой, а у игрока весь экран в зайцах:)
  • 13
    О вам захотелось поиграть со мной в жмурки ну чтож давай я жмурю! 10,9,8,7..

    Реальный прогресс в этой сфере будет уж точно не в ближайшем будущем.А пока ИИ даже и не пахнет.

  • 4
    Ага набор скриптов и простеньких алгоритмов вроде "если" игрок открыл дверь и не закрыл ее "то" нпс в случае обнаружения открытой двери пойдет и проверит. Алгоритмы чу-чуть посложней: "если" игрок открыл дверь и не закрыл её, "то" нпс в случае обнаружения предупредит других нпс о подозрительном действии, "и тогда" все нпс будут знать что здесь присутствует игрок и их маршрут обхода станет динамическим более того они войдут в режим тревоги.
  • 1
    Ещё нужно научить ИИ слушать и правильно действовать. Хлопнула дверь пошёл проверил. В комнате труп, затаился послушал, если игрок начал менять оружие, перезаряжаться или так чем зашумел подкинуть ему на звук гранату. Так же смешит во многих стелсах болезнь шеи у всех охранников. Вверх посмотреть обычно ни один не может.
    Из недоделок ИИ вспоминаю ещё Ведьмака 3 там же в загрузочных экранах столько раз писали - не воруй люди это не любят. Ага счас, я весь новиград, скелиге и туссент обчистил - реакции ноль. Уже хоть не писали бы.
  • 5
    lookaway
    там ии довольно жёсткий в плане меткости но бывает тупит тоже.
    Хотя по сравнению с другими новинками там просто шедевр.
    Это не мафия 3 где противник может бежать в стену и не асассин где вообще с НПЦ происходит чёрти что.
    зашел в какой то дом проходной в юнити а через него бегут в панике мобы. Почему, зачем, ХЗ. Просто бегут мобы.
  • 8
    Бомбардировщик
    ааа мобы бегууут, мобы, командир отдает приказания! (с)
  • 3
    Мне кажется что эволюция ИИ в играх должна затрагивать взаимодействие с миром и разными ситуациями в геймплее, то есть должна затрагивать его состояние и решения, для этого реально нужно ввести новую логическую систему действий врага или НПС в зоне видимости игрока, или в пределах видимости с помощью разных способностей. Это будет реально сложно но это выведет простой ИИ в современных играх.
  • 3
    Куда исчез ИИ FEAR...
    ..далее, казуальность
    Спойлер
    Корпорация заведомо скупает, ИМХО, PRO-разработки, консоли пример - монополия

    Бомбардировщик
    Щенок! Мафию не трожь!
  • 5
    Прочитал с удовольствием, что случается, в последнее время, все реже и реже на PG. Спасибо за статью, заслужил палец вверх!
  • 3
    все вспоминают одни и те же проекты: F.E.A.R., Halo 2 и первую Half-Life. Действительно, в них очень умные враги, однако их объединяет ещё кое-что: во всех трёх играх у противников много здоровья и они ведут себя агрессивно. Они всеми силами пытаются выследить и убить игрока. Благодаря этому искусственный интеллект кажется намного умнее, чем он есть на самом деле.

    -100500
    Действительно, не тут то было, автор блога-копипаста = null
    FEAR - ваншот
  • 3
    Что за чушь? ИИ должен моделировать поведение, а не быть предсказуемым. А уж хватит ли тебе ума спрогнозировать его поведение - это зависит от тебя.
  • 5
    F.E.A.R шедевр на века с годами все лучше.Даже не вериться, что игра так давно вышла аж в 2005.Как время летит.
  • 2
    Интересный материал.
  • 1
    Вообщето самый лучший ИИ обменяет твою пшеницу на олмас
  • 4
    Самый лучший ИИ я не знаю, но самый лучший инстаграм - animebit13
  • 2
    Описание работы ИИ из одного руководства к игре DDDA:
    Спойлер
    Кроме этого, каждая пешка обладает своим характером, который характеризуется девятью склонностями или чертами (Inclinations). Первый раз вы сталкиваетесь с этим, когда создаете свою основную пешку и вам предлагают ответить на несколько вопросов. При выборе ответов, слева будет видно как меняется характер вашей пешки - отвечайте в зависимости от того, какую пешку вы хотите получить. В дальнейшем посмотреть две самые ярко выраженные склонности можно в статусе, а третью можно узнать из разговора с пешкой.

    Как это должно работать.

    Вот описание всех склонностей:

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

    Mitigator - Поведение нацеленное на массовое уничтожение врагов. В сражении пешка будет стараться в первую очередь уничтожить самых слабых и не опасных противников, чтобы потом можно было спокойно заниматься сильными. Пешка будет использовать массовые (АОЕ) умения и заклинания для скорейшего уничтожения большего количества противников.

    Challenger - Поведение нацеленное на уничтожение противников использующих дальний бой и магию. В сражении пешка будет стараться атаковать их в первую очередь. Если таких целей много, то пешка будет использовать АОЕ (нанесение урона по площади, а не по конкретному противнику) способности.

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

    Guardian - Поведение телохранителя. В сражении пешка будет держаться рядом с вами и атаковать тех, кто нападает на вас.

    Nexus - Поведение опекуна. То же самое, что и предыдущее, но только по отношению не к вам, а к другим пешкам. Если другая пешка будет при смерти, то опекун постарается поднести ее к вам, чтобы вы могли поднять ее.

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

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

    Acquisitor - Поведение собирателя. Пешка будет предпочитать заниматься сбором предметов. Даже, если находится в бою.

    Ваша пешка одновременно имеет все девять черт, но их влияние меняется от очень сильного (для самой ярко выраженной) до минимального. Выбор поведения пешки происходит постоянно с некоторой периодичностью. Вероятность выбора того или иного поведения зависит от того насколько сильно выражена у пешки склонность. Например, пешка со склонностями Challenger/Guardian/Acquisitor/... с вероятностью 50% побежит бить вражеского мага или лучника, с вероятностью 30% будет держаться рядом с вами, с вероятностью 15% отвлечется на сбор цветочков, ну и остаются там какие-то минимальные шансы на остальные склонности (проценты тут только в виде примера для объяснения механики - в игре реальные вероятности могут быть другими).

    Как это работает на самом деле.

    На практике же поведение такой пешки будет таким - сперва она бежит бить вражеского мага, по дороге остановится поднять цветочек, потом не добежав до мага, начнет возвращаться, чтобы защитить вас, но не добежав до вас отвлечется на вражеского лучника... Понятно, что пешка с таким характером в бою никуда не годится.
  • 1
    Ruv1k
    Это точно, реально жирных врагов в первом Фире были единицы, (к примеру чувак в осадном костюме) .
    Там враги реально чет умели делать, и удивлять.
  • 0
    Сделать хороший ИИ трудно,вот поэтому многие разрабы и переключаются на тупой онлайн.
  • 1
    заценно
  • 0
    A.Soldier of Light
    Чушь не неси. Если добавить НЕПРЕДСКАЗУЕМОСТИ в любой стелс экшн, то игра уже превратится не в тактическое планирование, а просто в рандом
  • 2
    Интересная статья, но про здоровье согласиться не могу. Важен наносимый урон ботов, а не толстенная броня.
  • 3
    Azinot
    В рандом игра превратилась бы, например, если бы человек-пехотинец мог прыгать на три метра в высоту, телепортироваться с места на место или меняться в размерах, без всяких вспомогательных устройств. Или если бы вертолёт мог бы нырять под воду или дёргаться туда-сюда, как бешеная стрекоза.

    Если же таких казусов нет, и всё держится в рамках вселенной игры, тогда непредсказуемость идёт только на пользу. Заставляет игрока просчитывать больше вариантов действий, быть начеку, создаёт больше разнообразных ситуаций...
  • 2
    JetRanger
    Ноуп, ты явно не знаешь как должны работать подобные игры.
    Если бы вертолёт мог бы нырять под воду и дёргаться туда-сюда, то бред, а не рандом. Рандом означает вообще случайность, поэтому я даже не знаю зачем ты привёл эти примеры, это скорее баги или что-то подобное
  • 1
    Помнится, "непредсказуемый ИИ" Чужого в последнем алиене радовал только тех, кто в нее толком не играл
  • 1
    Azinot
    Тогда что ж плохого в таком рандоме, без бреда и багов.
  • 2
    Хороший ИИ позволяет игроку обманывать себя
    Как, например, владельцы магазинов в The Elder Scrolls V: Skyrim, которым можно надеть ведро на голову и обокрасть

    И каким местом это хороший ИИ? Нормальный ии должен сказать игроку - "Что ты творишь, дубина?!"
  • 2
    _BESIK_
    Согласен. Если будет разработан настоящий ИИ, разработка игр в этом плане существенно упроститься. Ведь не нужно будет прописывать для каждого персонажа все условия его действий, так как все действия персонажа будут определяться только базовыми параметрами, такими как, агрессивность, боязнь, цель, стремление и т.п.
B
i
u
Спойлер