Игровая разработка без боли и кранчей — страница 9 из 35

Что такое вертикальный срез

Концепция вертикального среза стала широко известна в игровой индустрии в последние пятнадцать лет или около того, и она очень высоко ценится. Проще говоря, вертикальный срез – это высококачественная демонстрация вашей игры.

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

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

Кор луп, или основной игровой цикл

Многие игры построены по определенному повторяющемуся шаблону, как описал Джейми Гриземер в его знаменитой концепции «30 секунд веселья», лежащей в основе геймплея серии игр Halo. В ней вы снова и снова действуете по одному шаблону: вы входите в зону, замечаете, где находятся враги и лут, и прячетесь. Вы целитесь во врагов, побеждая их одного за другим, и прокладываете себе путь по карте, пока, наконец, не достигнете выхода – только для того, чтобы войти в новую область, снова запустив этот повторяющийся цикл.

Однако это не означает, что Halo или любая хорошо продуманная игра однообразна. В интервью блогу Engadget в 2011 году Джейми сказал:


Я говорил о том, чтобы взять эти 30 секунд веселья и сыграть их в разных локациях с разным оружием, разными транспортными средствами против разных врагов и их комбинаций, иногда против врагов, которые сражаются друг с другом. Ни один 30‑секундный отрезок Halo никогда не повторяется; миссии постоянно меняют свой контекст[45].


Рис. 10.1. Вертикальный срез


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

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

В зависимости от стиля игры этот основной цикл может включать действия «бегать/прыгать/карабкаться», как в экшене с фокусом на персонаже типа Uncharted, или «выберите тип объекта / выберите область / постройте» в градостроительном симуляторе. Или же основной цикл заключается в мгновенном контроле («переместите влево / вправо/поворот/падение» в Tetris) или более опосредованном управлении («выберите юнита / отдайте команду» в StarCraft).

Я уверен, вы понимаете, что демонстрация этих основных циклов требует множества различных игровых механик, методов ввода, игровых сущностей и ассетов. Для экшен-игры понадобится не просто реализация действий «бегать/прыгать/карабкаться», но и то, по чему можно бегать, прыгать, карабкаться. Для симулятора, стратегии в реальном времени или многопользовательской онлайн-боевой арены (MOBA) понадобятся персонажи, которых можно создавать, управлять ими и сражаться. В нарративной игре понадобятся персонажи, с которыми можно поговорить, места, которые можно посетить, и события, которые должны произойти. Чтобы по-настоящему оценить геймплей, нам надо увидеть самые интересные моменты, порождаемые нашими механиками.


Специальные локации

В вертикальном срезе мы также должны попытаться показать нечто, демонстрирующее суть игры. Что довольно сложно для современных видеоигр, в которых часто ошеломляющее количество уникальных миссий и «одноразовых» событий.

Простой пример: вертикальный срез для Crash Bandicoot (созданный задолго до того, как я присоединился к Naughty Dog) состоял из двух уровней (термин левел-дизайна, означающий локации). На одном уровне был продемонстрирован сайд-скроллер[46], где Крэш перепрыгивает через ямы, разбивает ящики, собирая Вампа-фрукты, и бьет врагов, а на другом – кусочек геймплея, который встречается на протяжении всей законченной игры, где Крэш в панике бежит навстречу камере от гигантского валуна.

Эти два игровых уровня, представленные в виде вертикального среза, показали Naughty Dog, их издателю Universal Interactive и всем инвесторам, чего стоит ожидать от полноценной игры.

Три C

Вертикальный срез помогает нам определить в нашем дизайне кое-что еще: три C – character, camera, control (персонаж, камера и управление).


Персонаж

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

Персонаж игрока – это аватар, действиями которого управляет игрок. Гейм-дизайнеры иногда называют этого персонажа «игроком», но будьте осторожны – есть еще один игрок, про которого следует помнить в рамках дизайна: человек, держащий игровой контроллер, нажимающий на кнопки или направляющий мышь, со своими идеями и чувствами, планами и заблуждениями. Как гейм-дизайнерам нам следует совершенно четко разграничивать игрока-человека и персонажа игрока.

Во многих цифровых играх есть по крайней мере один персонаж игрока, в некоторых их больше. В играх, где на первый взгляд не получается определить персонажа игрока – будь то Pong, Tetris, SimCity или StarCraft, – обычно не нужно далеко ходить, чтобы найти аналогию. Персонажем игрока может быть ракетка в Pong или тетрамино в Tetris, курсор, выбор зоны и строительство в SimCity или курсор и его способность выбирать юнитов и здания в StarCraft. Какой бы набор аудиовизуальных элементов ни находился под непосредственным контролем игрока, мы должны считать его персонажем игрока и выяснить, каким он будет в нашей игре, построив вертикальный срез.


Камера

