Статьи

Как новичку научиться быстро делать уровни

Введение

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

Небольшой дисклеймер:

  1. Мы делаем игры на Unreal Engine 4, поэтому некоторые советы будут применимы только к нему. 
  2. Наша команда к джему обычно подготавливает проект-рыбу: передвижение, базовая логика интерфейса.
    Иногда мы подкидываем окружение до джема, но чаще всего занимаемся этим в день джема.
  3. Благодаря такой рыбе можно сразу приступать к работе над картой и проводить её тесты.

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

  1. Блокаут — самый важный этап, от него зависит успех всего уровня. Здесь я собираю основную геймплейную зону уровня.
  2. Логика уровня — на этом этапе я расставляю основные игровые элементы и проверяю уровень на фан. Здесь еще можно отступить и переработать уровень.
  3. Декор — на данном этапе я доделываю элементы блокаута и занимаюсь первичным расставлением декораций (деревья, трава, флаги, фонари и др.).
  4. Финальная сборка — проверяю ощущения от уровня. Вношу правки в блокаут, геймплей и в конце провожу полишинг декора.

Блокаут

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

Пример кривой на бумаге.

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

Изначально я прикидываю базовые метрики, какими будут проходы и прочие элементы карты. Чтобы не тратить зря время на этом этапе я начинаю прорабатывать первые части карты.

Пример первичных тестов расстояний.

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

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

Пример первичного прохождения уровня

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

Расстановка стен (тогда мне казалось хорошей идеей взять меши в качестве стен)

Логика

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

Конкретно в данном проекте с определенным интервалом появлялись и исчезали объекты на карте.

Пример карты с препятствия

Декор

После того как основной блокаут, препятствия и геймплейное окружение расставлено, я доделываю ландшафт. Расставляю его так, чтобы на игровой камере не было видно пустот.

Готовый ландшафт

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

Добавились деревья и трава, а уровень выглядит совсем иначе

Следующим этапом я убираю отображение стен и вручную подгоняю декор на уровне, убираю лишнее, добавляю там где его не хватает.

Финальная сборка

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

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

Добавленный элемент к карте.

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

Финальная версия карты.

Структура уровня

Правильная структура позволит вам оперативно вносить изменения. Используйте следующие правила и будет вам счастье:

  • Группируйте объекты по папкам. Лучше всего делать группировку по “комнатам” — кладбище, дом, поляна и т.п.
  • Работайте с подуровнями, потому что это поможет работать одновременно нескольким людям над картой.
  • Мы используем систему из 5 подуровней: 
    • Основной. Объединяет в себе следующие уровни.
    • Блокаут. Здесь вы будете выстраивать блокаут.
    • Декор. На этом уровне необходимо располагать различные элементы: препятствия, цветочки, камешки и т.п.
    • Геймплей. Здесь необходимо расположить геймплейные объекты: точка старта, противники, двери, платформы, рычаги и т.п.
    • Освещение. Сюда необходимо закинуть весь свет на уровне. Мы еще подкидываем постпроцесс.
  • Группировка объектов по папкам позволит вам оперативно вносить изменения, перемещать или удалять объекты сразу группой.
Примеры группировки по папкам (слева) и системы подуровней (справа).

Итоги

Исходя из вышенаписанного я советую придерживаться следующего:

  1. Блокаут и геймплей нужно делать раньше декора. 
  2. Не расставлять декор пока не будет готов геймплей! 
  3. Первоначальный декор лучше делать грубым. 
  4. Проводить большое количество тестов на карте.
  5. С самого начала разделить уровень на подуровни.
  6. Запрашивать фидбек по уровню от команды как можно чаще.

Добавить комментарий