Advertisement
  1. Code
  2. Coding Fundamentals
  3. Game Development

Метод Super Mario World: дополнения и расширения

Scroll to top
Read Time: 7 min
This post is part of a series called The "Super Mario World Method" for Level Design.
How to Design Levels With the "Super Mario World Method"
The Super Mario World Method: Understanding Skill Themes

() translation by (you can also view the original English article)

Это продолжение первого урока по использованию метода Nintendo для создания уровней. Работая над игрой Super Mario World, команда разработчиков из Nintendo сформировала (возможно, интуитивно) весьма эффективный метод построения уровней и организации их контента. Я называю этот метод «Испытание, модуляция, серия препятствий», или ИМСП.

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

Хотя ИМСП и является средством организации контента при создании уровней, этот метод никоим образом не ограничивает творческий потенциал дизайнера. Я покажу вам, как с его помощью можно получить максимальный эффект при ограниченном наборе инструментов для построения уровней.

Мой пример

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

ID уровня: 1288 0000 00EC F5A2

Использование дополнений

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

Посмотрим, как это работает в данной ситуации. Вот так выглядит первое испытание:

First challenge A single ThwompFirst challenge A single ThwompFirst challenge A single Thwomp

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

A Thwomp and a fire trapA Thwomp and a fire trapA Thwomp and a fire trap

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

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

В следующем примере я добавил новое препятствие – пропасть слева от Твомпа.

A Thwomp and a pitfallA Thwomp and a pitfallA Thwomp and a pitfall

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

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

A Thwomp and a fireballA Thwomp and a fireballA Thwomp and a fireball

В следующем испытании я объединю всё, что мы использовали до настоящего момента:

A Thwomp a pitfall and a fire trapA Thwomp a pitfall and a fire trapA Thwomp a pitfall and a fire trap

Пока что это самое сложное испытание: в нем присутствуют сразу 3 препятствия. В играх от Nintendo редко можно встретить больше трех препятствий за раз. Данный пример действительно непростой и более-менее соответствует самым трудным испытаниям в играх от Nintendo. Конечно, вы можете пойти дальше в вашей игре (или в ваших уровнях Mario Maker); я всего лишь показываю принцип.

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

С учетом этого факта я убрал пропасть и добавил вместо нее Чейн Чомп.

A Thwomp and a Chain ChompA Thwomp and a Chain ChompA Thwomp and a Chain Chomp

А затем я вернул пропасть с огненным шаром, но убрал огненный барьер.

A Thwomp two pitfalls and a fireballA Thwomp two pitfalls and a fireballA Thwomp two pitfalls and a fireball

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

Использование расширений

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

Two ThwompsTwo ThwompsTwo Thwomps

Это первое расширение. Мы вернулись к самому первому испытанию уровня и просто удвоили количество Твомпов.

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

У расширений есть один важный принцип: они меняют сложность испытания не линейно. Расширения так же зависят от контекста, как и дополнения, несмотря на их принципиальную разницу.

Еще один пример расширения.

A Thwomp and two fire trapsA Thwomp and two fire trapsA Thwomp and two fire traps

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

А что, если применить этот прием к другому элементу? Например, к ширине пропасти.

A wide pitfall and a ThwompA wide pitfall and a ThwompA wide pitfall and a Thwomp

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

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

Jumping over the wide pitfall actually helps Mario avoid the ThwompJumping over the wide pitfall actually helps Mario avoid the ThwompJumping over the wide pitfall actually helps Mario avoid the Thwomp

Оказывается, прыжок через более широкую пропасть решает эту проблему, так как траектория движения Марио меняется: он берет больший разгон и потому быстрее уклоняется от падения Твомпа, оставаясь в безопасности! Сам прыжок немного сложнее по технике, но в целом испытание остается таким же простым. На такие вещи стоит обращать внимание при тестировании игры, если вы применяете принцип ИМСП.

Теперь применим такое же расширение к огненным шарам.

A Thwomp and two fireballsA Thwomp and two fireballsA Thwomp and two fireballs

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

Вывод: хотя расширения легко применять, их эффект сложно контролировать. Удвоение одного элемента и удвоение другого – не одно и то же, независимо от того, насколько они похожи.

Расширение за счет сжатия

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

Multiple Thwomps at reducing heightsMultiple Thwomps at reducing heightsMultiple Thwomps at reducing heights

Я сократил расстояние между Марио и Твомпами. Это определенно количественное изменение сложности самого первого испытания и может считаться расширением. Но достигается оно путем уменьшения значений. Расширение за счет сжатия почти всегда подразумевает сокращение расстояния между Марио и угрозой, иногда приближая его к ней, а иногда – уменьшая ширину платформы под ним. Всё зависит от контекста.

Опаснее всего переусердствовать со сжатием – игрок просто не сможет пройти испытание, не получив урона. Я специально создал такую ситуацию в своем последнем испытании: крайний Твомп так низко нависает над землей, что в любом случае задевает Марио при падении.

One last Thwomp impossible to avoidOne last Thwomp impossible to avoidOne last Thwomp impossible to avoid

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

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

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

Выводы и советы

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

  • Нескольких механик вполне достаточно, чтобы при правильной комбинации элементов заполнить контентом весь уровень. В моем уровне было всего 6 разных препятствий, но мне так и не удалось исчерпать все их возможности.
  • Используйте несколько разных дополнений для вашей основной идеи.
  • Комбинируйте разные ветки с дополнениями для повышения сложности, но не переусердствуйте с их количеством. Как правило, двух дополнений вполне хватает, чтобы создать интересное испытание; если вы вводите третье, убедитесь, что игра не становится чересчур сложной, а прохождение не требует слишком много времени.
  • Расширения – это изменения количественного характера, но их влияние на игровой опыт может быть неожиданным. Удвоив какой-либо элемент, вы не повысите сложность испытания ровно в 2 раза. Она может вырасти как на 10 %, так и на 400 % – всё зависит от того, что вы расширяете.
  • Есть предел расширения элементов дизайна. Если вы хотите поэкспериментировать с этим пределом, практикуйте дизайн уровней от обратного: сделайте непроходимо сложный уровень и постепенно упрощайте его, пока не найдете баланс.
  • Помните: субъективный опыт игрока не зависит от того, как много элементов в вашем уровне. Если игра оказалась сложнее, чем казалась на первый взгляд, то вы как дизайнер хорошо справились со своей работой.

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

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.