Начинающим гейм-дизайнерам иногда трудно определиться с расположением камеры в игре, всеми ее сложностями и нюансами. Глядя через ее объектив, мы настолько тесно отождествляем себя с ней, что, вероятно, не осознаем всего, что делает камера, пока мы играем. У разных игр радикально разный подход к камере.

• Вид от первого лица. С играми от первого лица, казалось бы, все просто: мы смотрим глазами персонажа игрока, а мышь управляет тем, куда движется наш взгляд. Но любой, кто пытался написать код или изменить готовые настройки камеры от первого лица, вскоре понимает, что это не так уж просто. Пропорциональная зависимость между движением мыши и направлением взгляда, качание камеры в такт шагов персонажа игрока, поле зрения – эти элементы и многое другое уже нельзя назвать простыми.

• Вид от третьего лица. Более сложный случай – камера от третьего лица, которая расположена на расстоянии от игрового процесса, как в 2D-сайд-скроллерах, например NES Super Mario Bros., 2D-изометрических играх, таких как Bastion или оригинальной StarCraft, 3D- экшенах, таких как The Witcher 3: Wild Hunt, или 3D-играх о строительстве городов, таких как Cities: Skylines. Эта камера будет двигаться либо следуя за персонажем игрока, как в Super Mario Bros., Bastion или The Witcher 3, либо находясь под прямым контролем игрока, как в играх StarCraft и Cities: Skylines.


Оба эти варианта требуют тонкой работы. Например, сайд-скроллеры создают так называемую коробку (англ. dance box) для персонажа игрока – ограниченное поле свободного передвижения, где персонаж игрока может двигаться, не перемещая камеру. Лекция Итая Керена на конференции GDC 2015 года и статья Scroll Back: The Theory and Practice of Cameras in Side-Scrollers в издательстве Gamasutra отлично освещают различные подходы к поиску идеального положения камеры в 2D-экшенах[47].

Вид от третьего лица в 3D-играх, таких как The Witcher 3 и Uncharted, представляет особо сложный случай. Здесь камера расположена рядом с персонажем игрока, следуя за его передвижениями, как дрон. Камера обычно находится под непосредственным контролем игрока (например, управляется стиком контроллера), но также она иногда находится под контролем невидимых триггеров. Эти триггеры перемещают камеру на определенную высоту и угол наклона, чтобы показать наиболее важные, интересные или самые красивые части окружения, сохраняя при этом персонажа игрока на экране. Иногда они перемещают камеру в определенное положение с помощью кат-сцены.

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

В 3D-экшен-играх нас подстерегает множество других проблем, связанных с камерой и окружением. Что произойдет, когда персонаж игрока прижмется спиной к стене или зайдет за колонну? Камера обычно не проникает внутрь стен, иначе она выведет нас за пределы графики игры и разрушит иллюзию выстроенного мира и приостановку неверия игрока. Одно из решений – приближение камеры или ее поворот, однако это потянет за собой не меньше других проблем: сильное приближение камеры не даст нам ничего, кроме вида затылка персонажа игрока, а поворот камеры легко собьется, как только игрок захочет посмотреть куда-то еще.

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

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


Управление

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

Агентивность[48] игрока, когда он взаимодействует с элементами управления, – это часть другого цикла, который стоит учесть гейм-дизайнерам. Это цикл, включающий как игрока, так и аппаратное и программное обеспечение игры. Возьмем, к примеру, консольного игрока с геймпадом. Как и с любым циклом, мы могли бы изучить его, начиная с любого места, но давайте начнем с восприятия игроком изображений и звуков, которые игра воспроизводит через экран и динамики.

Восприятие игрока заставляет его размышлять об увиденном и услышанном, а также решить, что делать дальше, и все это мы можем отнести к «познанию». Затем игрок выполняет действие, в нашем случае нажимая кнопку или перемещая стик контроллера.

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


Рис. 10.2. Цикл восприятия – познания – действия – ввода – вычислений – вывода данных


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

В книге Game Feel гейм-дизайнер Стив Суинк заходит в своем размышлении на эту тему чуть дальше, рассматривая поле восприятия – концепцию из мира психологии. Приписывая эту идею психологам Дональду Сниггу и Артуру Комбсу, Стив говорит:


Идея поля восприятия состоит в том, что восприятие осуществляется на фоне всего предыдущего опыта, включая наши установки, мысли, идеи, фантазии и даже неправильные представления. То есть мы не воспринимаем что-то отдельно от остального опыта. Мы пропускаем все через фильтр нашего личного видения мира[49].


Я нахожу эту идею увлекательной и даже полезной, если мы хотим создавать игры, в которых игроки испытывают самые разные и удивительные эмоции. Это напоминает нам о том, что игроки привносят в игры много личного, культурного и даже политического.

