King, Witch and Dragon. DevLog #15

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

Суть проблемы

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

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

Поэтому на каждом уровне для каждой способности будет новый геймплейный элемент с новой механикой (новый контекст для применения каждой способности). Таким образом получаем всего 16 новых геймплейных элементов.

Начало работы

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

Я попробовал разные комбинации, спроецировал их на структуру уровня и империческим путем вывел, что минимальное количество инкаунтеров способностей должно быть 12 на уровень (для каждой способности). Таким образом получаем, что нужно придумать и задизайнить 16 * 12 = 192 инкаунтера. Это само по себе уже звучит достаточно объёмно, но это еще пол беды. Самое интересное это требования к ним...

Дизайн через ограничения

К каждому инкаунтеру на тест способности предъявляется 2 обязательных требования:

  • Игрок должен иметь возможность пройти инкаунтер имея только эту одну способность.
  • Игрок НЕ должен иметь возможность пройти инкаунтер, если у него нет требуемой способности, даже если есть остальные 3 способности.

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

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

Наглядный пример

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

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

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

Тут есть 2 решения (решений больше, но более-менее адекватных, на мой взгляд, два):

  • Обкладывать стены и потолок шипами, чтобы персонаж не мог по ним проползти.
  • Лишать персонажа возможности ползать по любым поверхностям и вводить новую сущность "поверхность, по которой можно ползать с помощью паучьих лап" и как-то её визуально отделять от остальных поверхностей.
Какой вариант решения подобной проблемы вам кажется наиболее правильным?
Размещать в необходимых местах на стенах и потолке шипы, но сохранить возможность ползать по любым поверхностям.
Сделать специальный тип поверхности, по которой можно ползать с помощью паучьих лап, и лишить персонажа возможности ползать по любым поверхностям.
Свой вариант (напишите в комментариях)

У меня есть собственные соображения на эту тему, но хочется узнать мнение аудитории.

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

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

Придумывать что-то новое и оригинальное - СЛОЖНО!

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

Процесс придумывания

В итоге я засел за придумывание 192 уникальных инкаунтеров способностей. Я старался для каждой механики придумать хотя бы 13-14 инкаунтеров, чтобы было из чего выбирать. Делал я это в формате быстрых скетчей в своем блокноте, потому что так мне показалось быстрее и удобнее, а также я не был привязан к компьютеру (все таки лето, жара, хочется на море и на природу).

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

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

В итоге я нарисовал 226 инкаунтеров, которые, на мой взгляд достаточно разнообразные и по-новому раскрывают имеющиеся у игрока способности.

Записки чокнутого профессора.

От аналога к цифре

Затем я это всё оцифровал, нарезал и перенёс в miro.

Получилось примерно так.
Получилось примерно так.

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

Примерно так выглядит один из вариантов прохождения уровня. Разные цвета стикеров соответствуют разным типам инкаунтеров.
Примерно так выглядит один из вариантов прохождения уровня. Разные цвета стикеров соответствуют разным типам инкаунтеров.

Целиком же доска выглядит так:

King, Witch and Dragon. DevLog #15

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

Сколько всего контента?

На данный момент я сделал самую сложную теоретическую часть (во всяком случае первую её итерацию) - 192 уникальных инкаунтера для способностей персонажа.

Осталось следующее:

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

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

Что дальше?

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

Ну а пока что вступайте в telegram-группу и группу ВК, чтобы пообщаться и задать любые интересующие вас вопросы, также подписывайтесь на меня в Twitter и Instagram. и добавляйте проект в список желаемого на Steam.

Спасибо за внимание!

4242 показа
4.3K4.3K открытий
44 репоста
121 комментарий

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

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

Ответить

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

Ответить

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

Ответить

Как вариант, можно это обосновать именно поверхностью, которая может пройтись ТОЛЬКО с помощью паучих лап. К примеру сама по себе паутина, которая будет блокировать движение игрока без паучих лап, затягивать, работать как ловушка. А с паучьими лапами появится возможность проходить эти участки.

Ответить

тетрадку листал?)
хз что это...шаманизм какой то. но привьюха залипательная.

Ответить

Это мой блокнот в котором я, собственно, делал все скетчи для уровней. 

Ответить

Автор просто безумный учёный разработчик игры ) в хорошем смысле )

Ответить