Руководство по созданию уровней

Время на прочтение
8 мин

Количество просмотров 103K

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

Левел-дизайн и нарратив

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

Этим я хочу сказать, что даже находясь в режиме технаря и выполняя сугубо технические задачи, левел-дизайнер должен стремиться к своей цели — оптимальным способом рассказать игроку историю и погрузить его в мир игры. Кто-то может сказать, что это не важно для PvP уровней, но вспомните классическую карту “Warsong Gulch” из “World of Warcraft”, где весь бой крутится вокруг противостояния Орков и Эльфов за ресурсы и территорию. Тем не менее, даже работая с чем-то совершенно приземлённым типа настройки коллайдеров, вы убеждаетесь, что пользователь получит именно тот игровой опыт, который вы хотите для него создать.

Визуальное разнообразие

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

  • Визуальный ряд. Если в начале у вас было сухое мёртвое подземелье, а в конце — подземные реки, водопады и биолюминисцентные растения, то игрока увлечёт визуальная новизна и смена атмосферы.
  • Замкнутость пространства. Типичный приём из “Лары Крофт”: вы с трудом протискиваетесь сквозь трещину в скале; выбравшись, вы поднимаете взгляд и обнаруживаете себя у основания храма, от колоссальных размеров которого перехватывает дыхание.
  • Форма. Любое пространство подчинено определённым формам. Детали и цвет вторичны. На картинке ниже лишь по одному силуэту вы можете определить, что находится на горизонте.

Как формы использовать в левел-дизайне? Отличный пример можно найти в космическом корабле Dreadnaught в “Destiny”, где диагональные элементы архитектуры создают очень своеобразные ощущения от интерьера вплоть до едва различимого в подсознании дискомфорта.

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

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

Уникальные кадры

“Vista” — это открывающийся игроку вид, да такой, что захватывает дух. В играх с открытым миром “vista” чаще всего — это высочайшая точка на какой-нибудь башне или горе, откуда вы осматриваете окресности. Все мы помним известный процесс “синхронизации” в “Assassin’s Creed”. Для других игр эпичные виды создаются специально, а не просто позволяют нам посмотреть сверху вниз.

Отдельным подвидом “vista” можно считать “hero assets”. Как правило, это особо примечательные объекты окружения, зачастую используемые только единожды за всю игру. На них обращают внимание, их запоминают, на них ориентируются, пока бегают по уровню. В принципе, неплохим примером может быть известная Цитадель, возвышающаяся над City-17.

“Vista” и “hero assets” могут помочь вам сделать более запоминающиеся уровни, добавить им изюминку, но знайте меру. Вы можете попасть в ловушку и уделить им слишком много внимания вместо тех ассетов, которые будут использоваться сотни или тысячи раз. Здесь уместна картинка из статьи ребят из Bethesda, работавших над уровнями для Skyrim:

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

Интерактив и динамика

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

Сюда же можно добавить интерактивные объекты, с которыми пользователь может взаимодействовать. Они становятся важной частью игрового опыта, а не просто статикой на фоне. Дверь можно открыть, рычаг — нажать, стену — проломить, бочку — взорвать, колонну — свалить. В “Diablo III” это использовали достаточно часто. Например, классический пример с рычагом, позволяющим обрушить на голову врагам массивную люстру. Или каменная стена, обрушающаяся, когда герой проходит рядом и случайно задевает её.

К динамичным объектам можно добавить и NPC. В “Белом Саду”, деревушке в самом начале “Ведьмака”, кипит жизнь — женщины стирают одежду, дети носятся по округе и играют друг с другом, старики раскуривают трубки на скамейке, мужики бьют морды в таверне. Это, разумеется, уже совершенно иной уровень динамичного окружения, требующий значительного вложения сил.

Туман как цветокоррекция

Очень интересный трюк: туман не просто оказывает существенное влияние на атмосферу и правдоподобность уровня, но также является отличным инструментом цветокоррекции. Более того, на мобильных устройствах это самый дешёвый метод цветокоррекции (”весит” порядка 3-5 fps).

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

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

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

Есть подводный камень: надо правильно подобрать тип тумана (например, exponentional squared в Unity для этой задачи обычно подходит лучше всего) и плотность таким образом, чтобы туман не замыливал текстуры, и они не теряли контрастности.

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

Lighting is love, lighting is life

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

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

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

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

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

Блендинг света с окружением

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

Вот несколько методов, помогающих имитировать воздействие света на “пустое” пространство:

  • Спецэффкты: летают пылинки или светлый туман клубится возле источника света.
  • Light shafts, god rays, sun rays. Эффект видимых лучей света. Стилизация как правило не позволяет использовать это в реалистичных играх, разве что посредством очень тонкой настройки.
  • Volumetric light. Достаточно дорогой в плане производительности эффект, но чертовски красивый и правдоподобный. На картинке ниже изображён volumetric light из “Fallout 4”.
  • Постэффекты. Прежде всего bloom, конечно же. С ним засветы распространяются вокруг ярких элементов сцены.
  • Фэйковый glow. В некоторой степени имитирует bloom вокруг яркого источника света. Делается простым квадом с текстурой, на которой изображён полупрозрачный круг с размытыми краями.