У каждой отдельной игры будут свои критерии по дизайну элементов управления. Сосредоточьтесь на создании такого управления, которое игроки легко поймут и освоят и где действия игрока немедленно подтверждаются реакцией в игре. Подумайте об ощущении игры и сочности – концепциях, о которых вы, возможно, уже знаете и которые я кратко опишу в главе 22. Подумайте об элементах управления, используемых в других играх: они помогут игрокам легче освоиться в вашей игре. Подумайте о доступности игры для людей с ограниченными возможностями.

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

Итак, три C: персонаж, камера и управление (character, camera, control). Мы должны разобраться с этими элементами игры на этапе препродакшена, создав вертикальный срез с персонажем или персонажами игрока, их основными способностями и основными механиками игры.

Тестовые уровни и блокмеш

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

Дизайн большинства уровней начинается с бумаги или доски. В Naughty Dog мы начинали с обсуждения нашего видения геймплея и сюжетных битов уровня, а также того, чем он закончится. Затем мы набрасывали план игрового процесса в виде блок-схемы, как на рис. 10.3.

При помощи блок-схемы мы составляли несколько диаграмм, как показано на рис. 10.4.

В моих ранних проектах мы тратили много часов на составление подробных архитектурных планов наших уровней на бумаге или в приложении Adobe Illustrator. По мере того как развивался наш навык дизайна уровней в Naughty Dog, мы стали тратить меньше времени на детальную работу с бумагой и быстро переходили от наших разрозненных эскизов к созданию блокмешей.

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

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


Рис. 10.3. Блок-схема, описывающая геймплей и последовательность сюжета в начале Uncharted 2: Among Thieves. Изображение предоставлено: UNCHARTED 2: Among Thieves™ © 2009 Sony Interactive Entertainment LLC. UNCHARTED 2: Among Thieves является торговой маркой Sony Interactive Entertainment LLC. Создано и разработано компанией Naughty Dog LLC


Иногда блокмеш делают в цвете, чтобы показать важные элементы, например места, куда можно забраться, или воду. Если вас интересует этот процесс, обязательно пройдите по хештегу #blocktober в Твиттере (рис. 10.6), инициатива которого принадлежит гейм-дизайнеру Naughty Dog Майклу Барклаю, прославившему блокмеш в 2017 году: по словам Майкла, «блокауты уровней – это искусство»[51].

Существует аналогичный процесс дизайна уровней для 2D-игр, где мы набрасываем уровень в редакторе уровней, используя примитивные формы. То, как это будет сделано, зависит от стиля игры и движка, но основной принцип тот же: быстро набросать что-то играбельное и усовершенствовать результат путем итерации.

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

В дополнение к этим простым указаниям я рекомендую вам следующие ресурсы.


• Вы можете найти много хороших бесед о дизайне уровней, с которыми выступали на конференции GDC на сайте GDC Vault (gdcvault.com).

• Книга Кристофера У. Тоттена An Architectural Approach to Level Design всесторонне освещает эту тему.

• В книге Скотта Роджерса «Level up! Руководство по созданию классных видеоигр»[52] можно найти много замечательных отрывков о дизайне уровней.

• Книга 101 Things I Learned in Architecture School Мэтью Фредерика изобилует мудрыми советами для архитекторов, которые окажутся не менее ценными и для дизайнеров уровней.

• Обязательно прочтите статью Defining Environment Language for Video Games ведущего гейм-дизайнера Naughty Dog Эмилии Шатц[53]. Эмилия – чрезвычайно проницательный гейм-дизайнер, и ее превосходная статья объединяет размышления о дизайне уровней с более общей философией гейм-дизайна.


Рис. 10.4. Переход от блок-схемы к приблизительному плану уровня начала Uncharted 2: Among Thieves. Изображение предоставлено: © 2009 SIE LLC/ UNCHARTED 2: Among Thieves™. Создано и разработано компанией Naughty Dog LLC

Размер и качество уровней в вертикальном срезе

Размеры уровней в вертикальном срезе в конечном счете будут зависеть от разработчиков игры, хотя заинтересованные стороны (такие как продюсеры игры или инвесторы), вероятно, потребуют уровни определенного размера. Уровни должны быть достаточно длинными, чтобы в них можно было какое-то время поиграть и получить представление о том, как станет выглядеть законченная игра.

В разработке коммерческой игры мы должны максимально и полно отточить визуал, анимацию, дизайн, код, звуковое сопровождение и музыку вертикального среза, чтобы он полностью соответствовал уровню качества готовой игры и был продаваем[54]. Тем не менее для многих небольших команд, в том числе студенческих, зачастую невозможно разработать и «отполировать» хотя бы один уровень к концу препродакшена. Вот тут-то и появляется концепция бьюти-корнера.


(a) Разработчики создают блокмеш уровня и начинают совершенствовать его с помощью итеративного процесса плейтестов, анализа и изменений


