Как я делаю уровни для своего 2D платформера

Делюсь опытом создания уровней для минималистичного платформера

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

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

Изучение теории дизайна уровней

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

Начав погружаться в тему дизайна уровней понял, что про дизайн конкретно платформеров не так уж и много информации. Мне очень помогло видео “2D Platformer Level Design With Bob Ross” от канала Let's Talk Game Design. Так как оно буквально отвечала на интересующий меня вопрос. Его даже законспектировал. Из него узнал, что перед началом разработки уровня стоит определиться с перечнем инструментов которые будут в нем задействованы. То есть понимать какие будут механики, препятствия и тому подобное.

Полезное видео на этом же канале

Далее, смотрел видео на канале GMTK. Особенно мне понравился разбор Mega Man 11 и Super Mario 3D World's 4. Из более серьезных лекций мне помогла понять основные концепции “Ten Principles for Good Level Design” на канале GDC и лекция от создателя Celeste.

Что же я понял из всех этих видео?

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

Как я делаю уровни для своего 2D платформера

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

В третьих, уровень должен создавать эмоции и периодически удивлять. При этом эмоции могут быть самые разные (растерянность, одиночество, драйв, исследование). Удивление происходит постепенно и в целом структура уровня должна быть похожа на американские горки, где за каждый перерывом следует еще больший подъем. Та же структура в целом применима и ко всей игре.

Чем проще, тем глубже

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

Персонаж тут умеет двигаться, прыгать от земли и от стен и в целом всё. Даже нету двойного прыжка. На протяжении игры у него не будет никаких "павер-апов", то есть все умения доступны сразу. Такое ограничения на первый взгляд кажется выстрелом в ногу и скукой. Но на деле оно оказалось очень полезным, ведь я сразу могу сконцентрироваться на доступных механиках. Чем их больше, тем сложнее балансировать уровни. А так прогрессия усложнения получается благодаря появлению новых препятствий, как в Super Meat Boy или Celeste.

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

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

Процесс создания уровней

Мои собственные наброски<br />
Мои собственные наброски

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

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

<br />

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

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

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

Трудности при проектировании

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

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

Одна из самых занудных частей дизайна уровней

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

Что получилось в итоге

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

Как я делаю уровни для своего 2D платформера

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

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

Чтобы еще больше мотивировать меня разрабатывать игру, вы можете добавить Leo:The Square в список желаний в Стим. Мне будет очень приятно!

Спасибо большое, что дочитали до конца!

Интересно будет почитать, что для вас самое важное в дизайне уровней?

1414
11
13 комментариев

Цветовая гамма мне по вкусу. Любопытно стало какие звуки в игре. Музыка.

1
Ответить

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

1
Ответить

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

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

1
Ответить

Да, знаю об этом. Нужно будет ещё поработать над этим и пофиксить. Все верно вы написали!

Анимацию вообще было сложно правильно настроить, буду ещё работать над этим.

1
Ответить

Прикольно, geometry dash обновили

1
Ответить

1. Сколько заняло времени разработка 10 уровней?
2. Уже есть идея итоговой стоимости?
3. Так как все таки проще было: создавать игровую механику и интегрировать ее или создавать весь уровень сразу?

Ответить

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

Ответить