Постэффекты

У постэффектов сложилась дурная репутация из-за чрезмерного их использования. Из поколения в поколение передаются легенды о безвкусном применении эффекта Lens Flare. На самом же деле хорошо сбалансированные постэффекты едва заметны и не привлекают к себе внимание.

Постэффекты и освещение неразрывно связаны. На картинке ниже вы видите, как к тёмному освещению добавляется светлый туман (постэффект Global Fog из стандартного набора Unity), поверх которого накладывается Bloom.

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

Самым мощным постэффектом по праву считается цветокоррекция. С её помощью вы можете вносить правки в цветовую палитру с ювелирной точностью. Этот инструмент пришёл к нам из кино, и теперь ни одна ААА игра не обходится без этого. Кстати говоря, цветокоррекция используется в кино даже при работе с обычной плёнкой без применения компьютерной графики. Если посмотрите на кадры “Бойцовского Клуба” Дэвида Финчера, то сразу обратите внимание на характерный зелёный оттенок. Такого результата достигли посредством особенного состава химикатов, использованных при проявке плёнки.

Другие постэффекты, которые могут показаться вам полезными: tone mapping, bloom, antialiasing, vignette, chromatic aberration. Особо хочу отметить tone mapping, который имитирует HDR картинку на основе LDR (low dynamic range) данных. На следующей картинке меня полностью устраивала яркость света, но некоторые объекты получались чрезмерно пересвеченными.

Обратите внимание, какие изменения произошли на маленьком синем мониторе справа от прохода. Это и есть результат работы постэффекта tone mapping. Подытоживая, предостережение: старайтесь быть осторожными при работе с постэффектами. Легко обмануться, сделав бедноватый уровень с посредственным освещением, и едва посыпав его “сахаром”, решить, что у вас всё круто.

Заключение

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

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

Инструменты и этапы разработки.

До своего финального воплощения любая локация переживает десятки правок, а иногда и вовсе переделывается с нуля.

Рассказываем, какими инструментами пользуется профессиональный левел-дизайнер и как устроен процесс создания уровня. При подготовке материала использовалась информация из блога Михаила Кадикова и комментарии Дениса Куандыкова. Оба преподают на курсе по левел-дизайну «OutBlock».

Инструменты левел-дизайнера

Бумага

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

Метрики

Следующим инструментом пользуются не все, но именно он отличает опытного левел-дизайнера. Вместе с геймдизайнерами создатель локаций формирует метрики— правила, шаблоны, своеобразные линейки, которые позволяют проектировать уровень не «на глаз», а по заранее определённым параметрам.

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

Блокауты

Определив метрики, левел-дизайнер собирает блокауты — трёхмерные макеты уровня. Их всего два типа.

Designer block out или grey box — это макет используют для проверки геймплея. В нём есть только то, что непосредственно влияет на игровой процесс. Серые кубы, сферы, цилиндры и плоскости схематично отображают будущую локацию, хотя и создаются с учётом всех пропорций и масштабов. Неважно, насколько красиво нарисована яма с кольями — главное, чтобы игрок точно мог через неё перепрыгнуть.

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

Пережив все правки по механикам, прототип обрастает деталями и превращается в Art block out, он же — White box. В нём художники прорабатывают визуальную часть уровня: накладывают на серый эскиз цвет и полноценные модели вместо фигур.

Этапы создания локации

1. Планирование

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

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

Эмилия Шац, левел-дизайнер Uncharted 4:

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

Можно выделить три основных типа структуры уровня.

Линейная — все ответвления локации возвращают героя на основные «рельсы». Пример — Call of Duty: Modern Warfare.

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

«Паутина» — соединение множества кластерных уровней, по которым игрок может свободно перемещаться и проходить уровень нелинейно. Пример — Watch Dogs 2.

2. Работа с бумагой

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

Михаил Кадиков, левел-дизайнер Crytek:

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

3. Создание играбельного прототипа.

Это тот самый «серый» блокаут. Благодаря Grey box левел-дизайнер может впервые увидеть локацию своими глазами.

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

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

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

Михаил Кадиков, левел-дизайнер Crytek:

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

4. Тестирование геймплея

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

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

Или наоборот: чтобы камера во всё упиралась, заставляя игрока почувствовать клаустрофобию. Например, в той же Dark Souls регулярно встречаются узкие тоннели и катакомбы, которые давят на игрока.

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

Для левел-дизайнера также важны ограничения игрового движка. Иногда фантазия создателя локаций превосходит возможности технологии, которая эту локацию отрисовывает. В такие моменты дизайнеры уровни вместе с программистами прибегают к хитростям. Самая известная — приём «бутылочного горлышка», или Occlusion culling. Игроки сталкиваются с такими элементами уровня регулярно и, если «горлышки» сделаны хорошо, почти не замечают их.

Денис Куандыков, левелдизайнер VOID Interactive:

