Поделиться
Поделиться

Доклад, с которым я выступал на киевском DevGamm 2013.

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

Загрузка...

Чтобы тратить на разработку уровней меньше времени, а если повезёт, вообще делать их с первого раза, нужно держать в уме несколько простых правил:

5 принципов, которые всегда нужно держать в уме:

Игрок должен всегда понимать, куда ему нужно идти

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

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

Не говорите игроку, как это делать, а говорите что нужно делать

Этот принцип можно применить не только к геймплею, но и к обучалке. Игроки не будут читать несколько текстов, где описано что нужно сделать. Лучше делать призыв к действию: в месте где нужно прыгнуть, нарисовать кнопку прыжка вверх и написать: «Нажми UP чтобы прыгнуть» и т.д. Это хороший способ познакомиться с управлением — лучше чем читать перед началом игры страницу «Управление», которую многие просто пропускают.

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

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

Постоянно обучайте игрока

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

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

Уровни должны быть лёгкие, средние и сложные одновременно

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

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

Ещё можно апгрейдить уровень после прохождения. Так сделано в игре Rayman:Fiesta — как только вы прошли локацию в простом режиме, открывается ещё одна, такая же по форме, но с дополнительными противниками.

Дизайн уровней должен быть эффективным

Игровые объекты должны быть многофункциональными. Например, возьмём деревянный ящик, который можно двигать. Он одновременно служит для нескольких целей: нажать собой кнопку; его можно использовать как ступеньку, чтобы запрыгнуть на высокую платформу; он может остановить собой противника; его можно сбросить противнику на голову и нанести урон; его можно поломать и он перестанет быть препятствием; его можно поджечь и он будет освещать местность или поджигать противников. Чем больше возможностей будет у каждого объекта, тем «глубже» будет геймплей.

То же самое можно сказать о локациях. Почти всегда они используются один раз и игроку скучно рыскать там повторно, особенно если он уже собрал все бонусы. Лучшее решение — это поменять режим игры: например, если первый раз вы проходили локацию как пазл, где нужно было запустить сложные механизмы и открыть двери, то повторно её можно пройти, уничтожая толпы монстров. Или пройти локацию «туда» налегке, а потом взять артефакт (тяжелый) и «обратно» идти с половинной скоростью и прыгая не так высоко. Главное, чтобы игровой опыт отличался от того что было раньше.

Наращивание сложности — системный подход

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

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

Разбиваем игровую механику на кусочки

Важно понимать какие игровые механики основные в вашей игре. Например в игре «Супер Марио», основная механика — это прыжок, в Match3 — поменять местами 2 элемента, в гонках — повороты + скорость…

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

  1. Запрыгнуть на одинарную платформу
  2. Запрыгнуть на двойную по высоте платформу
  3. Перепрыгнуть небольшое препятствие
  4. Перепрыгнуть несколько препятствий подряд
  5. То же самое, но ещё нужно уклониться от выстрелов

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

Когда список составлен, нужно отсортировать их по сложности (мой уже отсортирован). Для удобства нумеруем каждый вариант, например для прыжка (JUMP) — J1, J2, J3…..

Эту процедуру нужно проделать для всех игровых механик. На выходе получаем множество «кирпичиков» из которых мы потом будем строить уровни.

Составляем план уровней

Тут нужно составить таблицу взаимодействия объектов и на её основе придумать (записать) различные игровые ситуации. Их тоже нужно упорядочить по сложности.

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

  • Когда в игру вводятся новые объекты
  • В каких уровнях какие объекты используются (чередуем чтобы не было скучно)
  • Какие есть режимы игры — опять же, чередуем
  • Какие игровые ситуации где будут применяться
  • Сложность каждого уровня
  • Общий прогресс нарастания сложности

Создаём и тестируем уровни

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

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

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

На этом всё.
Благодарю всех, кто пришёл послушать доклад на DevGamm!
Если у вас есть вопросы по этой теме, с удовольствием на них отвечу.

Об авторе

Денис Романко (Stormit)Занимаюсь дизайном, программированием, спецэффектами и разработкой игр.

НазадНазад