Допустим, я создаю уровень для классического шутера от первого лица. Сначала я строю ареню и добавляю на неё несколько монстров. Я не хочу, чтобы на игрока нападали сразу после начала уровня, поэтому присоединяю к одной из сторон арены коридор и ставлю игрока туда.
Буквами E помечены враги-монстры на арене, а буквой P — игрок, изначально находящийся в коридоре.
Мой уровень получился простым, но я им доволен и приглашаю друга протестировать его. Мой друг проходит по коридору, входит на арену и его обнаруживают монстры — пока всё идёт по плану. Затем мой замысел начинает разрушаться. Вместо того, чтобы сражаться на арене, мой друг возвращается в коридор и стреляет в дверь, когда в ней один за другим появляются враги. Вместо динамичной перестрелки, уворотов от пуль и вихря разрушений мой приятель превратил уровень в тир: скучный, безопасный и медленный.
Это так называемая проблема дверей. В частности, это проблема дверей в дизайне боевых столкновений. Это проблема привлечения игроков в геймплейные пространства и принуждения проходить игру увлекательно.
Если проблема в двери, то почему бы не сделать её больше, или не соединить коридор с ареной напрямую? Но проблема не в самой двери. Проблема заключается во взаимосвязи этих двух пространств, проблема в том, что испытывает игрок, когда пересекает некий порог, который часто принимает форму двери.
Если расширить дверной проём, чтобы коридор выходил на арену, то мы получим другую версию той же проблемы. В чём-то она будет лучше, в чём-то хуже. Даже после увеличения порога ничто по-прежнему не привлекает игрока на арену, и ничто в коридоре не выталкивает его оттуда.
Прежде чем рассматривать способы решения этой проблемы, давайте разберёмся, что и почему идёт не так.
Что я создаю на самом деле?
Начнём с основ. Когда мы изготавливаем уровень для классического шутера от первого лица, то что мы создаём? Если опустить тематические и повествовательные функции уровня, то в чём смысл уровня? Что мы пытаемся построить, создавая дизайн боевого столкновения?
Построение уровня для классического шутера заключается не в убийстве страшных монстров мощными пушками, хоть это и является частью привлекательности игры. Кроме того, уроень классического шутера — это не просто последовательность ключей и замков. Всё это средства достижения цели, а цель — это контроль над картой. Когда игрок движется по уровню, он отнимает территорию у врага и переводит уровень в решённое состояние.
Этот бой за территорию — один из аспектов контроля над картой, но существуют и другие. В абстрактном смысле контроль над картой — это расширение игроком своих возможностей и сужение возможностей его противника. Эти возможности зависят от ресурсов. в том числе от позиции на карте, а также от здоровья, предметов и боеприпасов. Например, если у игрока есть здоровье и боеприпасы, то он может прорываться с боем через опасное пространство в более выгодную позицию, обменивая её на ресурсы. Без ресурсов в виде здоровья и боеприпасов такого варианта действий у него нет.
И наоборот — когда игрок умирает, то частично это вызвано тем, что он проиграл игру в контроль над картой и у него закончились варианты выбора. Разумеется, в шутерах от первого лица также важны внимание, расстановка приоритетов между целями и способность игрока усваивать паттерны игрового процесса. Если игрок умирает, причина этого также заключается в его плохих навыках и неточности. Но когда игрок освоится с этими основами, то игра всё больше начинает зависеть от контроля над картой.
В случае боевого столкновения под контролем над картой подразумевается понимание взаимосвязи между врагами, окружением и доступными ресурсами. Для игрока контроль над картой означает уменьшение возможностей нападения для врагов, а также увеличение количества способов нападения на них¹.
Применяем принцип контроля над картой в решении проблемы дверей
Что подразумевается под контролем над картой в случае моего уровня с проблемой дверей? Когда мой друг впервые вошёл на арену и переполошил врагов, у него появился выбор:
- Ловко перемещаться по арене, доверившись своему навыку уклонения от вражеских атак.
- Вернуться в коридор, где у него будет укрытие и можно будет ограничить углы атаки врагов.
Этот выбор зависит от нескольких неизвестных. Если игрок сражается на арене, и прибывает вражеское подкрепление, то игрока могут подавить и вместо этого стоит бороться возле двери. Или же если у игрока не хватает огневой мощи для убийства врагов по мере их приближения. то у него закончатся варианты действий и он погибнет в коридоре. Выбор зависит от понимания игроком игры и условностей её дизайна уровней.
Игры в контроль над картой можно описать в виде графов позиций со вниманием к позициям, которые игрок может атаковать.
Игрок занимает узел 2, контролирует узел 1 и может атаковать узлы 3 и 4. Враг занимает узел 5 и контролирует узел 6.
А вот упрощённая версия моего уровня с проблемой дверей:
Буквой P обозначена позиция игрока, буквами E — позиции врагов. Знаком "?" помечена неизвестная информация.
Эта абстракция показывает нам, что попав на арену, игрок оказывается под большим количеством углов атаки, с которыми не сможет справиться. Для успешного боя на этой арене игроку нужно глубокое понимание поведения ИИ и игровых механик. Поэтому вместо этого большинство игроков будет сражаться из-за двери.
Смотрим на уровень глазами игрока
Ещё один способ диагностирования проблемы дверей — это диаграммы значений. Это инструмент абстрактного анализа восприятия игроком уровня, присваивания значений и формирования планов².
Диаграмма значений (value diagram) из доклада Обри Серра о нелинейном дизайне уровней на GDC 2019.
Для создания диаграммы значений нужно рассмотреть механики игры и проанализировать, как геометрия уровней поддерживает или ослабляет их. В случае геймплея шутера выпуклые углы создают надёжные укрытия; они предоставляют возможность с минимальным риском выйти, сделать выстрел и вернуться обратно. Другие виды геометрии уровней, например, тупики или зоны убийства врагов (killzone), могут отпугивать игроков, потому что они ограничивают возможности игрока перемещаться и стрелять без получения урона.
В геймплее шутеров значения геометрии уровней меняются при движении и стрельбе игрока и врагов. Кроме того, значения меняются в зависимости от типов врагов и различных геймплейных систем. Если игрок видит монстра, стреляющего скачущими гранатами, то ему нужно воспринимать уровень иначе; укрытие, которое было надёжным против врагов с оружием прямого боя, теперь опаснее, чем открытые пространства.
Такая динамика подталкивает к стилю игры, который Матиас Уорч в своём докладе на GDC 2014 “Meaningful Choice for Game Level Design” назвал «выбором приоритизации». Уорч дал такое определение выбору приоритизации: «сложное взаимодействие систем, которые легко понять по отдельности, но в сочетании создающих ситуации, не имеющих постоянных или очевидно выигрышных тактик». Это означает, что игроку приходится формировать мнения о наилучшем плане для решения этого динамического окружения.
Другими словами, в геймплее шутеров диаграмма значений описывает конкретный момент восприятия и оценки игрока. В другой момент арена сдвигается и диаграмма значений может стать другой, с новыми угрозами и другими приоритетами.
Если мы применим эти диаграммы к моему уровню с проблемой дверей, то поймём, что идёт не так. Всё пространство арены отталкивает игрока его уязвимостью и неизвестностью. Коридор, напротив, обеспечивает укрытие, в котором игрок может безопасно атаковать эту группу врагов.
Эта диаграмма значений сообщает нам то, что мы уже и так знаем. Но взглянув на уровень с точки зрения восприятия и оценки игроком, мы можем понять, как решить проблему дверей. Если я хочу, чтобы мой друг сражался на арене, то мне нужно изменить геометрию уровня так, чтобы пространство было более позитивным и привлекательным, чем сражение из-за дверей.
Методы решения проблемы дверей
Теперь, когда мы узнали о концепции контроля над картой и познакомились с диаграммами значений, позволяющими понять, как игрок оценивает уровень, давайте рассмотрим несколько методик решения проблемы дверей. Этот список не полон, но может стать хорошей основой.
Опора укрытия
Простейшее решение — добавить укрытие. Это сильная позиция, привлекающая игрока на арену. Из этой позиции игрок может дальше углубиться в арену для боя. Единственной причиной, по которой игрок теперь захочет вернуться к дверному проёму, будет слишком сильная открытость укрытия или простота, с которой враги могут окружить укрытие и отбросить игрока назад.
Здесь опорой служит простой блок, обеспечивающий полное укрытие. Игрок не может видеть врагов с обратной стороны блока и за его краями.
Мы видим, что с точки зрения контроля над картой укрытие ограничивает углы атаки для врагов и упрощает игроку анализ арены.
С точки зрения диаграммы значений мы видим, как это опорное укрытие привлекает игрока ан арену.
Награда за риск
Кроме того, мы можем повлиять на оценку игроком уровня при помощи усилений (powerups) и предметов. Если поместить в центр арены мощный артефакт усиления, то это может привлечь игрока и заставить его пойти на риск.
Однако после получения усиления у игрока больше нет причин оставаться на арене, и он может захотеть вернуться в коридор. Хоть это и зависит от эффекта усиления, но обычно этой методики недостаточно для решения проблемы дверей.
Ещё одна проблема этой методики заключается в том, что мы можем давать усиление игроку только время от времени. Если находясь в коридоре, игрок по-прежнему имеет усиление с предыдущей арены, тогда усиление с новой арены не будет для него особо ценным.
Скрытая информация
В играх о контроле над картой одна из применяемых тактик — «разделяй и властвуй». Мы можем подталкивать игроков к использованию этой тактики, разбив арену на слои. После разделения арены больше не будет позиции, с которой видно всё — игроку придётся двигаться, чтобы знать, где находятся враги.
Скрывающие информацию стены также действуют в качестве островков укрытий, которые могут привлечь игрока на арену. Когда враги узнают о присутствии игрока и начинается бой, эти стены становятся для игрока возможностями контроля над боем.
В подобных схемах ещё одним ресурсом контроля над картой становится информация. Игрок может расплатиться своим временем и позицией, чтобы получить информацию, или заплатить неведением за то, чтобы оставаться на месте. Даже когда в замкнутой, разбитой на части арене нет монстров, игрок может испытывать тревогу из-за скрытой информации и это подталкивает его к исследованию пространства для контроля над этой информацией. В точки зрения диаграммы значений эта тревога имеет усреднённое отрицательное значение с небольшими областями положительного пространства в углах укрытий, привлекающих к себе игрока.
Также скрытая информация мешает игроку отступить. Если в этом примере игрок отступит в коридор, то отдаст контроль над картой неизвестной группе врагов; на арене может оказаться больше врагов, чем способен выдержать игрок, сражаясь с ними в дверях. Отступление не позволяет воспользоваться возможностями импровизации, появляющимися при раскрытии скрытой информации.
Поводок для ИИ
Один из аспектов проблемы дверей на моём уровне заключается в том, что враги начинают бежать к игроку и ограничивают его движения. Можно изменить геометрию арены таким образом, чтобы враги оставались на островках территории, привязанные как собака к будке. Это значит, что игроку придётся идти в наступление, а не ждать, пока враги один за другим будут пробираться сквозь дверь.
На уровнях классического шутера простейшим способом сдерживания врагов является разность высот. В некоторых играх ИИ не может спрыгивать вниз или взбираться вверх на высоту больше одного шага, то есть враги ограничены одним островком и могут только атаковать. В современных играх есть более разнообразные инструменты влияния на поведение ИИ, например зоны, объёмы защищаемых пространств, веса путей и скриптов³.
Как и в случае с методикой награды за риск, ограничения ИИ недостаточно для решения проблемы дверей. Эту методику следует использовать в сочетании с другими методиками привлечения игрока на арену.
Односторонние проходы
Чтобы заставить игрока сражаться на арене, мы можем использовать более силовые методы. Можно заставить игрока упасть вниз или закрыть за ним дверь. Игрок может попасть в комнату через односторонний лифт или телепорт.
В современных играх можно включить катсцену, уделив момент развитию персонажей и напоминанию о цели игрока, одновременно закрывая проход в предыдущую область уровня. Но в классических шутерах от первого лица игроки ожидают секретов и наград за исследование уровней. В этом контексте односторонние проходы нарушают привычные условности и отрицают возможность влияния игрока. При использовании этой методики в таком контексте нужно открывать новые пути для возврата назад или создавать петли.
Соединяем всё вместе
Поняв, в чём заключается проблема, и узнав некоторые из методик её решения, мы можем соединить это всё вместе.
Не меняя количество врагов и не увеличивая сильно размеры арены, я воспользовался следующими методиками:
- Основы укрытия — они привлекают игрока на арену до того, как о его присутствии узнают враги, и дают ему позиции для контроля.
- Скрытая информация и поводок для ИИ разделяют арену на слои, через которые должен пробиваться игрок.
- Награда за риск — добавлен super shotgun, привлекающий игрока на арену, и ещё одна награда в виде боеприпасов и здоровья за укрытием.
- Односторонний проход — игрок падает вниз, поэтому не может вернуться к двери и вынужден оставаться на арене.
Заключение
Мой пример, который я использовал в этом посте, может показаться проблемой дизайнера-новичка. Разумеется, все знают, что на арене должны быть укрытия! Разумеется, нужно разделять арены на слои скрытой информации!
Но эта проблема дверей остаётся актуальной. Моя последняя карта для Quake страдала от проблемы дверей и встречалась там несколько раз. На каждом новом создаваемом уровне и в каждом боевом столкновении я думаю о том, как привлечь игрока в нужное пространство и как решить проблему дверей.
Я хочу, чтобы мои игроки взаимодействовали с более глубокой игрой контроля над картой. Я хочу представить им возможность выбора приоритизации, создания планов и тактик, а не сводить игровой процесс к стрельбе в тире.
Надеюсь, эта статья поможет вам найти проблемы дверей в ваших собственных работах, а описанные методики окажутся полезными в решении этих проблем.
Примечания и дополнительные источники
[1] Если вы хотите глубже понять концепцию контроля над картой, то рекомендую посмотреть матч Rapha versus Cooller на Quake Live: https://youtu.be/XdkDjsBiO58?t=155. То, что кажется игрой рефлексов, внимательности и точности, становится и игрой тактик. Хоть это и многопользовательский матч, концепция контроля над картой применима и к нему. Главное отличие заключается в том, что мы создаём дизайн однопользовательских боёв таким образом, чтобы игроки могли их решать, подобно шахматным задачам.
[2] Концепция диаграмм значений появилась в докладе Рэнди Смита на GDC 2006 “Level Building for Stealth Games”. Впервые я узнал об этих диаграммах под названием «теории значимости» из «Dark Pasts (Part 4)» Роберта Йенга, где анализировался дизайн уровней игр жанра «иммерсивная симуляция» (immersive sim). В своём докладе “Radically Nonlinear Level Design” на GDC 2019 Обри Серр адаптировал диаграммы Смита под дизайн экшн-игр.
Дополнительную информацию о влиянии восприятия игрока на его движение внутри арены см. в докладе “Balancing Action and RPG in Horizon Zero Dawn Quests” Блейка Ребуша с GDC 2018. Особенно любопытная часть начинается с 15-й минуты, когда он начинает описывать дизайн бункера.
[3] Больше о современных методиках создания ИИ для боёв можно узнать из доклада Мэттью Галланта на GDC 2017, посвящённого создаваемому вручную и системному ИИ в игре Uncharted 4.
Автор: PatientZero