Лифты из Mass Effect, тесные улочки в The Last of Us, любой узкий лаз из перерождённой Tomb Raider — все эти места призваны замедлить прохождение игрока, чтобы движок в это время выгрузил использованные ресурсы и подгрузил новые.
В таких ситуациях Occlusion culling, то есть отсечение всего того, что не видит камера игрока, работает очень быстро, так как может сразу целыми кусками «срезать» окружение позади игрока. А одно из самых удачных применений этой технологии можно встретить в Uncharted 2, на уровне в поезде — когда игрок открывает дверь между вагонами, фоновая локация меняется.

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

5. Создание White box

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

Михаил Кадиков, левел-дизайнер Crytek:

Из временных моделей на основе геймплейного прототипа собирается «белый» уровень. Художник по окружению должен постараться не только оставить геймплей прототипа неизменным, но и использовать любые художественные средства для улучшения навигации по уровню (освещение, композиция, контраст и т.д.).
Интересный пример разницы между всеми видами блокаутов можно подсмотреть в Uncharted 4: A Thief’s End. На изображении ниже представлена локация из эпизода «The Twelve Towers», которая очень наглядно демонстрирует разницу между этапами разработки уровня: от геймплейного прототипа, собранного левел-дизайнером, к прототипу геометрии локации, нарисованного художником, и, наконец, до финальной версии уровня.

​Изображение из блога Михаила Кадикова

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

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

6. Cоздание финальной версии уровня

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

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

Михаил Кадиков, левел-дизайнер Crytek:

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

Изменения в процессе

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

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

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

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

На практике же левел-дизайнер Эмилия Шац уже на этапе «серого» блокаута обнаружила, что процесс получился слишком громоздким и только замедляет прохождение: рано или поздно начнёт раздражать игрока. В итоге геймдиректор Uncharted 4 Брюс Стрейли принял решение упростить механику: теперь для использования крюка достаточно нажать на одну кнопку.

Брюс Стрейли, геймдиректор Uncharted 4:

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

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

Денис Куандыков, левел-дизайнер VOID Interactive:

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

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

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

Автор: Юрий Кулагин

Plat star

Данный блог является блогом 2018 года!

Он победил в голосовании среди других номинантов!

Estrella

Данный блог является блогом месяца!

Вы смотрите на блог, который является победителем конкурса на лучший блог месяца!

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

Итак, здесь я буду учить вас делать что-то годное, расскажу несколько моментов, которых нет в статьях-туториалах; в будущем, может, и КП (Creator Points) получите. Рассматривать я буду самое простое — базовый стиль, так как, по моему мнению, это единственное, чему нужно учиться; остальные стили лично я делаю только используя воображение и знания из базового стиля.

Добавлю, что тут и музыку надо уметь выбирать. Например, те же Waterflame и TheFatRat подходят больше для арта, чем для базового, но это чисто на слух определяется. Если выбрать подходящую для стиля музыку, то и строиться будет легче. Хорошо подходят такие авторы: ColBreakz, Lemons, Xomu10, OcularNebula, Sharks, BoomKitty, ну и ещё их сотни, так как это самый распространённый стиль и в музыке тоже.

Геймплей и блоки

Сначала, конечно же, нужно сделать блоки, иначе будет нечего декорировать.

Mantetutorial1

​​​​

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

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

Mantetutorial2

Пример геймплея с наклонными блоками

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

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

Цвета

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

Mantetutorial3

Слева направо: 1. Без Blending. 2. С Blending. 3. С Blending и Opacity = 0.50.

тем лучше, очевидно, будет выглядеть уровень. На своём опыте я нашёл несколько хороших сочетаний (фон — контур): фиолетовый — зелёный/бирюзовый/жёлтый; синий — голубой, красный/зелёный — жёлтый/золотой. При этом можно ставить Pulse триггеры на

Mantetutorial4

Смешивание цветов при помощи Blending.

цвет Obj, что только добавит разнообразия и красок.

Blending — особый вид прозрачности, цвета объектов с ним складываются при наложении. Включается блендинг очень просто: нужно просто зайти в настройки цвета и включить параметр «Blending». Конечно, не со всеми цветами так надо делать, а только с воздушным декором и блок дизайном (кроме белого и чёрного: блендинг на чёрном цвете сделает объект невидимым).
Opacity — обычная прозрачность. Тоже стоит упомянуть, так как без этого цвета могут быть слишком яркими. Как и блендинг, эту опцию следует использовать осторожно.

Дизайн блоков

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

Первый этап — заполнение (англ. «filler») блоков.

Mantetutorial5

Варианты заполнения блоков.

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

Совет: для цвета 1 включите Copy Color, выберите цвет BG, поставьте Brightness на x2.0 и уменьшите немного Opacity. В таком случае не придётся каждый раз менять этот цвет: он автоматически будет меняться вместе с фоном.

Mantetutorial6a

Свечение. Желательно его делать ярче внутри блока и темнее снаружи.

Второй этап — свечение (англ. «glow»). Если цвет 1 правильно настроен, можно и свечение делать этого же цвета, однако я рекомендую свечение внутри блока сделать ярче, чем снаружи. Тень делается из тех же объектов, что и свечение, но с использованием чёрного цвета и Opacity около 0.40-0.50, ставится по внутренней линии всего блока.

Mantetutorial7

Слева без тени, справа с тенью.

Уже выглядит неплохо, не правда ли? Однако, остался самый сложный процесс — сами декорации.

