Перевод дневника разработчиков от 25.10.2018

blog_post_63_taleworldswebsite.jpg
Приветствуем, воины Кальрадии!

Искусственный Интеллект (ИИ) одна из важнейших составляющих однопользовательской игры. ИИ должен быть практически невидимым, чтобы игрок (в какой-то степени) забыл, что он играет против машины. ИИ должен быть умным и достаточно быстрым чтобы стать достойным противником, но не слишком – люди, всё-таки ошибаются; и в конечном счёте игрок, как герой истории, должен победить. ИИ должен использовать все механики игры, не только для веселья и разнообразия, но и что бы показать игроку что может быть сделано. Это особенно важно для такой игры как Mount & Blade II: Bannerlord, в которой скиллозависимая боёвка и эпически большие битвы являются основой.

В наших предыдущих играх, ИИ показывал себя в бою адекватным, но далеко не продвинутым. Тактика боя была довольно простой: ИИ либо набрасывался на игрока, либо отсиживался и ждал пока тот сам атакует. Не уделялось внимание ландшафту, и ИИ не использовал слабости армии противника или пытался воспользоваться ошибками игрока. Эта непроработанность делала из ИИ досадное препятствие, а не достойного противника. В Баннерлорде эта ситуация капитально поменялась. Мы хотим, чтобы игроки, применяли голову и использовали все доступные им боевые механики для достижения победы – а время от времени, наказывались за совершённые ими ошибки и неразумные решения. Для достижения этого, с учётом что бой в Mount & Blade может быть один на один и в больших сражениях, нам пришлось разработать более продвинутый боевой ИИ, разбитый на три отдельные категории: индивидуальный ИИ, ИИ формаций и тактический ИИ.



Индивидуальный ИИ
Каждый отдельный агент в бою контролируется своим собственным ИИ. Передвижение на позицию (поиск пути), выбор цели, атака и защита – всё это управляется на этом уровне. Индивидуальный ИИ должен быть экстремально быстрым и отзывчивым, а результат его действий должен быть верным при очень малом количестве ошибок. Дополнительно, приказы должны одновременно передаваться всему построению. В конечном счёте, тайминг и исполнение должны быть максимально приближены к идеалу.

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

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

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

ИИ формаций имеет доступ к тому же интерфейсу и набору команд что и игрок. Другими словами, наш боевой ИИ не жульничает! Он использует ту информацию, которая доступна и игроку (впрочем, вероятно, немногим более детальную и точную чем у игрока) для принятия решений.

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

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

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



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

Наконец, мы бы хотели упомянуть, что ИИ Баннерлорда также может быть модифицирован – и это разделение на три разных уровня так же важно для мододелов, облегчающее их жизнь и помогающее создавать сложные модификации. Раздельное тактическое поведение и поведение формаций и агентов необходимо: как командиры меняющие приказы во время сражения не меняют своих солдат, добавление новой тактики не должно требовать от вас моделировать поведение каждой формации или отдельного агента. Это позволит мододелам создавать свой собственный ИИ под свои нужды, не ломая чего-нибуть важного.

Оригинал дневника разработчиков
 

Комментарии

Вверх