Левел-дизайн на бумаге: Принципы проектирования уровней от создателя игры Captain Kaon

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

Редакция рубрики «Рынок игр» публикует перевод заметки.

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

Впервые я подумал о нём, занимаясь тестированием Shogun 2, когда QA-команде выпало заняться дизайном карт для мультиплеера и свободных битв. Вдруг оказалось, что метод позволяет быстро придумывать логичные с точки зрения геймплея уровни. Например, в случае с Shogun 2 мне требовался всего час, чтобы разработать карту в два квадратных километра. Возможно, опытный левел-дизайнер не найдёт ничего интересного в моих записях. Но если вы вдруг оказались в ситуации, когда нужно поработать над дизайном уровней, чем вы никогда не занимались, или вам просто интересно, как лично я разрабатываю их, тогда статья может помочь.

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

Определите правила

После первого простого прототипа игры, которой однажды суждено стать Captain Kaon, я создал «первый играбельный» уровень. Что-то вроде вертикального разреза игры, пытающегося представить потенциальную итоговую игру. Есть много причин тому, почему команды разработчиков стараются как можно быстрее создать первый прототип уровня, но в данной статье мы сфокусируемся на единственной причине. Намного проще поначалу концентрироваться на полировке одного уровня вместо того, чтобы жонглировать десятком.

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

С помощью первых прототипов я сумел установить набор жёстких правил и гибких принципов для создания уровней. Несколько важных вещей, которые я должен буду держать в голове. Так я минимизировал риск, что к моменту тестирования более или менее полноценной версии игры я обнаружу недостатки, которые затем придётся долго исправлять. Вот примеры правил:

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

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

  • Расположить объект, создающий персонажа игрока на уровне.
  • Установить физические характеристики.
  • Подключить интерфейс к уровню.

Как только вы определите свои правила и принципы, вокруг них будет легко создавать работающие уровни. На данный момент в Captain Kaon есть 42 уровня в 19 миссиях, разных и по-своему весёлых. Но что лучше всего: они создавались легко и безболезненно.

Создание палитры элементов

Помимо правил для создания уровней вам понадобится инструментарий определённых компонентов. Грубо говоря, игра — это ряд испытаний, становящихся сложнее со временем, и каждое испытание построено из разных комбинаций компонентов.

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

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

Злобные таблицы

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

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

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

Планы на бумаге

Когда начинается работа над уровнем, базовые представления о том, каким он должен быть, я получаю, согласовываясь с таблицей. Затем я беру карандаш и бумагу и рисую простой план. Не обязательно использовать целый лист формата А4, если будет слишком много места, вы захотите заполнить его полностью. План для сражений для Shogun 2 я рисовал на листке в один квадратный дюйм, который позже превращался в карту площадью в два квадратных километра.

Сначала я беру карандаш светлого (обычно розового) цвета и черту абстрактную линию, болтающуюся туда-сюда. Эта линия станет путём игрока по уровню. Она идёт от старта, где появляется персонаж игрока, а заканчивается у цели миссии. Есть четыре важных условия, которые линия должна соблюдать:

  • Она не должна быть слишком прямой. Прямой путь — самый скучный.
  • Она не должна болтаться по совсем безумным траекториям или налезать сама на себя. Линия должна течь плавно.
  • Линии разных уровней не должны походить друг на друга.
  • Начало и конец уровня не должны быть в одном месте, так игрок просто запутается.
054bd0c19e9641.png

Как только станет ясно, в какую сторону пойдёт игрок, можно будет начать отмечать ключевые пункты уровня на линии. С абстрактной точки зрения, уровень — это ряд решений, принимаемых игроком. Пойти налево, подобрать ключ, взобраться на лестницу. Нужно подумать, что и где будет на вашем уровне. Затем равномерно распределите элементы на листке поверх линии.

a282313f1faf35.png

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

55ac61ed1a29dc.png

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

Клетки, блоки и их друзья

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

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

Фоном служит тайлсет, а невидимые физические объекты — стенами и полом. Следуя плану, я конструирую уровень, начиная с самых базовых и необходимых компонентов. Так появляется скелет уровня. Тут снова нужно подумать, как игрок будет проходить этот уровень. Если вы провели достаточно времени над первым игровым уровнем, то уже знаете, как будет двигаться игрок и его противники. Посмотрите на уровень и попробуйте представить, как он будет играться и ощущаться. Так довольно быстро отыщутся все проблемы и возможности для улучшения уровня. Но не спешите вносить изменения. Запишите их в блокнот, и сначала сыграйте в созданный уровень, чтобы подтвердить свои предположения.

Подогнать и подкрутить

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

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

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

Отполировать и запустить

Теперь, когда механика уровня вас удовлетворяет, пришло время позаботиться о его внешнем виде. Полировка уровня — важный шаг в создании атмосферы, без неё уровни выглядят слишком стерильно. К несчастью, погоня за повышенной атмосферностью серьёзно увеличивает общее время работы над уровнем. Мне приходилось тратить на создание каждого уровня в два раза больше времени. Может оказаться, что вы вставляете палки в колёса самим себе. Чем больше полируется один уровень, тем больше придётся полировать другие.

Довольно легко забыть учесть время на полировку уровней, во время расчёта стоимости разработки. К делу нужно подойти серьёзно: для начала разделим процесс на два этапа. Первый — планирование и исполнение, второй — исправление ошибок и полировка. Посчитайте, сколько времени уйдёт на планирование и разработку, а затем, чтобы учесть полировку, удвойте это время.

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

Если вы хотите написать материал для рубрики «Рынок игр», рассказать о разработке своей игры или кейсе её роста, присылайте материал на games@vc.ru.

©  vc.ru