Третий этап — декорации (англ. «decoration», «block design»). Это все мелкие детали внутри блока. Они могут быть очень разнообразными, из-за чего и возникают требования к тому, чтобы дизайн был разнообразен в течение всего уровня (нужно его поменять хотя бы раза 2-3 за весь уровень, синхронизируя это с переходами в музыке).

Mantetutorial8

Экспериментируйте с деталями; различных видов блоков действительно невероятно огромное количество!

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

Разнообразия действительно очень много: всего около 120 различных объектов-деталей, но если их использовать, допустим, по 3 раза, и учесть, что есть более 10 различных видов заполнения, то уже получается свыше 3600 различных видов блоков! Впечатляющее число, не правда ли?

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

Воздушный декор

Здесь главное начать, а потом скопипастить так, чтобы никто не заметил.

Начнём с поверхностных шипов (англ. «ground spikes»). Они находятся, очевидно,

Mantetutorial9

Поверхностные шипы.

во вкладке с шипами. Выбирайте любой понравившийся и ставьте их на поверхность уровня.

Совет: чтобы шипы были «впереди» блоков, выделите их все, нажмите Edit Group и нажмите T2.

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

Mantetutorial10

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

Ну и сам воздушный декор (англ. «air decoration», «air deco»). Вариантов здесь, как и с блоками, огромное множество: и облака, и пульсирующие звёзды, ромбы, стрелки, шестерёнки, не убивающие персонажа. Причём всё это может быть как и цвета фона, так и цвета контура, чёрного и белого, а также декорации могут быть прикреплены к блокам или к поверхности. Опять же, можно посчитать всё разнообразие: выходит ещё больше объектов — около 150, до 3 объектов свечений, которые можно расположить по-разному, да и сами эти объекты можно вращать, изменять

Mantetutorial11

Воздушный декор. Уже почти всё готово!

их размер… 81 миллион комбинаций только для одной декорации! Поэтому, не бойтесь экспериментировать и играть с объектами и делать что-то новое. Не бойтесь оставлять пустое пространство — его заполнит пользовательский фон, а лучше бойтесь ставить слишком много деталей в одном месте: это будет отвлекать игрока, а также не очень хорошо выглядеть.

Фон

Mantetutorial12

Примеры фона для базового стиля.

Не очень значительная деталь, но фон (англ. «custom background», «BG») добавляет атмосферы и полноты декораций. В базовом стиле фона много не надо, в основном это столбы из одинаковых блоков.
Для того, чтобы фон начал быть действительно на заднем

Mantetutorial13

Один из самых частоиспользуемых дизайнов сфер.

плане, нужно использовать 2 триггера Move: один двигает группу с фоном как Follow Player X на, допустим, 20 секунд, а второй — на большое отрицательное значение. Чем ниже оно, тем быстрее будет двигаться фон, а значит, и будет казаться «ближе» к игроку.

Модерн

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

Цвета

Больная тема многих. В модерне надо особенно осторожным быть с цветами:

Mantetutorial14

Такой белый выглядит намного лучше в уровне.

  • Лично я не советую использовать чистый белый цвет. Сделайте его чуть-чуть темнее и ближе к синему/голубому Mantetutorial15

    Цвета не должны быть слишком насыщенны.

    .
  • Использование слишком насыщенных цветов — самая частая ошибка у новичков. Цвета должны быть бледноватыми или пастельными.
  • Уровень Opacity должен быть как можно ниже для чёрных теней (около 0.3). Для других цветов ни Opacity, ни Blending не нужен (иногда добавляют свечение к блокам, имеющее Blending).

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

Движение

