Игровой ИИ

Игровой ИИ

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

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

Цитата

Главная задача ИИ — не выиграть у игрока, а красиво ему отдаться.

Тимур Бухараев, Nival[1]

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

  • неигровые персонажи (англ. Non-player character — NPC) — как правило, эти ИИ-персонажи являются дружественными или нейтральными к человеческому игроку;
  • боты (англ. Bot) — враждебные к игроку ИИ-персонажи, приближающиеся по возможностям к игровому персонажу; против игрока в любой конкретный момент сражаются небольшое количество ботов. Боты наиболее сложны в программировании.
  • мобы (англ. Mob) — враждебные к игроку «низкоинтеллектуальные» ИИ-персонажи. Мобы убиваются игроками в больших количествах ради очков опыта, артефактов или прохождения территории.

Содержание

История

Изначально компьютерные игры и игровой процесс находились в области исследований различных учёных. В 1951 году, используя Ferranti Mark I, первый в мире доступный для покупки компьютер, в Манчестерском университете (англ.) Кристофер Стрэчи (en:Christopher Strachey) написал программу, которая играла в шашки, а Дитрих Принц (англ. Dietrich Prinz) написал программу для шахмат.[2] Это были одни из первых компьютерных программ, когда-либо написанных. Симулятор шашек, разработанный Артуром Сэмюэлем (en:Arthur Samuel) в середине 50-х и начале 60-х годов, в конечном счёте достиг достаточного мастерства, чтобы бросить вызов чемпиону мира.[3] Работа над компьютерными шашками и шахматами достигла кульминации в 1997 году, когда компьютер Deep Blue выиграл матч по шахматам у чемпиона мира Гарри Каспарова.[4]

Первые компьютерные игры, разработанные в 1960-х и начале 1970-х годов, такие как Spacewar!, Pong и Gotcha (1973), были играми, построенными на дискретной логике и строго ориентированными на соревновании (сражении) двух игроков без ИИ.

Игры, в которых присутствовал одиночный (синглплеерный) режим и компьютерные соперники, начали появляться в 1970-х годах. Первыми заметными играми были аркады Qwak (охота на уток) и Pursuit (симулятор драки). Две текстовые компьютерные игры 1972 года выпуска, Охота на Вампуса (англ. Hunt the Wumpus) и Star Trek, также предоставляли компьютерных соперников. Движение врагов было основано на заранее сохранённых шаблонах.

Персонаж на световом мотоцикле участвует в гонке в игре GLtron

В аркадной игре 1978 года выпуска Space Invaders присутствовал изменяемый уровень сложности, отчётливые шаблоны движения и внутриигровые события, зависящие от хеш-функций, основанных на вводе игрока. Аркадный шутер Galaxian (1979) содержал более сложные и различные движения врагов.

Культовая аркада файтингам, хотя плохой игровой ИИ подтолкнул выпуск второй версии игры.

Игры типа Madden Football, Earl Weaver Baseball и Tony La Russa Baseball строили свой ИИ на попытке дублировать на компьютере тренировку или менеджмент выбранной знаменитости. Группы разработчиков игр Madden, Weaver и La Russa проделали обширную работу, чтобы максимизировать точность этих игр. Более поздние спортивные игры позволяли пользователям «настраивать, тюнинговать» переменные в игровом ИИ для создания определяемой игроком организаторской или тренировочной стратегии.

Появление новых игровых жанров в 1990-х годах простимулировало использование таких формальных инструментальных средств искусственного интеллекта, как конечные автоматы (en:finite state machines). Стратегии реального времени (англ. RTS) ставили перед игровым искусственным интеллектом многие новые задачи: неполная информированность, нахождение пути, приём решений в реальном времени и экономическое планирование.[5] В первых игр этого жанра были известные проблемы. Например, в одной из первых стратегий Herzog Zwei был почти нарушен поиск пути, а в Dune II были нарушены очень важные конечные автоматы с тремя состояниями для управления юнитов, вследствии чего компьютерные противники функционировали неправильно. Последующие игры в жанре имели много лучший игровой ИИ.

Более поздние игры использовали недетерминированные методы искусственного интеллекта, в пределах от первого использования нейронных сетей в игре 1996 года Battlecruiser 3000AD до непредсказуемого поведения и оценке действий игрока в таких играх как Creatures (англ.) и Black & White.

GoldenEye 007 (1997) был одним из первых шутеров от первого лица, в котором игровые боты реагировали на движения и действия игрока, а также использовали укрытия и выполняли перекаты во избежание попадания в них. Боты также были способны бросать ручные гранаты в подходящее время. Позже создатели этой игры улучшили игровой ИИ в игре Perfect Dark. Важным изъяном игрового ИИ в обоих играх было то, что боты всегда знали точное местонахождение игрока, даже если ни один из них не видел его.

Halo (англ.) (2001) содержал игровой ИИ, который мог использовать транспортные средства и имел базовые принципы командных действий. Боты могли распознавать такие угрозы, как брошенные гранаты и наступающие вражеские транспортные средства, и соответственно могли перемещаться из опасной зоны, создаваемой этими угрозами.

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