(б) Художник или дизайнер рисует наброски частей уровня, чтобы визуализировать, как будет выглядеть уровень в готовой игре


(в) Когда блокмеш достаточно хорошо разработан, художники переходят к созданию низкополигональной геометрии. Левел-дизайнеры продолжают поддерживать коллизии в локации, чтобы игра оставалась играбельной, и итеративный процесс продолжается по мере того, как команда решает проблемы и совершенствует дизайн


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


(д) Художники по текстурам, художники по свету и художники по визуальным эффектам завершают уровень. 3D-художники, гейм-дизайнеры и другие продолжают исправлять недочеты и совершенствовать дизайн.

Рис. 10.5. Блокмеш (он же блокаут, вайтбокс или грэйбокс) – процесс дизайна и художественного оформления уровней[55]. Изображения предоставлены Эриком Пангилинаном и © 2009 SIE LLC/ UNCHARTED 2: Among Thieves™. Создано и разработано компанией Naughty Dog LLC


Бьюти-корнер

Простыми словами, бьюти-корнер (от англ. beautiful corner или beauty corner) – это часть уровня, где графика и звук были отполированы так, что все выглядит и звучит так же хорошо, как и в готовой игре. Это красивый маленький уголок игры или, если ваша игра не соответствует традиционным представлениям о красоте, угол, который был обработан, усовершенствован и отточен.

В 3D-игре мы можем направить камеру в угол пространства, где несколько стен пересекаются с полом и потолком. Усеченный угол обзора камеры – это клиновидная часть пространства, видимая с точки зрения камеры с учетом ее поля зрения, соотношения сторон и настроек глубины. Все, что мы видим в бьюти-корнере в поле зрения камеры, должно выглядеть великолепно. Это включает в себя не только фон, но и представленные на данном участке объекты. Мы должны красиво анимировать все, что будет двигаться в готовой игре, и все там должно звучать великолепно. Никогда не пренебрегайте звуковым оформлением – ни на одном из этапов разработки.

Если мы повернем камеру на несколько градусов в сторону от этого угла, мы увидим все тот же блокмеш с низкой детализацией, составляющий остальную часть уровня. Но, направив камеру в наш бьюти-корнер, мы можем наглядно представить, какой будет законченная игра. Я нарисовал для вас пример на рис. 10.7.

Концепцию бьюти-корнера можно использовать и в дизайне 2D-игры, будь то сайд-скроллер, изометрическая игра или игра с видом сверху. Опять же, мы должны иметь возможность расположить персонажа игрока и камеру в таком месте, где все на экране выглядит и звучит здорово. Концепцию бьюти-корнера можно применить даже к нецифровым играм и ее частям. Вы можете отполировать часть настольной игры, карточной или игры с альтернативным контроллером.


Рис. 10.6. Твит Майкла Барклая в Твиттере, запустивший хештег #blocktober


Я подхватил эту концепцию где-то в игровой индустрии, но так и не смог выяснить, кто ее придумал. (Этот термин исторически использовался для описания домашнего алтаря[56].) Она невероятно хороша при построении вертикального среза в небольших командах и для студентов. Если у нас на уровне представлен красный угол, неважно, что большая его часть – это блокмеш: мы все равно придем к пониманию нашей основной механики в действии. Бьюти-корнер покажет, как будут выглядеть и звучать уровни нашей игры, когда они будут завершены и дополнены финальным визуалом, анимацией и звуковым сопровождением.


Рис. 10.7. Бьюти-корнер для визуализации того, как будет выглядеть завершенный игровой уровень


Как мы увидим позже, работа, которую нужно проделать, чтобы привести вертикальный срез к высокому уровню качества, будь то создание бьюти-корнера или целиком обработанных уровней, поспособствует нашему дальнейшему процессу продакшена.

Сложности и польза вертикального среза

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

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

Если мы будем гибки в плане размышлений и подхода к вертикальному срезу – используя бьюти-корнеры, концептуальные фильмы и другие презентационные материалы для визуализации игрового опыта, – вертикальный срез станет достижимой целью и подготовит нас к созданию остальной части игры.

Создавая вертикальный срез, мы переходим на следующие этапы разработки игры. Как мы уже обсуждали ранее, воплощать идеи очень сложно. Всегда кажется, что слишком рано за что-то браться, и мы откладываем это на потом. Но все, реализованное во время подготовки к производству, позволит нашей игре оставаться на верном пути в дальнейшем – и мы должны набраться смелости для воплощения наших идей.

Дизайн через действия – лучший известный мне способ разработки игры. Удовлетворение от создания вертикального среза, доказывающего нам самим и всем остальным, что мы на правильном пути, приносит дивиденды с точки зрения морального духа команды. В следующей главе мы подробно рассмотрим, как же его создавать.

Глава 11