Стада подстраивают баланс своей структуры при наличии угрозы, формируя группы «бегства» (flee) и «боя» (combat) [из (Beij, 2017)]
Но, разумеется, они не всегда остаются в таком состоянии; когда игроки начинают нападать на машины, их поведение соответствующим образом меняется. Для машин, не являющихся частью стада, всё сводится к конкретному классу машины. Только немногие убегают, когда их провоцируют напрямую. Подавляющее большинство машин атакует игрока, и даже машины-собиратели, находясь в одиночестве, часто нападают на игрока.
Однако если игрок атакует стадо, то группы внутри иерархии реагируют так же, но только если стадо уже насторожилось. Как сказано выше, групповой агент позволяет обмениваться данными с каждом машиной, но они не обновляются в каждом игровом цикле. Поэтому стада не имеют «разума улья» и игрок может убить машину, не встревожив остальную часть группы. Однако если это будет замечено или атакованная машина выживет, то она предупредит группу о нападении.
На этом этапе иерархия внутри стада сдвигается, группа машин внутри стада запрашивает новую роль и приоритет выполнения соответствующего поведения. Группа, составленная из собирателей, будет исполнять роль убегающей и начнёт совместное бегство, а группа, состоящая из боевых и разведывательных машин перебалансирует себя, а приоритетом для ролей будет персонаж, атакующий стадо. Хотя во многих случаях это просто одинокий игрок, такая схема позволяет системе масштабироваться для сюжетных миссий, в которых игрок является частью группы, или других динамических событий в мире, когда другие человеческие NPC нападают на стада.
Хотя после этого момента всё сильно усложняется, у игрока по-прежнему остаётся много возможностей повернуть ситуацию в свою сторону, потому что и системы группирования, и системы боевого ИИ обеспечивают увлекательный и одновременно сложный игровой процесс. Это достигается благодаря системе боевого ИИ, который пытается структурировать бой таким образом, чтобы он не был хаотичным или поломанным.
Сформированные боевые группы имеют разные роли и сбалансированные приоритеты, поэтому крупные машины стада распределяются по группе там, где это возможно, а более мелкие выстраиваются для их поддержки. Кроме того, группы выбирают машины для нападения на игрока не только на основании того, считает ли планировщик HTN, что он может выполнить определённое поведение, но и в зависимости от того, будет ли эта атака интересной. Если все машины просто атаковали бы игрока одновременно, то он бы довольно быстро принял мучительную смерть. Поэтому боевые системы используют подход, схожий с применяемым в Halo 3, когда баланс вражеских атак на игрока основывается на том, будет ли атака интересной в контексте боя.
Для этого требуется вспомогательная функция выбора действия, вычисляющая, насколько интересно будет, если машина атакует. Это зависит от текущего состояния машин, от того, знает ли игрок, что машина находится рядом с ним, от близости к игроку и от величины урона, полученного и нанесённого ею. Это значение становится входным условием для системы планирования HTN; его задача — не только обеспечить определённую сложность, но и добавить в бой долю разнообразия.
Но ещё важнее то, что когда от планировщика HTN требуют сгенерировать действия для атакующих групп, то пока выбирается атака, другим машинам группы тоже раздаются поведения движения вокруг игрока и ожидания своей очереди. Это сделано намеренно, чтобы создать игроку возможности или напасть на пассивную машину, или контратаковать только что ударившую его. Постепенно игрок сможет ослабить их, и в основном это происходит потому, что боевая система намеренно оставляет себя открытой для атак.
В заключение
Как понятно из данной статьи, машины в Horizon Zero Dawn могут оказаться смертельно опасными, как в одиночку, так и в группе. Благодаря планированию сети иерархических задач и системе иерархии интеллектуальных агентов машины могут бродить по миру сами по себе или при необходимости защищать и поддерживать друг друга. Именно взаимодействие с таким увлекательным миром не даёт игроку расслабиться.
Во второй части я подробно расскажу об инструментах и системах, используемых отдельными ИИ-персонажами: про системы сенсоров, применяемых для распознавания ближайших источников угроз и нападения на них; о том, как системы ИИ должны должны работать в тандеме с анимациями, чтобы машины выглядели динамичными, но реальными; про системы навигации, позволяющие машинам разных размеров перемещаться по одному рельефу; а также о том, как летающие машины, например, «буревестники», используют полностью уникальную систему навигации, позволяющую им исследовать мир и охотиться на игрока оптимальным образом.
Справочные материалы
Julian Berteling, 2018. “Beyond Killzone: Creating New AI Systems for Horizon Zero Dawn”, GDC 2018.
Arjen Beij, 2017. “The AI of Horizon Zero Dawn”, Game AI North 2017.
Wouter Josemans, 2017. “Putting the AI back into Air: Navigating the Air Space of Horizon Zero Dawn”, Game AI North 2017
Теги:
ps4
horizon zero dawn
playstation
игровой ии
игровой баланс
искусственный интеллект в играх
https://youtu.be/XxuSFBVQULY
Нет комментариев