Воспитание Атрея для битвы в God of War
После релиза God of War многие игроки особенно хвалили то, как сделан Атрей. Он не мешает действиям Кратоса и всегда помогает в боях — ровно настолько, чтобы они оставались интересными. О том, как Sony Santa Monica создавала компаньона, рассказал на прошедшей GDC 2019 технический дизайнер боёв Хаято Ёсидом.
Ещё до выхода многие сравнивали Атрея с Элли из The Last of Us. Однако, по словам Ёсидома, ключевое различие между ними в том, что в Naughty Dog к компаньону «относились как к собственному ребёнку», в то время как в Santa Monica «как к другу». Атрей знает, что будет делать игрок, а игрок знает, что будет делать Атрей — они кооперируются и не мешают друг другу. Между Кратосом и его сыном должна была возникнуть настоящая командная работа.
Первое, на чём разработчики условились — это ключевые принципы ИИ Атрея. По словам Ёсидома, если хотя бы три последних правила нарушались, то игра бы сразу превратилась в «плохую миссию сопровождения».
Он должен помогать игроку.
Он никогда не препятствует действиям игрока.
Если Атрей что-то делает, то его действия всегда приносят пользу.
За Атреем не приходится постоянно следить.
В качестве шуточного примера Ёсидом привёл Тора и Соколиного глаза из фильмов Marvel. Тор — бог грома и молний, в то время как Соколиный глаз обычный человек, который просто неплохо управляется луком. Но благодаря слаженным действиям они могут быстрее завершать битвы.
Команда перешла к созданию прототипов. Первая идея, которая пришла к разработчикам в голову — это сделать Атрея «инициатором». Иначе говоря, он будет начинать сражения, что даст Кратосу большое преимущество в самом начале битвы.
Это хорошо выглядело в теории, но на практике порождало две ключевые проблемы. Во-первых, из-за этой системы игрок начинал вести себя совсем не так, как хотели разработчики: вместо открытых сражений он начинал красться по уровню и использовать способности Атрея, почти как в стелс-игре.
Во-вторых, так бои начинали проходить бессмысленно с точки зрения Кратоса: всё, что делал игрок, это просто нажимал кнопку, чтобы отдать команду компаньону.
Следующей идеей была проработка двух «режимов» Атрея — «нападающего» и «защищающего». В первом случае он дрался наряду с Кратосом, а во втором — помогал ему отражать чужие атаки. Но тогда в боях начиналась путаница: игроку приходилось формально управлять не только Кратосом, но и самим компаньоном, что сбивало с толку и не давало сконцентрироваться. Посреди экшена никто не думал о том, чтобы переключать режимы.
Чтобы решить эту проблему, разработчики условно разделили поведение Атрея на две составляющие — автономную (все действия, которые он выполнял сам) и ручную (действия, которые он выполнял по приказам игрока).
Для начала Ёсидом рассказал об автономном поведении ИИ. Сначала разработчики прописали Атрея так, чтобы он вёл себя как реальный игрок: пока Кратос расправляется с одними врагами, он дерётся с другими. Поле боя между ними делилось на условные «зоны ответственности».
Но из-за этого всплывали другие, более глубокие проблемы: игрок не ощущал «присутствия» Атрея. Пока он сражался с одними врагами, ИИ где-то на стороне за кадром расправлялся с другими.
Чтобы Атрея было хоть немного лучше видно на поле боя, его решили «выделить» с помощью оружия и уникальных приёмов. Во-первых, Атрей начал использовать лук в том числе и как рукопашное оружие — так его действия лучше видны.
Во-вторых, иногда он выполнял разные акробатические приёмы: стрелял в прыжке, запрыгивал на врагов, чтобы нанести удар или начать душить. Когда он шёл в рукопашную, то внешне будто бы вкладывал в удары весь свой вес.
Затем разработчики убрали «зоны ответственности». Вместо того, чтобы сражаться с другими врагами (из-за чего его попросту не было видно на камере), Атрей начинал концентрироваться на целях самого игрока.
Во время игры в God of War можно заметить, что, стоит отвести камеру от Атрея, как он через пару секунд вновь вбегает в ракурс игрока, стараясь обогнуть его врага со спины.
Всё это стало возможным благодаря одному ловкому трюку — телепортации. По словам Ёсидома, он использовал его «везде, где только было можно». По факту, Атрей не существует автономно на поле боя: он телепортируется, стоит отвести от него взгляд, чтобы затем вновь вбежать в поле зрения и создать эффект пользы.
Этим приёмом решалась также другая проблема: Атрей становился куда полезнее в бою. Если бы он находился далеко от Кратоса, то без телепортов компаньону бы пришлось добегать до него — а лишнее ожидание раздражало игрока.
Отдачу от действий Атрея усилили, дав ему фокусироваться на действиях Кратоса. К примеру, если игрок подбросил врага в воздух, то Атрей выстрелит, чтобы он держался там дальше. Если враг «толстый» и постоянно атакует, то Атрей запрыгивает на него сверху и начинает душить, чтобы Кратос мог сделать пару ударов. Если враг постоянно блокирует удары, то Атрей отвлекает его сзади, чтобы подставить спину для Кратоса. И так далее — примеров очень много.
Иначе говоря, Атрей поддерживает врагов в уязвимом состоянии и даёт игроку ускорить сражения. Во время выступления Ёсидом привёл пример: с выключенным ИИ компаньона Кратос бил одного драугра почти четырнадцать секунд, в то время как с Атреем расправился с ним куда быстрее.
Особенно этому способствовала система «станов»: когда над головой врага заполняется нужный показатель, Кратос может применить быстрое добивание. А Атрей лишь способствует накоплению этого значения.
Во время прописывания всех этих механик команда обратила внимание на некоторые неочевидные вещи, которые стоило учесть. Атрей должен отвлекать врага на себя лишь тогда, когда это требуется: иначе спланированная атака игрока может обрушиться. К примеру, самое время для помощи после мощных ударов, которым сопутствует долгая фаза восстановления.
Впрочем, все вышеперечисленные моменты срабатывали лишь тогда, когда игрок больше нападал, чем защищался. Если же у Кратоса резко падало здоровье, то обычно игрок переходил в оборону. Чтобы в такие моменты он не боялся идти на риск, создатели проработали механики «помощи»:
Атрей кричит, где находится враг (например, сзади);
Иногда компаньон защищает от непредсказуемых атак сзади, которые игрок физически не может увидеть;
С помощью Камней Воскрешения Кратоса можно вернуть на поле боя после смерти.
В целом на вышеперечисленных моментах строится почти всё автономное поведение Атрея. Далее Ёсидом перешёл к раскрытию системы ручного поведения, которое зависит от приказов игрока.
Все действия ИИ в рамках приказов зависят от одной кнопки — квадрата или, как назвал её Ёсидом, «Кнопка сына» (Son Button). Все действия, которые Кратос просит сделать Атрея, должны отвечать следующим принципам:
Они происходят всегда, когда требуется — то есть, после нажатия квадрата нужное действие (например, выстрел из лука) должно произойти в любом случае;
Они не должны наносить вред игроку;
Их результат должен быть предсказуем;
Они должны быть приносить пользу — потому что, если этого не будет, то игрок просто не станет их использовать в будущем.
Поначалу разработчики решили добавить Атрею рукопашную атаку с помощью ножа. Если так ему удавалось кого-то убивать, то восстанавливались стрелы. Также команда провела эксперимент, добавив условный «фактор риска» — атака могла пройти безуспешно.
После тестов выяснилось, что бои происходили уж слишком «рандомно» — игрок порой получал такие результаты от действий Атрея, которые совсем не ожидал. Риск же попросту никого не увлекал. Также была идея добавить взрывные стрелы, которые детонировали по нажатию кнопки, но и эта система не работала как требуется — она ломала некоторые другие механики, вплоть до автономного поведения ИИ.
В итоге разработчики пришли к руническим стрелам. В первую очередь они «станили» врагов и отвлекали их внимание на Атрея, и только во вторую наносили урон. У Кратоса появилась возможность отдавать приказы стрелять туда, куда целится игрок. Если же он никуда не целится, а игрок всё ещё нажимает «Кнопку сына», то Атрей сам выбирает наиболее подходящую цель.
Последние аспекты, которые затронул Ёсидом — это некоторые второстепенные правила. К примеру, разработчики отказались дать возможность Атрею умереть— это лишь отвлекало от геймплея и фрустрировало, но никак не повышало интерес из-за риска. Во-вторых, благодаря кастомизации и древу навыков игрок мог регулировать стиль боя ИИ. Ресурсы на прокачку между Атреем и Кратосом поделены — валюта одна и та же.
В конечном итоге вся система ИИ компаньона привела к неожиданным результатам: ощущения от геймплея сильно повлияли на восприятие повествования. В самом начале игры Атрей ничего не умеет — автономное поведение работает не в полную силу, — но к концу сюжета становится настоящим убийцей.
И в итоге, когда в финале игры герои бьются с Чужаком, и в кат-сцене Атрей взаимодействует вместе с Кратосом — нанося поочерёдно удары, стреляя в воздухе, выполняя акробатические трюки, — игроки начинают им гордиться. Весь тот путь обучения, который они прошли вместе с центральными персонажами — всё то развитие Атрея как в нарративном, так и геймплейном плане — достигает кульминации в одном-единственном постановочном моменте.
Thanks for the information: dtf.ru