Есть ли какие-нибудь рекомендуемые блоги или технические документы, в которых рассказывается о том, как сделать ИИ в RPG-игре более реалистичным? (Конкретно в пошаговом бою.)
Я знаю, что что-то должно быть там, но я нахожу только статьи, в которых говорится об алгоритмах для ИИ. Я смотрю больше по принципу «это то, что заставляет компьютерного противника чувствовать себя живым». Рискать, идти спокойно, отступать и т.д ....
Так много классных ответов, и я бы хотел принять несколько из них. Всем спасибо!
Ответы:
Ошибки. Нет ничего хуже, чем противник ИИ, который может выстрелить вам в голову с пятнадцати миль или всегда выбрать идеальную стратегию победы. Это нарушает погружение и дает понять, что вы играете в рутину. Ошибки могут сделать ИИ более человечным.
Многие игры FPS заставляют ИИ промахиваться с первых нескольких выстрелов, предупреждая игрока о том, что ИИ есть, прежде чем идти на убийство.
Стратегические игры могут иногда выбирать неоптимальную стратегию или при оценке угроз могут целенаправленно игнорировать некоторую их часть.
Гоночная игра, над которой я работал, рассчитывалась, когда игрок находился рядом, а затем бросал кубик, чтобы машины ИИ, стоящие перед ним, поворачивали в повороте или уносили колесо. Его хвалили за реалистичный AI.
Однако создание несовершенного ИИ все еще является проблемой. Вы должны делать убедительные ошибки с убедительной скоростью, а не совершать совершенные действия после совершенных действий, пока не совершите нелепую ошибку. Это может быть даже хуже, чем играть в идеальный ИИ. Например, программист, работавший над гоночным ИИ выше, потратил много времени на моделирование того, как автомобиль недостаточно поворачивается, и какие действия ИИ должен сделать, чтобы вызвать убедительную недостаточную поворачиваемость. Как всегда, тестирование игр жизненно важно.
Вот хорошая статья о том, что приводит к возникновению подобных ошибок: http://www.gamasutra.com/view/feature/3947/intelligent_mistakes_how_to_.php
источник
Другие говорили об искусственном интеллекте, логике, планировании и важности ошибок. И все это хорошо и полезно при разработке ИИ.
Но вопрос был в том, что заставляет компьютерного противника чувствовать себя живым, а это невозможно сделать с помощью ИИ. Это просто не так. Игроки не судят персонажа в игре, основываясь на их стратегическом уровне выбора; они судят об этом, основываясь на гораздо меньших вещах.
Чтобы компьютерный оппонент чувствовал себя живым, вам нужен полный набор высококачественных анимаций и звуков (особенно вокала) для оппонента. Игрок не может видеть AI. Он не может слышать это, он не может испытать это, он не может знать, что думает противник. Внешний вид «этот персонаж является живым существом» представлен игроку полностью посредством анимации, воспроизводимой на персонаже, и звуков, производимых персонажем (которые опять-таки, в основном, будут вокалами).
Для персонажа важно реагировать на раздражители вокруг него; смотреть на вещи поблизости, прикасаться к объектам поблизости (когда это уместно), удивляться удивлению и показывать другие эмоции, когда это уместно.
Говоря об этих вещах, важно минимизировать количество повторений. Если персонаж использует одну и ту же анимацию атаки каждый раз, когда атакует, он никогда не почувствует себя живым. Если он проигрывает однопетлевую «холостую» анимацию, когда больше ничего не делает, он не будет чувствовать себя живым. Если он произносит один и тот же голос дважды (особенно последовательно), это разрушает иллюзию, что персонаж жив.
И это в значительной степени так. Если оппонент, которого вы пытаетесь заставить казаться живым, физически присутствует в вашей игре, то ваш успех в том, чтобы заставить его казаться живым, будет в основном определяться графикой и звуком, показываемым игроку.
Если оппонент, которого вы пытаетесь заставить казаться «живым», на самом деле отсутствует в игре, как в случае с Шахматами и StarCraft, тогда не стесняйтесь игнорировать этот ответ; Лучше всего следовать ответам, сфокусированным на искусственном интеллекте.
источник
Вот список некоторых простых концепций, которые могут сделать вашего противника более ярким:
Намерение
Дайте игроку способ определить «намерение» ИИ. Это может быть так же просто, как заставить их выкрикнуть «Количество над качеством» перед попыткой точной атаки в голову, «Обойти его», пытаясь отстать от вас, или «Взять лидера, ничего больше не имеет значения» перед атакой главного героя. Вы также можете усложнить задачу, например, заставить их дать некоторый язык жестов своим товарищам по команде, а затем изменить поведение этих товарищей по команде.
Отчаяние
Когда противник приближается к смерти, вы можете испытывать чувство отчаяния. Измените их тактику на определенных вехах здоровья. Сделайте их более поздние стадии более паническими, с большим риском, принимаемым с их стороны (переходя на град, а не медленное дробление). Визуально также сообщайте об этом (более преувеличенные анимации, пульсирующие вены и т. Д.).
Выйти на ура.
Дайте им смерть, которая делает борьбу с ними чем-то, что стоит повторить. Кряхтит оживленно. Боссы прислушиваются. Если это гордый персонаж, заставьте их отказаться от убийства и нанесите себе последний урон. Вы получаете дрейф.
источник
Я рекомендую этот Google IO говорить о Google Doodle Pacman. В 18:00 они начинают говорить о личности призраков в pacman. Это действительно ошеломляет, как просто вы можете поместить личностей в простой поиск пути.
Google I / O 2011: секреты Google Pac-Man: игровое шоу
Целое видео стоит посмотреть. Я действительно рекомендую это.
источник
Я не знаю ни о каких таких блогах, но так как тактические пошаговые RPG - мой второй любимый жанр сразу после roguelikes, я напишу вам сообщение в блоге. Исходя из моего опыта, меня не отталкивала не сложность тактического ИИ в РПГ или РТС, а его противоположность: полная близорукость ИИ и отсутствие командных решений. Человек никогда не будет так играть.
Тогда, когда я все еще рассматривал JRPG как вершину игрового дизайна, я однажды пытался создать «типичную японскую TRPG» с упором на тактические пошаговые бои, такие как Final Fantasy Tactics. Как всегда, это стало просто технической демонстрацией для поиска пути и ИИ, поэтому я поделюсь своими мыслями по этому вопросу.
Большинство из этих TRPG не сильно беспокоятся об ИИ. Игрок получает удовольствие не от сложной тактической или стратегической задачи, а от общего фарма и злоупотребления искусственным интеллектом. Так что не имеет большого значения, что их ИИ делают вещи, которые ни один человек никогда бы не сделал. Обычно достаточно иметь глупого ИИ и уравновешивать его с игровым дизайном таким образом, чтобы ему никогда не приходилось видеть больше, чем один ход, и использовать только лучшие краткосрочные ходы. Конечно, это никогда не кажется реальным, но кого это волнует? Это просто кажется неправильным, я хочу верить, что можно создавать забаву, основанную на сражении со сложными действиями ИИ, а не на ферме и катании на роликах. Может быть, и ненужным, и трудоемким, но возможным.
Вспоминая оригинальную Final Fantasy Tactics и ее хардкорный мод FFT 1.3, я поставил перед собой цель по-человечески и весело играть в ИИ:
Я думал, что буду решать # 1 с возникающим поведением, # 2 с разными личностями и человеческим «полу-случайным» выбором стратегии, # 3 с минимальным жестким кодированием и тщательным тестированием.
Так что же это за поведение, о котором я говорю, это сценарий последовательности возможностей для использования? Лучшая способность из взвешенного списка? Нет, то, что я имел в виду, было сочетание желаемого интеллекта , типа личности и роли, вытекающей из доступных в настоящее время способностей и оружия. Вы можете описать эту комбинацию как «глупый торговец уроном от берсеркинга» или «умный целитель защиты». Таким образом, специализации ИИ, такие как классы или профессии, например, ИИ лучника, который использует лук для стрельбы стрелами с помощью некоторого набора предопределенных общих комбинаций способностей лучника, таких как Take Aim или Arrow Shower, становятся логически возникающими, а не жестко закодированными.
В основном, важно обнаружить и воздействовать на следующие роли: дилер урона, укротитель урона, блокировщик, стрелок, целитель, буфер / дебаффер, зона действия эффекта; обычно один персонаж выполняет как минимум две из этих ролей.
Чтобы сделать это тактическим развлечением, мы хотим, чтобы поведение решало несколько случаев:
Самый простой случай. Много слабых гоблинов устраивают засады на наших героев. Воспринимаемая угроза очевидна, гоблины будут пытаться сокрушить игрока, когда у каждого гоблина есть дурацкая личность берсерка с некоторыми примитивными способностями в рукопашном бою, очевидная слабость также очевидна, как приманка гоблинов к одному защищенному от огня и огнестойкому персонажу, а затем наложение серии огня основанные на AoE заклинания в этом общем направлении. Найдите укротителя урона, найдите AoE'er, специализируйте урон от урона для типа урона AoE'er, отправьте урон от урона в массу гоблинов, разыграйте заклинание AoE, когда вокруг группа гоблинов.
Обычный случай, чтобы проверить простые командные взаимодействия. Игрок встречает рыцаря, лучника, мага и клерикала. Воспринимаемая угроза теперь более сложна, становятся доступными различные взаимодействия. Вы уже можете видеть возможные роли и их комбинации. Клерик будет усиливать и лечить, маг будет разыгрывать сложные, но наносящие большой урон магические вещи, рыцарь либо атакует кого-либо, либо защищать мага, лучник поможет рыцарю, отстреливая тех, кто пытается убежать от него, или делая его стратегию защиты более полной, это будет зависеть от выбора рыцаря. Персоны для врагов могут быть выбраны случайным образом, превращая одно и то же столкновение в уникальный опыт. Игрок должен будет решить, какая стратегия лучше подходит для его юнитов, и если ИИ попытается сделать то же самое на другой стороне экрана, это будет интересно.
Сложный случай, чтобы проверить взаимодействие команды и стратегическое планирование. Существует битва, в которой вы сталкиваетесь с бандой из четырех убийц (умный, осторожный урон дилером + перестрелка). Немногие, с угрожающей внешностью, их предполагаемая угроза заключается в умелом и смертельном нападении, а кажущаяся слабость в том, что легко уменьшить общую силу с помощью одного убитого убийцы. Естественно, они умны, они используют способности, которые хорошо работают друг с другом и могут фокусировать огонь на самых опасных персонажах игрока; серьезно раненые отступают, излечиваются и улучшают свои силы, чтобы присоединиться к битве. Очевидно, что игрок сначала попытается уничтожить одного из них, а ассасинам придется мягко противостоять этой простой стратегии, поэтому она будет менее доминирующей.
Трудный случай для множества стратегий. Есть несколько отрядов врагов, каждый из которых выбирает лучшие тактические ходы, а затем выбирается лучшее глобальное стратегическое решение для всех отрядов.
Невозможный случай. Добавьте генерала, чтобы решить стратегию, и пусть командиры отрядов реализуют ее в меру своих способностей.
Уже много писем, так что короче говоря, реализация была беспорядочной, и я никогда не справлялся с «тяжелым случаем», но даже тогда такой подход к забавной тактике казался выполнимым. Я начал с ФШМ, но мне пришлось быстро отказаться от этого подхода, он стал запутанным беспорядком состояний и переходов, которые невозможно отладить. Через некоторое время я остановился на полуавтономных персонажах, основанных на восприятии способностей, таких как парадигма «чувственный-думай-действуй», с деревьями поведения для возможных индивидуальных действий, глобальной стратегией, затрагивающей возможные действия команды, основанной на возможных индивидуальных действиях, а также заурядной версией чего-либо как N-Gram статистическое предсказание было брошено в.
Как это получилось? Удивительно, но AI даже несколько раз читал мои мысли, но я устал и оставил их, поскольку убедительных недостатков было более чем достаточно:
Я думаю, что мой подход был в лучшем случае посредственным, если не откровенно плохим, и ИИ глючил и мучался в заднице, чтобы развиваться дальше, но даже тогда мне было очень весело играть против него, почти как если бы я играл с отвлеченным ребенком, который все еще лучше, чем тактика огр :)
источник
Не всегда заставляйте его реагировать на ваше действие X действием Y. Когда вы оцениваете каждое потенциальное действие, добавьте случайный коэффициент выдумки, чтобы ИИ не всегда выбирал один и тот же вариант, но выбирал что-то разумное.
Оцените, есть ли у атаки разумный шанс на успех или, по крайней мере, нанесение значительного урона. Слишком много игр просто используют сценарии атак, которые человек может выучить и использовать для засады ИИ снова и снова.
источник
Одна вещь, которую я вижу, много подсказывает, чтобы ИИ каким-то образом передавал свои «мысли» игроку. Это часто делается в шутерах от первого лица, когда враги (нереально) выкрикивают свои планы игроку (т. Е. «Флангите его!», «Он там!» И т. Д.).
В конце концов, игроки знают, что они играют против ИИ, поэтому все, что умный ИИ делает без предварительного уведомления игрока, может быть просто отклонено как мошенничество.
источник
Часто мы думаем о том, «как мы создаем ИИ?»
Это пропускает большой вопрос "Что такое ИИ?"
Этот разговор с TED.com, который я наблюдал несколько лет назад, поделился очень вдохновляющим подходом к определению искусственного интеллекта.
Если вы хотите, чтобы ваши игроки чувствовали, что враги «умны», это даст ответ высокого уровня и, по сути, совершенно новый способ мышления об ИИ, то есть «способность предсказывать»
http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html
источник
Для меня «чувствовать себя живым» означает, что персонаж действует так, как вы думаете, в реальной жизни.
У людей в реальной жизни есть потребности, мотивы, страхи, недостатки. Они говорят, они реагируют друг с другом, если это группа, они бегут, потому что заботятся о своей жизни.
Если они военные или обученные, у них есть тактика.
Так что, возможно, вам следует проверить в области человеческого поведения, так в гуманитарных науках, а не в компьютерных науках.
источник