Вас заметили: как устроены механики обнаружения в стелс-играх
От них зависит ритм прохождения и общее впечатление от геймплея.
Геймдизайнер и автор YouTube-канала Марк Браун опубликовал видео, в котором рассказал о механиках обнаружения в стелс-играх. По его словам, обычно это комплексная система, благодаря которой создаётся определённый ритм — медленные эпизоды планирования и осторожных действий сменяются быстрой импровизацией после случайной ошибки. Мы выбрали из видео главное.
Один из важнейших компонентов стелс-игр — механика обнаружения, которая может быть реализована совершенно разными способами. Один из самых простых — мгновенный провал миссии, если противник заметил игрока.
Значительно менее раздражающий вариант — когда включается тревога, которая оповещает всех противников на уровне о присутствии пользователя. В шутерах и экшенах такой подход можно назвать эффективным, потому что это позволяет мгновенно начать ожесточённую перестрелку. А вот для стелс-игр это не подходит, потому что они сосредоточены на абсолютно другом типе геймплея.
Чтобы описать более продвинутые виды механики обнаружения, нужно сперва разобраться, как работает ИИ в играх. Чаще всего в современных тайтлах применяются два подхода — конечные автоматы и дерево поведения. Они работают по следующему принципу: у NPC есть конкретные состояния с соответствующими анимациями и действиями. Когда выполняется определённое условие, персонаж переходит в новое состояние.
Например, в Pac-Man призраки обычно находятся в состоянии «Погони» и пытаются догнать героя. Когда игрок получает усиление, противники переходят в состояние «Бегства». После нескольких секунд призраки возвращаются в изначальное состояние и опять пускаются в погоню за игроком.
В Metal Gear Solid обычные охранники находятся в состоянии «Спокойствия» и просто патрулируют уровень, если Снейк успешно прячется. Когда герой попадает в область видимости противников, включается тревога, а враги начинают атаковать и преследовать персонажа. Если игроку удаётся уйти от погони и спрятаться, то охранники переходят в состояние «Поиска» и запускается таймер. Когда таймер доходит до нуля, то противники переходят в состояние «Спокойствия». Если же они находят игрока до истечения таймера, то возвращаются в состояние «Атаки».
Подобный алгоритм встречается в большинстве современных стелс-игр. Но главное нововведение заключается в добавлении нескольких промежуточных этапов при переходе из состояния «Спокойствия» в «Атаку». Такая система есть, например, в Dishonored 2.
Если же во время заполнения шкалы уйти из поля зрения противника, то игрок сможет избежать боя. Тогда враг некоторое время будет патрулировать зону, в которой увидел подозрительный объект, а затем вернётся в спокойное состояние.
Ещё одна деталь механики обнаружения — как много противников реагирует на тревогу. В Dishonored 2 при обнаружении игрока сбегаются все враги, которые могут услышать звуки потасовки и крики своих коллег. А все остальные стражники не будут знать о присутствии игрока. Это позволяет пользователю нейтрализовать ближайшую угрозу и вернуться в режим стелса.
Также в играх встречается механика оповещения через «сирену» — если пользователь не успевает обезвредить врага, который бежит включать тревогу, то все противники в области узнают о присутствии игрока.
Другой вопрос, на который разработчики должны ответить при создании системы: как долго противники должны находиться в состоянии тревоги, после того, как увидели игрока?
В Metal Gear Solid V: The Phantom Pain в такой ситуации противники целой зоны становятся более осторожными на много игровых часов. А в Batman: Arkham Asylum враги вообще никогда не возвращаются в спокойное состояние — они навсегда остаются в «Нервном» состоянии и начинают ходить спина к спине, чтобы защитить себя от атак сзади.
В некоторых играх враги выкрикивают угрозы главному герою — это позволяет пользователю понимать, в каком состоянии они находятся. А в Untitled Goose Game для этого используются небольшие иконки — они парят над головами персонажей и показывают, о чём они думают.
Если соединить все перечисленные элементы вместе, то получится интересный геймплей, в котором эпизоды осторожного и вдумчивого планирования сменяются стремительными моментами импровизации и попыток выйти из трудной ситуации. Но зачастую игроки пренебрегают этим и загружаются для того, чтобы идеально исполнить свой план.
Марк Браун постарался рассмотреть эту проблему с нескольких сторон. Во-первых, большинство стелс-игр позиционируют главного героя как профессионала, который никогда не ошибается. Поэтому частые промахи и последующие попытки скрыться от противников никак не вяжутся с этой концепцией. Автор видео не знает, как можно решить эту проблему — возможно, это задача нарративных дизайнеров.
Во-вторых, убегать от преследования интересно, но вот сидеть в укрытии и ждать дольше минуты, пока противники успокоятся — это скучное занятие. Проще загрузиться, чтобы получить ещё один шанс пройти всё идеально.
В-третьих, есть достижения, таблицы рангов и результаты миссий, которые поощряют игроков, которые проходят уровни идеально. Поэтому пользователи инстинктивно тянутся к этому и стараются добиться лучшего результата любыми способами. Для решения этой проблемы Браун предложил показывать внутриигровое достижение только тогда, когда пользователь его впервые получает — это одновременно поощряет умелых игроков, но и не сбивает с толку новичков.
Конечно, проблему с загрузками можно решить, если вообще убрать сохранения и оставить только чекпоинты. Другое решение нашли разработчики ещё одного жанра, в котором всего одна ошибка может испортить сразу всё, — гоночных игр. В некоторых играх есть возможность отмотать время назад, чтобы вернуться к моменту до совершения ошибки. При этом на каждом заезде есть ограниченное количество перемоток, поэтому пользователи должны использовать их с умом.
Но есть и другие способы решить эту проблему. Например, в Batman: Arkham Asylum игрок может с лёгкостью спрятаться от врагов и уйти из их поля зрения. Но при этом его здоровье не восстановится, пока не закончится битва. Поэтому у пользователя всегда есть право совершить ошибку, но ему всё равно нужно быть осторожным, потому что здоровье не бесконечное.