Блуждая по граблям - как я линейный левел дизайн познавал

Блуждая по граблям - как я линейный левел дизайн познавал

Постановка задачи

Мне давно хотелось попробовать собрать приключенческую локацию с хоть какими то пространственными головоломками. Линейных коридорных уровней я ещё не делал и хотел понять как можно работать с управлением внимания игрока.

Когда решение было принято принято, осталось лишь составить требования:

  • Дедлайн 31 августа, после этого никаких правок и обновлений.
  • Локация должна быть оформлена готовыми ассетами.
  • Без добавления глобально новых сущностей. Можно было сделать мелкие правки в геймплее, но на как можно более ранних этапах и дизайнить исходя из ограничений.
  • Несколько простых головоломок.

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

Подготовка — 3 дня

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

Фактически это 3д платформер от третьего лица, с горизонтально летящим джетпаком и возможностью перерождаться, чтобы потом прыгать по оставленным телам или же оставлять их держать кнопку. Одновременно можно оставлять не более 2х тел (изначально было 8, я не знаю зачем так дофига).

Блуждая по граблям - как я линейный левел дизайн познавал

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

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

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

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

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

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

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

Блокаут — 6 дней

Блуждая по граблям - как я линейный левел дизайн познавал

Вооружившись метриками и паззлами пришла пора наконец собрать блокаут / greybox / whitebox / набросок / каляку-маляку. Его я делаю сразу в 3д на кубиках, на то есть сразу несколько причин:

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

Ну и пока собирал, сложил в голове простенький нарратив:

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

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

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

Процесс получился такой: Собрал направление за один вечер, и ещё 5 дорабатывал.

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

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

Деревня — 3 дня

…Но художника под рукой не оказалось, поэтому собирал сам.

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

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

Каньон — 2 дня

Каньон состоял всего из двух вещей — ландшафта и ассетов с мегаскана.

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

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

Просто поднимаем скульптом точку до нужной высоты и через Flatten и Ramp повторяем форму кубов. На ландшафт всей локации ушло 30 - 40 мин вместе с зоной города

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

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

Детализация и мелкие правки — 4 дня

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

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

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

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

Прохождение последнего паззла

Грабли!

Блуждая по граблям - как я линейный левел дизайн познавал

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

  • Ракурс надо было выстраивать не только от точки респавна, но и от кнопок, чтобы видеть что именно ты активируешь, иначе интеракция получается вслепую
  • Пусть сплайновые трубы и добавили немного читаемости, но всё же им стоило добавить разные цвета или свечение при включении
  • Платформинг не работает. Причём не только из за лд, а в целом он тут и не нужен. Лучше бы на место каньона заместо паркура сделал бы ещё один паззл, допустим, над пропастью (для масштабности)
  • Зря не порезал джетпак раза в 2 — 3 на раннем этапе. Много чизинга, от которого с таким запасом полёта никуда не деться. Он просто ломает головоломки и не даёт нового опыта.
  • Ну и главное — локация вышла большеватой для работы на 1 месяц. Из за этого уровень оформления и детализации очень неровный. Однако это был первый опыт приключения и хотелось выдать продолжительность по максимуму.

Итого — 18 рабочих вечеров

Дедлайн есть дедлайн. Зато усвоил на своей шкуре такие вот правила и хитрости:

  • До работы над картой стоит попробовать собрать не только зоопарк мувмента и интерактивных объектов, но и тестовые геймплейные ситуации (В случае с паззлами, можно подизайнить их в отрыве от локации)
  • В паззлах надо постоянно давать новые элементы, иначе скучно. Даём новую сущность, 1 — 3 паззла, добавляем ещё. Просто комбинировать их всеми вариантами тоже отстой. У меня к 5 паззлу явно хотелось уже добавить что то радикально новое, а не только подъёмную платформу
  • Флоу и ракурс нам бро
  • Паззлы должны быть нормально разделены друг от друга, иначе будет мешанина
  • Универсальный конструктор Sci-Fi элементов это прикольно, но лучше делать более крупные пресеты либо писать тулзы. Руками такое собирать муторно и править потом уже не хочется. Явно не хватало очень больших элементов для сборки.
  • Если нет рабочего геймплея, можно временно записать хотя бы медленную пролётку камерой на уровне глаз игрока. Это не помогает в понимании навигации, но зато всплывают артовые косяки.

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

3939
18 комментариев

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

5

А можете рассказать что такое дизайн пасс по подробней?

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

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

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

На предпоследнем видео, схема прохождения может оказаться не такой идеальной. Выглядит замороченно.
Стоит дать кому либо на плейтест.
Один только момент что порой у тебя цвета проводов и окружения сливается, уже может запутать игрока (на пред-последнем все тона оливковые). Как и визуал клифов, игрок может посчитать что сможет (и скорее всего захочет) просто пропрыгать по граням клифов.

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

2

Большое спасибо за развёрнутый фидбек!
На самом деле читаемость соединяющих труб и непонятность что же ты наделал в паззле это и есть грабли на которые я смачно напрыгнул.
Но в защиту скажу что последний паззл я намеренно хотел сделать сложнее и до неё идёт ещё 3 паззла поменьше, которые к нему готовят (по паззлу с мостиком есть видос, остальные на скринах)
Это лишь отчасти оправдание. Главное что совершил ошибку не на боевом проекте и в будущем смогу обойти такое стороной)

Имел удовольствие наблюдать промежуточные стадии в процессе разработки. Помня, какие там были костыли под капотом и какие примитивные примеры пазлов были в проекте, у Дена получился вполне приличный сценарий. Мне нравятся итоговые головоломки. Единственное, что я бы вот прям 100% изменил, это возможность увидеть плиты издалека. Сейчас они лежат в той же плоскости, по которой мы передвигаемся, а значит будем их видеть исключительно под острым углом. Можно сделать вертикальный свет, вспомогательный элемент или банально выдавить кочку/фундамент под ними.

1

Про свет на кнопках кстати хорошая идея. Ещё эффектами можно было бы поддержать.

1