Дневники разработки Chrysalis: Chrome Butterfly

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

Привет, DTF!

Меня зовут Макс, я тимлид в Gravity Vector Studio. Продолжаю делиться с вами историями разработки нашего проекта Chrysalis: Chrome Butterfly. В прошлой статье я рассказывал о фундаменте, то есть об архитектуре уровня, BSP и оптимизации. Сегодня хочу поведать вам о магии, а именно о том, как левел-дизайн становится связующим звеном между сюжетом, геймплеем и вашим уникальным игровым опытом.

Одна сцена, много историй

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

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

Технически мы решаем это с помощью саб-левелов (Sub-levels) в Unreal Engine. Думайте об этом как о слоях в Photoshop: у нас есть основной "холст" (геометрия уровня), и на него мы "накладываем" разные слои с пропсами, освещением и врагами в зависимости от миссии.

Пример из практики: Два сценария для одной улицы

Давайте разберем на конкретном примере. У нас есть арена у здания Протектората. Вот как мы превращаем разными сценками на уровне в две совершенно разные миссии с помощью левел-дизайна и нарратива.

Сценарий A: «Последствия бунта»

  • Нарратив: Вэнди получает сообщение: "В центре города вспыхнули беспорядки. Толпа разогнана, но остались очаги сопротивления. Враждебны все".
  • Левел-дизайн: Мы подгружаем саб-левел "Riot". Улица завалена мусором, горят машины, появляются временные баррикады. Мир выглядит хаотично и опасно.
  • Геймплей: Сценарий превращается в позиционную войну, и игроку нужно постоянно двигаться между новыми укрытиями, отбиваясь от большого количества врагов с разных сторон.

Сценарий Б: «Тихий визит»

  • Нарратив: Вэнди получает другое задание: "В здании Протектората проходит тайный саммит. Улицы зачищены, но периметр патрулирует тяжелый боевой дрон. Действуй тихо".
  • Левел-дизайн: Подгружается саб-левел "Summit". Улица чистая, почти стерильная, а вместо мусора здесь дорогие автомобили и элегантные силовые барьеры. Атмосфера представляет собой напряженное затишье.
  • Геймплей: Бой с толпой сменяется дуэлью, так что игроку нужно использовать вертикальность и скорость, чтобы уворачиваться от атак мощного, но одинокого дрона-босса.

Наша "шахматная доска" это Miro

"Как вы все это планируете?" — спросите вы. Чтобы не утонуть в хаосе идей, мы используем Miro как нашу цифровую "шахматную доску".

Пример нашей "шахматной доски" в Miro. Каждая цветная зона и иконка это геймплейный элемент, от непреодолимого препятствия до точки спавна врага. Так мы видим всю миссию целиком еще до того, как открыли Unreal Engine.
Пример нашей "шахматной доски" в Miro. Каждая цветная зона и иконка это геймплейный элемент, от непреодолимого препятствия до точки спавна врага. Так мы видим всю миссию целиком еще до того, как открыли Unreal Engine.

Перед тем как что-то строить в движке, мы собираемся всей командой на доске в Miro. Здесь нарративные дизайнеры, геймдизайнеры и я (как левел-дизайнер) разыгрываем миссию как партию в пошаговой стратегии.

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

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

BSP уровень с основной геометрией для проведения шутер-миссий
BSP уровень с основной геометрией для проведения шутер-миссий

Итог: Левел-дизайн как клей

Как видите, левел-дизайн в нашей команде это не просто "расстановка объектов". Это клей, который скрепляет воедино сценарий, геймплейные механики и арт. Он позволяет нам быть гибкими, эффективно использовать ресурсы и создавать глубокий, реиграбельный мир.Спасибо, что дочитали этот лонгрид до конца! Это только начало нашего пути. Если вам интересен нуар, киберпанк и закулисье инди-разработки — подписывайтесь на наш Telegram-канал и VK - сообщество. А еще те кто захочет следить за нами в предстоящем GameJam от Epic Games 2025 заскакивайте к нам в профиль на itch.io.

В следующих статьях я планирую рассказать о том, как мы проектируем наш UI-хаб в квартире Вэнди, который так же относится и к Level-Design тоже. Оставайтесь на связи!

Буду рад ответить на ваши вопросы в комментариях

8
Начать дискуссию