Содержание статьи
ИИгровой механизм: как нейросети изменили индустрию игр
Интеграция
Такая система — самая глобальная и тяжёлая. Она показывает впечатляющий результат, но на её создание требуется очень много усилий. Ведь тут нужно учитывать логику не только каждого отдельного AI в игре, но и отслеживать более глобальные события на уровне, а уже исходя из этой информации распределять врагов.
Особенно это актуально для врагов разных архетипов. Условно говоря, один противник может быть с мечом, а другой — с копьём. Если они перемещаются, то получится интересный геймплей. Но если стоят на месте, то один будет всё время ждать, когда убьют другого, — это не очень здорово. О подобном перемещении рассказывали, например, разработчики Devil May Cry.
Когда начинается битва, глобальный планировщик может отдавать приказы как отдельным мобам, так и группам. В той же Horizon Zero Dawn бывало, что если напасть на группу роботов, то часть из них убегала, часть вступала в битву, а оставшиеся вообще творили нечто необычное.
ИИ в современных играх используется в основном в двух направлениях: в области генерирования контента и в повышении уровня реализма графики. ИИ может быстро создавать игровые локации, планеты, населенные жизнью, и разнообразные задания для игроков. Особенно такой способ применения актуален для игр с открытым миром. Основатель и CEO «Бюро цифровых технологий» Виталий Зарубин отметил, что ярким примером такого применения является игра No Man’s Sky, создатели которой заявили, что в игровом мире более миллиона планет — и все планеты были сгенерированы автоматически нейросетью.
Допустим, круговую атаку враг будет применять раз в несколько секунд. И поскольку у многих противников в бою эти кулдауны банально не совпадают, то высока вероятность, что противники не будут атаковать все и сразу. То есть, можно поставить вокруг игрока пять врагов с таймерами и разнести атаки по времени. Тогда сначала ударит первый и запустит кулдаун, затем второй — и так далее. Для подобного метода врагам не нужно знать о существовании друг друга, — это самый простой вариант.
— ИИ помогает сэкономить многие часы разработки, анимации персонажей, генерации контента и всего того, чем наполнена игра. Крайне велик соблазн отдать на откуп ИИ львиную долю игрового контента, заменив писателей и художников. Игрокам такой подход может не понравиться, потому что созданный ИИ мир может оказаться однообразным и скучным. Исключить человека из процесса разработки полностью пока не получается, — рассказал эксперт.
В остальных случаях, если мы хотим получить грамотно поставленный бой, то приходится прибегать к некоторым ухищрениям. Тут важную роль играет постановка, — прямо как в кино. Поскольку каждый противник имеет свой шаблон поведения, прописанный сценарий боя и паттерны атак, то часть атак может быть завязана на таймерах.
Еще одно направление, в котором используется ИИ, — аналитика, позволяющая поддерживать уровень сложности игры чуть выше навыков игрока. Есть так называемая «кривая сложности» — в современных играх она подстраивается под человека так, чтобы ему было комфортно, не приходилось постоянно пересиливать себя, но при этом, чтобы играть было интересно и не слишком просто. И искусственный интеллект позволяет эту кривую выстраивать. — Без него [ИИ] тяжело сделать современную компьютерную игру в принципе, а сложную игру просто невозможно. Если организуется интерактивное взаимодействие между игровыми сущностями и игроками, то без применения ИИ оно будет малопривлекательно для пользователя, — полагает заведующая кафедрой киберспорта факультета игровой индустрии университета «Синергия» Елена Скаржинская.
Направления
У каждой точки в этой форме есть свой вес или приоритет. Когда AI врага занимает точку, то ей выставляется самый низкий приоритет. Это отправляет другим мобам сигнал о том, что точка занята. Чем дальше точки вокруг AI, тем выше приоритет. Условно говоря, интеллект врага не видит других мобов, но распознаёт занятое место. Поэтому враг выбирает позицию, которая наиболее удалена от занятой точки. При таком раскладе мобы вокруг игрока располагаются равномерно и оптимально.
Для интересного сражения мало просто выпустить противников на игрока — разработчики часто регулируют искусственный интеллект мобов особым образом, чтобы бои получились более захватывающими и интересными. О тонкостях настройки интеллекта врагов и пойдёт речь в этом материале.
Это удобная и гибкая система. Она настраивается как со стороны игрока, так и со стороны врагов. Можно выставить противнику его «вес», то есть обозначить важность для этого боя. Но и игроку можно настроить число доступных слотов — так появляется дополнительный способ регулировки сложности.
В игровой индустрии нейросети нашли применение также в области тестирования игр. Современные тайтлы огромны по своему объему, а ИИ помогает создавать непредвиденные ситуации, выявлять баги, генерируя большую матрицу различных вариантов развития событий. ИИ создает вариативность одежды, косметики, уровней, событий — это позволяет протестировать все возможные ситуации, которым игрок может подвергнуть игру. По слова Зарубина, ключевой результат интеграции ИИ в процесс тестирования — минимизация багов.
Система файт-директора для таких игр не очень актуальна, проще решить всё слотами, маркерами или таймерами. Глобальный планировщик хорош для игр с открытым миром, в которых бои — не камерные и не постановочные. Тогда планировщик позволяет создавать более реалистичные ситуации.
Иммерсивное взаимодействие игроков с цифровым миром существенно развилось благодаря использованию нейронных сетей. Они обеспечивают более быстрое и точное моделирование физических взаимодействий между объектами, что позволяет игрокам ощущать в реальном времени эффекты, особенности окружающей среды.
Сам маркер можно сделать счётчиком, не ограничивая его единицей. Тогда, скажем, если на игроке будет стоять маркер «единица», то его может атаковать ещё один враг, а если «двойка», — то никто атаковать дополнительно не будет. Классический пример — The Last of Us. В ней битвы построены в форматах «один на один» или «один на два». Во второй части есть и более масштабные битвы, но они уже больше работают на напряжение и саспенс.
Последний тип, который я затрону, — это файт-директор (или глобальный AI, или планировщик). На разных проектах его называют по-разному. Например, в Horizon Zero Dawn был HTN — планировщик сети иерархических задач (hierarchical task network planner). А в F.E.A.R. она так и называлась — файт-директор.