King, Witch and Dragon. DevLog #7
Основная особенность антивании в том, что главный герой в процессе прохождения теряет способности, а не приобретает их. В этом контексте очень часто задаётся вопрос о том, как будут устроены уровни и как обеспечить возможность их прохождения при любой комбинации способностей. Давайте же разберёмся, как работает левел-дизайн в антивании.
Небольшой ликбез для тех, кто не в курсе
Я делаю игру в жанре "антивания" или "метроидвания наоборот". Суть её в том, что в самом начале игры, в процессе туториала, персонаж получает специальные спосбности, а затем, после убийства каждого босса, теряет по одной способности, пока не потеряет все.
Список способностей:
- Крылья летучей мыши (двойной прыжок и парение)
- Бросок гадюки (рывок)
- Паучьи лапы (возможность карабкаться по стенам и потолку)
- Щупальце (крюк-кошка)
При этом игрок может выбирать в каком порядке посещать локации и, соответственно, в каком порядке убивать боссов, а также в каком порядке "жертвовать" способностями.
Таким образом, получается ситуация, что в зависимости от выбора игрока, он может посетить любую локацию и любого босса с любым набором способностей. Моя задача, как разработчика, обеспечить игроку возможность пройти уровень и убить босса при любом раскладе.
Структура мира
Учитывая описанную выше специфику игры, перенос структуры мира классических метроидваний (единый мир с взаимосвязанными локациями) является крайне сложной задачей, если вообще выполнимой. Поэтому мне пришлось изменить структуру, при этом стараясь сохранить достаточно свободы для игрока.
Весь мир можно разделить на 3 основных секции:
- Вступление. Тут игрок проходит туториал, учится основным игровым механикам и приобретает 4 специальных способности.
- Исследование мира. Эта секция состоит из хаба и 4 больших локаций-биомов, в конце каждой из которых игрока ждёт босс
- Заключительный этап в конце которого игрока ждёт финальный босс-файт с главным злодеем.
Первый и последний этапы линейны, поэтому я не буду их подробно рассматривать. Там я точно знаю в каком состоняии находится персонаж, какие способности у него в наличии и под это подгоняю левел-дизайн.
Гораздо интереснее дела обстоят с центральным сегментом. Именно там и начинается та вариативность, о которой я писал выше.
Придя в хаб, игрок может выбрать в какую локацию отправится и какой способностью там пожертвовать. После этого ему придётся проходить оставшиеся локации и побеждать оставшихся боссов с меньшим арсеналом, а соответственно, придётся искать пути более умного и эффективного применения оставшихся сопсобностей, чтобы компенсировать утрату.
Локации не связаны между собой. После прохождения одной локации игрок возвращается в хаб и выбирает следующую локацию.
Структура локации
Все 4 локации абсолютно равнозначны, поэтому я покажу структуру на примере одной локации.
Каждая локация имеет начало (точку входа) и конец (арена с босс-файтом). Давайте представим её как абстрактный путь из точки А в точку Б.
Но мы знаем, что игрок может иметь от 1 до 4 способностей, при этом мы не знаем какие именно это способности. Это приводит нас к тому, что на самом деле путь из точки А в точку Б будет нелинейным. В зависимости от наличия или отсутствия тех или иных способностей некоторые пути могут быть недоступны для игрока.
Несложно подсчитать, что всего возможно 15 комбинаций способностей.
Если делать в лоб, то придётся делать 15 путей прохождения каждого уровня.
Это выглядит как откровенная трата времени и ресурсов. Плюс ко всему, достаточно сложно задизайнить 15 уникальных и интересных путей прохождения одного и того же уровня. Нужен более умный подход.
Давайте рассмотрим это с другой стороны и попробуем привязать это к способностям персонажа.
Прокладываем путь для каждой способности
Самая сложная ситуация - это когда игрок остаётся всего с 1 способностью, но при этом всё равно должен иметь возможность пройти уровень. Способностей у персонажа 4, значит, и таких крайних случаев тоже возможно 4 для каждого уровня.
Соответственно, каждый уровень должен иметь минимум 4 пути прохождения, каждый из которых "заточен" под одну из способностей.
Теперь наш уровень проходим, но неочень интересен и вариативен.
Давайте добавим мини-хабы по пути от точки входа до босса, в которых будут пересекаться все 4 основных пути.
Эти мини-хабы выполняют некоторые полезные функции:
- это сейф-зоны в которых игрок может передохнуть
- сюда можно добавить важные игровые моменты, которые игрок не должен пропустить вне зависимости от того с какой способностью проходит уровень (сюжетные вставки, нахождение важных предметов и т.д.)
- если игрок проходит уровень с более чем 1 способностью, он может перейти на другие "рельсы" (часть уровня проходит с паучьими лапами в качестве основной способности, потом переключается на крылья летучей мыши). Это добавит динамики и разнообразия.
Пути всех 4 способностей равнозначны по длине и сложности прохождения, поэтому далее мы рассмотрим путь одной способности, который можно будет спроецировать на все остальные.
Путь одной способности
Для примера возьмём крылья летучей мыши.
Давайте более подробно рассмотрим один из сегментов между 2 любыми точками. Изобразим его как некий длинный, извилистый путь. При этом добавим вертикальную ось, которая представляет собой сложность прохождения. Чем дальше путь отклоняется по вертикали вверх или вниз, тем сложнее становится прохождение.
А теперь, в тех местах, где путь сильно отклоняется в сторону, давайте дадим игроку возможность "срезать" путь за счёт других способностей.
Таким образом, если игрок проходит уровень, имея в наличии способности "щупальце" и "бросок змеи", то путь до точки назначения будет не только короче, но и легче.
Я не зря изобразил эти шорткаты такой же S-образной формы...
Такие S-образные врезки мы можем вставлять где угодно и сколько угдоно, в зависимости от того насколько нам позволяют ресурсы, а также насколько длинным и сложным должен быть уровень.
Симуляция
Теперь для наглядности давайте симулируем как будет выглядеть самый короткий и лёгкий путь игрока, в зависимости от количества способностей.
4 способности
Убираем паучьи лапы, остаётся 3 способности.
Пусть стал чуть длиннее и сложнее. Убираем рывок змеи, остаётся 2 способности.
Ну и после отказа от третей способности возвращаемся к тому, с чего начинали.
При этом видно, что все 4 варианта прохождения отличаются, по динамике, сложности, частоте и вариативности использования способностей. Также, при отказе от одной из способностей, можно переиспользовать имеющиеся шорткаты оставшихся способностей, вместо того, чтобы дизайнить уникальный путь.
Такой подход гарантирует проходимость уровня любой комбинацией способностей и при этом экономит ресурсы.
Направляем игрока
Когда система и структура ясна, важным шагом является правильно направить игрока. Игрок, придя на условную развилку, должен воспринимать шорткат как более простой, интуитивный и «правильный» путь. Тут помогут различные инструменты левел-дизайнера как подсветка предпочтительного пути, композиция игровых элементов на экране (например, в кадр должен попадать объект, за который можно зацепиться крюком-кошкой), направляющие линии в дизайне окружения и многое другое.
В идеале у него не должно возникнуть мысли, что можно пойти какой-то другой дорогой и что она вообще есть. И только отсутствие способности, необходимой для прохождения шортката, должно заставить его начать думать и искать альтернативные пути.
Тут важный момент заключается в том, чтобы в самом начале правильно телеграфировать игроку, какая способность ему нужна.
Например, если для шортката нужен крюк-кошка, то и начинаться шорткат должен именно с препятствия, которое подразумевает использование крюка-кошки. В противном случае игрок может уйти достаточно далеко и уткнуться в тупик. Такая ситуация приводит к бесполезному бектрекингу и более сложному поиску альтернативного пути. Поэтому важно сразу игроку сказать «без этой способности тебе тут делать нечего».
Все эти моменты должны быть заложены и протестированы ещё на этапе блокинга уровня.
А что там с боссами?
С боссами используется тот же принцип, только вместо путей у него паттерны атаки.
У каждого босса должна быть парочка простых атак, которые не требуют использования специальных способностей, чтобы увернуться или отконтрить, а также хотя бы по одной атаке для каждой способности персонажа.
В начале сражения босс анализирует способности игрока и если у игрока нет каких-то способностей, босс не использует против него соответствующие атаки.
Таким образом, с одной стороны, если игрок приходит к боссу с большим количеством способностей, сражение будет более вариативное, но при этом более сложное, потому что игроку нужно следить за бОльшим количеством атак босса и принимать больше решений о том, какую способность использовать, чтобы увернуться или контратаковать.
Что дальше?
Теоретическая часть по левел-дизайну закончена. Пришло время испытать её на практике. Буду делать блокинг тестового уровня по описанному в этой статье принципу.
Пишите в комментариях, что вы думаете по поводу такого подхода, какие у него слабые стороны и как его можно улучшить.
Чтобы поддержать разработку игры, добавляйте King, Witch and Dragon в вишлист на Steam. Чтобы принять участие в обсуждении, вступайте в группу ВК, а также подписывайтесь на меня в Twitter и Instagram.
Спасибо за внимание!