Совсем немаловажная вещь, про которую некоторые всегда забывают — способ передвижения объектов, настройка триггера Move («Move Easing»).

  • None используется для движения фона, больше нигде.
  • Ease In Out используется для небольших движений блоков или декораций на фоне.
  • Elastic Out (иногда Elastic In) очень популярен у строителей в модерне, он нужен для плавных движений объектов на фоне примерно на 100 точек.
  • Bounce Out — очевидно, для падения и отпрыгивания объектов. Используется не очень часто.
  • Back Out (иногда Back In Outиспользовать надо осторожно, рекомендую время движения ставить на 2 секунды, если не на 3 (для Back In Out).

Дизайн блоков

Здесь его попросту нет, либо он невероятно простой.

Mantetutorial16

Один из самых популярных дизайнов.

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

Фон

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

  • В течение уровня лучше менять фон как можно больше раз.
  • Объектов на фоне не должно быть слишком много. Основная идея модерна — простота.

В качестве фона можно использовать и арт, но состоящий из монотонных деталей — «плоский арт». Примеров полно в Интернете, можно даже срисовывать.

Дополнительно

Советы:

  • Группу 1 рекомендую всегда использовать для невидимых объектов: в самом начале уровня триггером Alpha измените непрозрачность на 0.00.
    • Для модерна и арта геймплей лучше весь сделать невидимым, а поверх него уже делать дизайн блоков.
  • В модерне используйте больше триггеров для движения блоков, а также можно попробовать найти оригинальное применение Rotate.

Если вы уже сделали уровень, как получить на него звёзды?

  • Ищите модераторов в игре: некоторые читают сообщения. Рекомендую отправлять уровни Pauze, alkali, MrLorenzo через сообщения в самой игре.
  • Ищите модераторов… вне игры! Существует общий сервер в Discord с кучей модов, а также многие из них открывают свои серверы. Запросы в Discord принимают Edge, Disp, Peton, mulpan, SaabS, DiamondGirl01.
  • Ищите помощников. Официальные помощники были, но Роберт убрал эту систему ещё примерно в конце 2.0. На данный момент многие игроки, которые хотят получить статус модератора, отправляют последним хорошие уровни от неизвестных строителей, например, Jghost217, VrageraGD, Danil Cupcha, GirlyAle02, и я также вхожу в эти ряды.

Однако одной отправки будет мало, даже очень. Как показывает мой собственный опыт, в идеале нужно получить около 10 отправок, чтобы получить звёзды в течение недели. Чем меньше время между каждой отправкой, тем выше шанс получения оценки (опять же на своём опыте: после 7 отправок за первые полдня уровень оценивается через 3-4 дня).

Заключение?

Данные дизайны я опубликовал как уровни: 47382872 (базовый) и 47804802 (модерн), вы можете свободно скопировать и посмотреть, как всё устроено.

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

А пока что, с вами был 13 КП, спасибо за внимание и удачи в строительстве!

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

Содержание

  1. Коротко об игре Геометри Даш
  2. Как в Geometry Dash сделать свой уровень
  3. Как поделиться пользовательским уровнем
  4. Полезное видео

Коротко об игре Геометри Даш

Редактор уровней – это очень ценная функция RobTop Games, поскольку она позволяет пользователям выражать свое творчество и потенциально делиться творениями со всем миром.

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

Очевидно, что во время боковой прокрутки карты уровня возникает несколько препятствий, которые игрок должен суметь преодолеть, сохраняя правильный “ритм”. Geometry Dash стала популярной именно за предложенный сложный вызов, а также, очевидно, за возможность попытаться побить рекорды других.

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

Как создать свой уровень в Geometry Dash

Поэтому не случайно, что игра была первоначально выпущена в августе 2013 года в Google Play Store (Android) и Apple App Store (iPad и iPhone), а затем, в конце 2014 года, появилась и в Steam. Так что в нее можно играть и на ПК.

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

Я думаю, например, о Geometry Dash Lite e Geometry Dash World, которые позволяют пользователям ознакомиться с механикой оригинальной игры. Существуют также Geometry Dash Meltdown и Geometry Dash SubZero.

Как создать свой уровень в Geometry Dash

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

Как создать свой уровень в Geometry Dash

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

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

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

Итак, когда вы будете готовы приступить к игре, откройте полную версию Geometry Dash, нажмите на значок молотка и гаечного ключа справа и сначала нажмите на поле Create, а затем на кнопку New.

Как создать свой уровень в Geometry Dash

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

На этом этапе редактору предстоит создать уровень. Пусть вас не “пугает” количество кнопок на экране: на самом деле использовать этот веселый и мощный инструмент не так уж сложно.

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

Как создать свой уровень в Geometry Dash

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

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

Затем вы заметите наличие в правом нижнем углу четырех кнопок: Swipe, Rotate, Free Move e Snap. Последние позволяют лучше расположить препятствия на карте. Swipe позволяет, например, разместить несколько элементов определенного типа простым прокручиванием в режиме Build, а также выбрать несколько объектов вместе в режиме Edit. Rotate, с другой стороны, позволяет произвольно вращать препятствия, которые вы только что разместили.

Как создать свой уровень в Geometry Dash

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

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

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

Как создать свой уровень в Geometry Dash

Завершая “экскурсию по редактору”, слева вверху находятся кнопки для прослушивания музыки уровня (голубая иконка) и для попытки воспроизвести ее на лету (желтая иконка Play). Также есть возможность отменить или повторить изменения и функция масштабирования.

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

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

Как создать свой уровень в Geometry Dash

После этого расставьте по пути другие эстетические объекты и препятствия, такие как шипы и другие блоки.

Как создать свой уровень в Geometry Dash

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

Как создать свой уровень в Geometry Dash

Затем нажмите на значок Swipe, присутствующий справа, войдите в режим Edit и выберите квадрат. Dopodiché, премиум пульсируя Edit Groupquindi sull ‘зеленая стрелка указывая вправо значок, для того, чтобы добавить квадраты в группу 1 и нажмите пульсируя OK.

Как создать свой уровень в Geometry Dash

Вернитесь, таким образом, к модальности Build, premium sull’icona BG и поместите элемент MOVE непосредственно перед квадратами. После этого выберите элемент MOVE и нажмите иконку EDIT OBJECT. Переместите, таким образом, сильно вперед леветту MOVE AND, чтобы квадраты двигались вверх, и нажмите кнопку OK.

Как создать свой уровень в Geometry Dash

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

Как создать свой уровень в Geometry Dash

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

Как поделиться пользовательским уровнем

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

Как создать свой уровень в Geometry Dash

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

Для этого нажмите на значок Pause, расположенный справа вверху, и нажмите кнопку SAVE AND EXIT. Затем нажмите кнопку Play и завершите уровень. Помните, что вы не можете проверить уровни, в которых начальная позиция изменена по сравнению со стандартной.

Как создать свой уровень в Geometry Dash

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

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

Премиум, однако, ваш импульс SHARE LEVEL, чтобы поделиться своим творением. В этот момент может возникнуть проблема с загрузкой уровня, как это случилось со мной. В этом случае, чтобы решить проблему, вам нужно вернуться на главный экран игры, нажать на иконку Settings e pigiare sul pulsating ACCOUNT.

Как создать свой уровень в Geometry Dash

Затем нажмите кнопку РЕГИСТРАЦИЯ и введите имя пользователя, пароль, подтверждение пароля, адрес электронной почты и подтверждение адреса электронной почты. После заполнения формы нажмите на кнопку SUBMIT.

Здесь у многих пользователей, включая меня, возникла другая проблема: постоянное появление сообщения Invalid Emaildes несмотря на то, что адрес электронной почты был правильным. Сообщество выяснило, что для решения этой проблемы необходимо нажать на кнопку HELP в карточке ACCOUNT, а затем на кнопку YES.

На этом этапе необходимо нажать кнопку Invalid Email, ввести адрес электронной почты в отведенное место, заполнить предложенную капчу и нажать кнопку Submit: Это решение предоставлено непосредственно разработчиками, которые знают о проблеме с некоторыми адресами электронной почты.

Как создать свой уровень в Geometry Dash

Как только это будет сделано, вернитесь в игру и попробуйте зарегистрироваться снова. Благодаря этому у меня и многих других пользователей все снова работает нормально. Чтобы завершить создание учетной записи, нажмите на ссылку Click Here, присутствующую в проверочном сообщении, полученном по электронной почте – на этом этапе вам может потребоваться решить капчу e premere sul pulsating Verify, чтобы продолжить.

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

Отлично, теперь вы можете вернуться в редактор и нажать кнопку SHARE LEVEL: таким образом, вы должны увидеть экран Upload Complete. Затем нажмите на кнопку BACK и на значок стрелки влево, чтобы вернуться к предыдущему экрану.

Как создать свой уровень в Geometry Dash

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

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

Здесь пользователи могут использовать фильтры e искать уровни также по имени. Например, в моем случае достаточно было написать “Configurehow”, чтобы найти его. Если вы хотите провести практический тест, я рекомендую вам выполнить поиск по слову “city” и посмотреть на творения пользователей.

Как создать свой уровень в Geometry Dash

Чтобы сыграть в уровень, достаточно нажать на кнопку GET IT, а затем на иконку Play. В общем, теперь вы знаете все, что нужно знать о возможности создавать и делиться уровнями в Geometry Dash. Остается только пожелать вам много веселья!

Полезное видео

Создание игровых уровней: советы и хитрости (часть 2) +44

Unity3D, Game Development, Разработка мобильных приложений


Рекомендация: подборка платных и бесплатных курсов разработки под Android — https://katalog-kursov.ru/

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

Прототипирование

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

  • “Greybox”. Уровень собирается буквально из серых кубиков. Здесь вы закладываете фундамент всей последующей работы и выясняете размер уровня, требуемые графические и аудио ассеты, работаете над игровыми механиками и скриптовыми эвентами.
  • Whitebox”. Геометрия уровня уточняется, по возможности добавляются новые игровые механики, диалоги, заготовки синематиков, звук и так далее. Здесь же вы ещё лучше вытачиваете существующие игровые механики и скриптовые эвенты.
  • Графический пасс. К моменту работы над этим этапом вы должны быть убеждены, что на уровне интересно играть, и он всем вас устраивает. Заменять прототипную графику финальными ассетами долго и дорого. Любые изменения на этом этапе крайне нежелательны.
  • Завершающий пасс. Здесь наносятся финальные штрихи: добавляются летающие в небе птички, звуки костров и прочие приятные мелочи.
  • Полировка. Неизбежный этап, как правило происходящий уже после того, как работа над уровнем была завершена. Тут будут правки мелочей, пропущенных ранее, а также изменения по результатам новых плэйтестов и собранной статистики.

На картинке ниже вы можете видеть сравнение этапов “whitebox” и непосредственно финальной графики в игре “Mass Effect 2”.

Хочу ещё добавить, что слишком ранний переход к этапу работы с графикой — серьёзная ошибка. Вы можете легко обмануть себя и команду, сделав уровень с захватывающей графикой, но никакущим геймплеем, и всё потому, что визуально он выглядит хорошо. Посмотрите на это полутораминутное видео из мода для “Gears of War”, хорошо иллюстрирующее работу над геймплеем при отсутствии большей части графического контента.

На этапе прототипирования в здоровой команде или компании важно придерживаться правила “Failure is an Option”. Вы делаете прототип, оцениваете результат и, если он вас не устраивает, выбрасываете. Быстрые итерации позволяют эмоционально не привязываться к проделанной работы, поэтому процесс получается простым и приятным. На скриншоте ниже — кусочек прототипа уровня из инди игры, над которой я работаю.

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

Масштаб героя

Как можно раньше утвердите размер игрового персонажа. Я работаю в Maya в сантиметрах, и обычно устанавливаю усреднённый размер главного героя: 200см. в высоту, 100см. в ширину и 100см. в длину. Таким образом, создавая любой новый контент (куст, танк, дом), мы всегда знаем их размер относительно героя. Предполагается, что размер коллайдера персонажа будет иметь примерно такие же размеры, соответственно, проходы и двери в зданиях обязаны быть как минимум в полтора-два раза шире коллайдера.

Также если у вас несколько 3d-художников, настоятельно рекомендуется, чтобы все следовали единой системе измерений. Иными словами, если у одного человека размер героя выставлен в 200 сантимеров, а у другого — в 2 метра, то при импорте в движок, например, в Unity, вам скорее всего придётся дать моделям разную компенсацию масштаба (Scale Factor), так как для Unity 2 и 200 “майских” единиц измерения — это разные размеры. Ситуация усложняется, когда вы работаете с программами типа 3ds Max, где система координат оперирует абстрактными единицами измерения, поэтому придётся поэксперементировать в поисках общих размеров для всех пакетов трёхмерной графики, задействованных в вашей команде.

Масштаб окружения

Работа с масштабом окружения — крайне интересная тема. Следуя рассуждениям из предыдущего пункта, вам нужно работать в реальных масштабах, отталкиваясь от утверждённых 200см. И в то же самое время вам придётся лгать непросыхая. Соль в том, что временами объект реального размера ощущается слишком большим или слишком маленьким, и приходится корректировать его масштаб, пытаясь добиться достоверного, хоть и неправильного размера. Это хорошо прослеживается в играх со стилизованной графикой, например, “World of Warcraft”, где часто можно видеть объекты вроде каменных лестниц со ступеньками высотой чуть ли не с персонажа. Что интересно, в контексте стилизации это смотрится уместно и не вызывает вопросов, но если присмотреться — всё это чертовски странно.

Тем не менее, надо стремиться к тому, чтобы в среднем ваша сцена имела реальные размеры. Особенно это важно ввиду модного нынче тренда на физически корректные материалы и освещение. Известно, что интенсивность света уменьшается пропорционально квадрату расстояния. В таком случае, если в вашей сцене из-за ошибок в масштабе настольная лампа будет иметь размер под 5 метров, то неизбежно придётся подкручивать математику освещения, чтобы оно выглядело более-менее адекватно в этих условиях. В конечном итоге ваша сцена будет состоять из множества вот таких “хаков”, негативно влияющих как на саму работу физически корректного рендера, так и на качество картинки в целом.

Масштаб окружения как правило познаётся только в сравнении с человеком или очень знакомыми предметами. Предположим, что вы делается научно-фантастический шутер, действие которого происходит на странной чужой планете, где даже архитектура выглядит крайне необычно. Какой размер вон того… камня (или это растение?). Или какой размер у вот этого здания? Совсем не ясно. И только если раскидать по сцене фигурки людей, то вы сразу поймёте масштаб происходящего. В отдельных случаях сработают очень знакомые объекты: на картинке привычная форма автомобилей задаёт точку отсчёта для масштаба.

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

Скорость движения героя

Масштаб окружения не имеет смысла без аккуратно выверенной скорости передвижения героя. Чем быстрее герой передвигается, тем сильнее сжимается пространство. Хорошим примером является введение летающих ездовых животных в “World of Warcraft”. Прежде мир казался достаточно большим: требовалось время, чтобы добраться из одной точки в другую. С появлением воздушного транспорта это перестало быть проблемой, скорость перемещения героя радикально изменила размер мира при том, что сами локации какими были, такими и остались.

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

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

Время прохождения уровня

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

Как следствие, вы должны точно знать, сколько времени игрок может потратить на прохождение отдельного уровня, и на основе этих данных уже работать. В противном случае рано или поздно вам придётся перекраивать все уровни, подстраивая их под требования. В “Flappy Bird” с его мгновенными смертями игровая сессия может быть крайне короткой. В то же время открытый мир “Dragon Age: Inquisition” угрожает засосать вас на часы, причём всё действие будет происходить на одной локации.

Гладкие коллайдеры для гладкого геймплея

Предположим, у вас есть ряд мелких объектов типа коробок и бочек, каждый имеет свой коллайдер. Если герой побежит прямиком в группу объектов как на скриншоте ниже, он будет застревать и тупить ввиду хаотичности общей формы коллайдеров. Формально вы всё сделали правильно — коллайдеры корректно обыгрывают форму индивидуальных объектов. Однако представьте ситуацию в мобильной игре, где управление гораздо менее точное, чем на ПК или консоли. Игрок будет чаще втыкаться в объекты, и ему будет сложнее выбежать из окруживших его коллайдеров.

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

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

Не все коллайдеры одинаково полезны

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

Могу дать показательный пример из “Ведьмака”: вы видите группу коробок, с которых можно собрать добычу. Вы пытаетесь дотянуться до них, но Геральт вдруг начинается путаться в коллайдерах, втыкаться в невидимые стены, вертеться на месте и вообще вести себя как утопец на костре. Это напрочь ломает ощущение вовлечённости в игру, и вы невольно тянетесь за кружкой кофе, возвращаясь в реальность.

Occlusion Culling

Просто хочется напомнить об этой технике. Если коротко, она отключает рендер объектов, спрятанных за другими объектами. Unity, например, позволяет “запекать” Occlusion Culling, что оказывает существенное влияние на производительность. Причём как в лучшую, так и в худшую сторону, в зависимости от ситуации. Два примера:

  • В мобильной игре с Top-Down камерой (как в Diablo) активация этой функции экономит 2-4 Draw Calls (DC). В то же время к работе процессора добавляется 5мс. на обработку кадра. Совершенно не стоит того.
  • В ПК игре с First Person камерой, где действие происходит в узкой пещере, изначально имеется 450 DC. Активация Occlusion Culling уменьшает количество DC до 50 ценой тех же +5мс. Однозначно использовать нужно.

Параллакс и псевдо-3d

Любая 3d игра на экране монитора — это всё равно массив пикселей в 2d плоскости экрана, как ни крути (VR не в счёт). Но есть ряд трюков, позволяющих создать иллюзию трёхмерного пространства. В плане дизайна уровней, самым полезным инструментом будет осознанная разбивка картинки на передний, средний и дальний планы. Проще всего это реализуется в играх с Top-Down камерой а ля “Diablo” и “Path of Exile”, а также в сайдскроллерах (платформерах). Средним планом является ваш персонаж. Дальним может быть эпичный вид, как на следующем скриншоте, но чаще это просто отдалённые объекты.

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

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

  • Грязь на стекле дыхательной маски, как в “Метро 2033”.
  • Брызги крови прямо перед лицом, когда ради шкуры герой разделывает тушу зверя в “Far Cry”.
  • Руки и тапки персонажа, как у Faith в “Mirror’s Edge”.
  • Треснувшее стекло автомобиля во время вождения (”GTA”, “Far Cry”).
  • Пушка перед лицом, особенно в режиме оптического прицела (любой шутер).
  • Препятствие (бетонный блок, угол дома), за которым прячешься от противников. Игры специально поощряют такой геймплей. Например, в “Far Cry 4” можно прятаться за кустами, и противник вас видеть не будет.
  • Помехи в расположенном на экране нейроинтерфейсе, как в “Black Ops 3” и “Deux Ex: HR”.

Невидимые стены

Это достаточно специфичный случай, но стоит упоминания. В инди проекте, где я работаю, мы применили такую механику: когда вы входите в определённую зону, за спиной у вас возникает магическая стена, и впереди начинают появляться монстры. После гибели всех монстров заколдованные стены пропадают. Мы сделали это по аналогии с другими мобильными проектами типа “Dungeon Hunter”, а также по аналогии с “World of Warcraft”, где при битве с боссами у вас за спиной точно таким же образом перекрывается проход.

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

Есть ещё более непростительный подкласс невидимых стен — убивающие игрока границы уровня. Хуже, если разработчик строит геймплей вокруг этого ужаса. Яркий пример из “Destiny”: сундуки с сокровищами нередко ставятся возле самой границы уровня, да так, что часто неочевидно, где именно проходит граница. В итоге глупая смерть неизбежна, когда вы прыгаете на ровный камень в двух метрах под вами, а он в ответ мгновенно убивает героя. И да, это не смерть от падения в игре, где можно прыгать на 10 метров в высоту и приземляться на твёрдую землю без особых проблем.

Целевая платформа

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

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

Плэйтестинг

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

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

Аналитика

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

Причём даже если вы ещё не релизнулись, но имеете несколько тестеров, либо у вас демка доступна ограниченному количеству людей (например, “бэкеры” с Kickstarter’а), всё равно имеет смысл собирать и анализировать данные уже на этом этапе.

Полировка (polishing)

Старайтесь оставить чуть-чуть времени на полировку, то есть на мелкие правки и закрытие небольших дыр, до которых раньше не доходили руки по той или иной причине. Например, на один из моих недавних уровней стоит задача со списком из 29 пунктов. Каждый из них требует от 5 до 15 минут работы. Поборов эти проблемные места, вы переводите уровень с этапа полировки в статус “final” или “release candidate”. Проблемы, которые надо “полишить”, будут всплывать во время плэйтестинга и сбора статистики. Эффективнее не бежать сразу править каждую крошечную недоработку, а подготовить отдельный список, после чего поправить всё скопом. Помните, этот этап неизбежен, поэтому заранее оставьте на него время, даже если вы уверены, что сразу сделали всё круто, и полировать не придётся.

Заключение

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

Буду рад любым комментариям и предложениям. Кроме того, принимаю идеи для новых статей по левел-дизайну, а также освещению и постэффектам в Unity :) Спасибо за внимание!

Понравилась статья? Поделить с друзьями:
  • Что можно собрать из железного конструктора инструкция
  • Инструкция по охране труда для оператора экструзионной линии
  • Должностная инструкция специалиста центра занятости по профстандартам
  • Эльбифид сибирское здоровье цена отзывы инструкция по применению цена
  • Руководство по замене стоек