Значимый вклад в развитие игрового ИИ привнёс шутер от первого лица Monolith в 2005 году. На своё время он содержал очень «продвинутый» ИИ, который был встречен очень положительно всеми игровыми рецензентами и аналитиками. Бои в игре происходят в закрытых помещениях; боты работают в команде, используют окружение в качестве укрытия, применяют к игроку различные тактики в зависимости от ситуации, штурмуют, отходят, вызывают подкрепления, используют гранаты для «выкуривания» игрока, адекватно реагируют на гранаты, брошенные игроком.[6]

Компьютерная ролевая игра The Elder Scrolls IV: Oblivion использовала очень сложный игровой ИИ для неигровых персонажей. Неигровые персонажи имеют график формата 24/7 и следуют своим собственным целям собственными путями. Они не стоят в одном месте всё время. Они едят, спят и исполняют свои каждодневные обязанности. События, случающиеся в игре, могут изменить их распорядок дня и поведение. Они могут измениться из хорошего городского населения до смертельных убийц.

Компьютерная ПК-эксклюзивная игра S.T.A.L.K.E.R.: Тени Чернобыля, вышедшая в марте 2007 года, имела довольно сложный игровой ИИ, который разработчики называли «A-Life». Эта система начала разрабатываться из 2002 года, однако в финальной версии игры большая часть особенностей «A-Life» была «вырезана». Частично «A-Life» был доработан в аддоне «S.T.A.L.K.E.R.: Чистое небо» 2008 года выпуска. Более подробно о игровом ИИ в этих играх можно узнать здесь.[7]

Сетевой корпоративный шутер от первого лица Left 4 Dead (2008) использует новую систему игрового ИИ под названием «Режиссёр» (англ. The Director).[8] «Режиссёр» используется для процедурного генерирования различного игрового опыта (experience) для игроков при каждом запуске игры. Разработчики игры называют способ, согласно которому работает Режиссёр, «процедурным нарративом». Вместо строго установленных и статических уровней сложности «Режиссёр» анализирует действия и «степень выживания» игроков и в соответствии с этим динамически добавляет последующие события, делая игру интересной, но также и проходимой. Тем не менее, наряду с «Режиссёр» в игре присутствуют и уровни сложности, которые влияют на стойкость и степень повреждений игровых персонажей.[9][10]

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

Взгляды

Некоторые игровые программисты рассматривают любую методику, которая используется для создания иллюзии интеллекта, как часть игрового ИИ. Однако этот взгляд является спорным, так как он включает методики, которые широко используются вне движка игрового ИИ. Например, информация о потенциальных будущих столкновениях является важной вводимой информацией в алгоритмы, которые помогают создавать ботов, которые будут достаточно умными для избегания столкновений с объектами. Но те же самые методики определения столкновений (англ.) являются необходимым и одним из самых важных компонентов физического движка. Точно так же результаты испытательного направления взгляда (взора) бота (en:Line of sight (gaming)) обычно являются важными вводными данными в систему прицеливания бота; вместе с тем эти данные широко используются при рендеринге в графическом движке. Финальным примером является скриптинг, который может быть удобным инструментом для всех аспектов игровой разработки, однако часто сильно ассоциируется с контролированием поведения неигровых персонажей.

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

Увеличение понимания академического ИИ разработчиками игр и растущий интерес академического сообщества к компьютерным играм вызывает вопрос, насколько и в какой степени игровой ИИ отличается от классического. Однако, существенные различия между различными прикладными областями искусственного интеллекта означают, что игровой ИИ всё ещё может быть рассмотрен как отдельная под-отрасль ИИ. В частности, способность «законным» образом решить некоторые проблемы ИИ в играх через обман создаёт важное различие. Например, выведение позиции невидимого объекта из прошлых наблюдений может быть трудной проблемой, когда ИИ применён к робототехнике, но в компьютерных играх неигровой персонаж может просто искать позицию в игровом графе (en:Scene graph). Такой обман может привести к нереалистичному поведению и поэтому не всегда желателен. Но его способность служит для различения игрового ИИ приводит к новым проблемам, таким как когда и как использовать обман.

Использование

Эвристические алгоритмы игрового искусственного интеллекта используются в широком разнообразии во многих отраслях внутри игры. Самое очевидное применение игрового ИИ проявляется в контролировании неигровых персонажей, хотя скриптинг тоже является очень распространённым способом контроля. Поиск пути (en:Pathfinding) является другим широко распространённым применением игрового ИИ, — он особенно проявляется в стратегиях реального времени. Поиск пути является методом для определения того, как неигровому персонажу перейти с одной точки на карте к другой: нужно учитывать ландшафт, препятствия и, возможно, «туман войны». Игровой ИИ также связан с динамической игровой балансировкой.

Концепция непредсказуемого (англ. emergent) ИИ была недавно исследована в таких играх как Creatures, Black & White и Nintendogs и в таких игрушках как тамагочи. «Домашние животные» в этих играх имеют способность «учится» из действий, предпринятых игроком, и их поведение изменяется соответственно. В то время, как эти решения взяты из ограниченного множества возможных решений, это действительно часто даёт желаемую иллюзию интеллекта по другую сторону экрана.

Читерский ИИ

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

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

Цитата

Читить можно, но незаметно. Лучше сделать много маленьких читов, чем один большой.

Тимур Бухараев, Nival[1]

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

Ниже приведён один общий пример читерского игрового ИИ, который присутствует во многих гоночных играх. Если ИИ-игрок достаточно сильно отстаёт от основной массы гонщиков, он внезапно получает огромное увеличение скорости или другие параметры, позволяющие ему нагнать других гонщиков и снова стать конкурентоспособным соперником. Этот метод известен как «метод резиновой нити» (en:Rubber banding), потому что он позволяет ИИ-персонажу немедленно вернуться назад в конкурентоспособную позицию. Подобный метод также используется в таких спортивных играх, как серия «Madden NFL». В более продвинутых играх конкурентоспособность неигровых персонажей или ботов может быть достигнута благодаря динамическому игровому балансированию, который можно считать более справедливым, хотя всё ещё техническим обманом, так как ИИ-игроки всё ещё получают преимущества, даже при том, что они соблюдают правила виртуального мира.

Сражение нескольких NPC между собой

Сражение нескольких ИИ-персонажей (ботов, NPC) между собой (англ. AI infighting, monster infighting) является термином, популяризированным шутерами от первого лица, такими как дружественному огню. ИИ-персонаж, которого атаковал другой ИИ-персонаж по ошибке, наиболее часто поменяет свой статус относительно атакующего на «враждебный» и будет его атаковать в ответ, возможно заставляя этим других ботов атаковать себя.

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

Примечание

  1. 1 2 Тимур Бухараев Искусственный интеллект в Heroes of Might and Magic V. Проверено 17 марта 2009.
  2. See «A Brief History of Computing» at AlanTuring.net.
  3. Шаблон:Crevier 1993, p. 58
  4. Шаблон:McCorduck 2004, p. 480—483
  5. Schwab, 2004, p. 97-112
  6. Nomad Рецензия на F.E.A.R.. Absolute Games (24 октября 2005 года). Проверено 15 марта 2009.
  7. Виталий Казунов (Lockust) S.T.A.L.K.E.R.: Чистое небо - интервью о проблемах выживания искуственного интеллекта в Чернобыльской Зоне. GameTech (13 июня 2008 года). — Интервью с Дмитрием Ясеневым, главным разработчиком игрового ИИ в игре. Проверено 14 мая 2009.
  8. Left 4 Dead. Valve Corporation.
  9. Left 4 Dead Hands-on Preview. Left 4 Dead 411.
  10. Newell, Gabe Gabe Newell Writes for Edge. edge-online.com (21 ноября 2008 года). — «The events are trying to give them a sense of narrative. We look at sequences of events and try to take what their actions are to generate new sequences. If they’ve been particularly challenged by one kind of creature then we can use that information to make decisions about how we use that creature in subsequent encounters. This is what makes procedural narrative more of a story-telling device than, say, a simple difficulty mechanism. »  Проверено 22 ноября 2008.
  11. 1 2 The Illusion of Intelligence // AI Game Programming Wisdom / Rabin, Steve. — Charles River Media, 2002. — С. 19–20.

Внешние ссылки

русскоязычные источники

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Игровой ИИ" в других словарях:

  • ИГРОВОЙ — ИГРОВОЙ, игровая, игровое (спец.). прил. к игра. Игровые песни. Толковый словарь Ушакова. Д.Н. Ушаков. 1935 1940 …   Толковый словарь Ушакова

  • игровой — ИГРА, Шы, мн. игры, игр, играм, ж. Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова. 1949 1992 …   Толковый словарь Ожегова

  • игровой — прил., кол во синонимов: 3 • видеоигровой (1) • игроцкий (1) • насыщенный действием …   Словарь синонимов

  • Игровой искусственный интеллект — (англ. Game artificial intelligence)  набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИИ, помимо методов традиционного… …   Википедия

  • Игровой персонаж — (Играбельный персонаж) обозначение персонажа в компьютерных играх, который управляется или может управляться человеком игроком. Управление человеком отделяет игровые персонажи от неигровых, которые управляются игровым искусственным интеллектом. В …   Википедия

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

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

  • Игровой мир S.T.A.L.K.E.R. — Игровой мир S.T.A.L.K.E.R.  вымышленная вселенная, действие которой происходит в альтернативной реальности компьютерных игр «серии S.T.A.L.K.E.R.», где в 2006 году на Чернобыльской АЭС произошла вторая катастрофа, по масштабам… …   Википедия

  • Игровой этикет — (Gaming etiquette)  нормы поведения в современных многопользовательских играх. Содержание 1 Правила вежливости, общие для большинства игр 2 Примеры …   Википедия

  • Игровой автомат — Игровой автомат: Игровой автомат (азартные игры) оборудование, установленное в игорном заведении и используемое для азартных игр. Игровой автомат (видеоигры) специализированное устройство, разработанное для того, чтобы играть в видеоигры …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»