Гайд по созданию Метроидваний: Часть 1

Метроидвания — это жанр игры (2D или 3D), который часто подразумевает игровой процесс, основанный на исследовании, когда управляемый игроком персонаж получает новые способности, которые позволяют ему развиваться.

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

Название Metroidvania происходит от смешения Metroid и Castlevania, хотя есть и другие игры, в которых используется та же основополагающая философия дизайна. Среди них все игры Zelda, Shadow Complex и Cave Story. На самом деле нет существенной разницы в игровой структуре между Zelda, Castlevania и Metroid.

Последующие статьи предназначены для разработчиков игр, которые хотели бы взяться за непростую задачу по созданию игры в жанре Метроидвания. Если вы никогда раньше не создавали игры и ищете здесь советы о том, как создавать игры, я предлагаю вам сначала немного ознакомиться с этой сферой, используя такие инструменты, как Unity, Unreal Engine, Construct 2 или любой другой набор инструментов для создания игр. Вам нужно знать, как делать игры заранее, потому что я не собираюсь учить вас делать игры с нуля.

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

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

Здесь приведены мои личные взгляды на разработку Метроидвании, поэтому не воспринимайте это как единственно правильную модель планирования. Только вы можете знать, что вам нужно сделать и как это сделать лучше всего, поэтому смотрите на это как на руководство, а не на закон. Некоторые интересные и новаторские решения, требуют, чтобы вы время от времени нарушали правила. Обсуждаемые здесь стратегии дизайна подходят для 2D или 3D игр и любого вида камеры (сайдскроллер, вид сверху, вид от первого лица и т.д.).

Планирование игровых систем

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

1. Определитесь с предпосылкой вашей игры и с тем что делает ее уникальной

  • Игра в 2D или 3D?
  • Как работает камера? (Сайдскроллер, с видом сверху, управляется игроком, от первого лица, от третьего лица, заскриптованная, статическая и т.д.)
  • Чем управляет игрок? (Персонажем, транспортом, объектом и т.д.)
  • В каком стиле игра? (Sci-Fi, Фэнтэзи, Реализм, Рисованный мультфильм и т.д.)
  • Чем можно описать игру и что делает ее уникальной? (механика, предпосылка, визуал, история, персонажи) (вы хотите сделать что-то уникальное и запоминающееся или сделать то, что кто-то уже сделал, но лучше?)

2. Определите базовые возможности игрока. (Что может делать игрок, прежде чем получит какую-либо способность?)

  • Как персонаж передвигается? (Ходит, летает, катится, скользит и т.д.)
  • Что может делать персонаж, чтобы взаимодействовать с миром? (Прыгать, стрелять, рубить, хватать, целовать и т.д.) (Эти стандартные взаимодействия в игре должны поддерживать исходную предпосылку, а также они будут определять характер игры. Они могут быть оригинальными или производными от других)

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

  • Какие уникальные способы передвижения может получить персонаж? (Он прыгает выше, летает, ускоряется, бегает, ползет, катится, скользит, раскачивается, вращается, плывет и т.д.?) (Все способы передвижения требуют ограничений и уникальной механики. Вы ведь не хотите, чтобы одна механика аннулировала все остальные.)
  • Какие уникальные способы трансформации может получить персонаж? (Изменяет ли он форму, становится другим персонажем, меняет свое состояние и т.д.) (трансформация может полностью изменить свойства движения персонажа, столкновения и уязвимости.) (Все преобразования требуют ограничений и уникальной механики. Вы ведь не хотите, чтобы одна механика аннулировала все остальные.)
  • Какие уникальные способы взаимодействия может получить персонаж? (Оружие, снаряды, магия, стихийный урон, специальные способности и т.д.) (Все взаимодействия требуют ограничений и уникальной механики. Вы ведь не хотите, чтобы одна механика аннулировала все остальные.)
  • Если персонаж использует снаряды, то как они могут двигаться? (они летят по дуге или прямо, рассеиваются со временем, быстро стреляют, выходят за пределы экрана, зигзагообразно отскакивают, отражаются, останавливают предметы, взрываются и т.д.)
  • Какими уникальными способами персонаж может видеть мир и как враги видят его? (Специальные видоискатели, Невидимость, Свет, Измерения и т.д.) (Все параметры видимости требуют ограничений и уникальной механики. Вы ведь не хотите, чтобы одна механика аннулировала все остальные.)
  • Какие уникальные виды опасностей присутствует в игре и может ли игрок получить что-то, что может защитить его от повреждения этими опасностями? (Костюмы, талисманы, доспехи, шляпы и т.д.) (Чтобы предотвратить или уменьшить урон от опасностей, таких как огонь, лава, вода, враги, электричество, космос и т. Д.)
  • Какие способности для изменения мира может получить или использовать персонаж? (Остановка времени, изменение гравитации, телепорт, быстрое перемещение, активация специальных объектов и т.д.)
  • Есть ли у игрока здоровье или ему требуется топливо и боеприпасы, которые со временем могут улучшаться? (С каким количеством начинается игра и какое максимальное значение?

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

Внедрение систем

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

Что-ж, пришло время творить.

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

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

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

Стандарты способностей — вам понадобятся стандарты построения уровней, которые покажут максимальные диапазоны, которых могут достичь способности при использовании. Это поможет с дизайном и настройкой уровней. (Пример: максимальная высота прыжка по умолчанию: 2 метра — максимальная высота высокого прыжка: 5 метров) (Иллюстрации и диаграммы помогают при планировании).

  • Сначала создайте болванку главного персонажа и настройте базовые способы передвижения (вам не нужны рисунки или анимация, все, что вам нужно, это поле с объектами для столкновений). Сделайте небольшой тестовый уровень, который является приближением к реальному игровому пространству, чтобы получить правильное ощущение. Он не обязательно должен хорошо выглядеть, но вам нужно, чтобы он «ощущался» хорошо, даже если он уродлив.
  • Затем вам нужно реализовать все способности, которые изменяют способ передвижения персонажа в мире. Это самая важная часть, которую нужно завершить, поскольку она определит все возможности и ограничения, которые вы будете использовать при построении уровней.
  • Как только все способности реализованы и настроены так, чтобы они могли хорошо работать друг с другом, вы можете начать собирать простую цепочку уровней или комнат.

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

Последовательность тестирования прогресса

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

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

Каждая комната должна соответствовать следующим пунктам:

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

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

Не пытайтесь сделать макет интересным или сложным на этом этапе! Это может отвлечь вас от ваших целей на этапе разработки.

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

Последовательность тестирования способностей передвижения Kynan Pearson
Последовательность тестирования способностей передвижения Kynan Pearson

Тестирование последовательности

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

  • Может ли игрок пройти всю последовательность и получить все способности?
  • Удовлетворяет ли вас порядок, в котором персонаж получил способности?
  • Что-нибудь казалось сломанным?
  • Где можно помешать прогрессу персонажа без приобретения новой способности?
  • Вы получали удовольствие от использования способности в созданной комнате?
  • Достаточно ли ясно было, как использовать способность или где использовать способность в комнате?
  • Могли ли игроки повернуться или неправильно пройти комнаты?

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

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

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

Тестирование взаимодействия с миром, объектами и врагами

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

Вероятно, вы захотите сделать следующие объекты:

  • Двери — они разделяют ваши области и являются отличным способом заблокировать уровни, пока игрок не получит нужную способность или предмет. (Для разблокировки требуется специальное оружие, ключ, костюм, предметы и т.д.). Создавайте и тестируйте все типы дверей в своей тестовой среде! Попробуйте использовать двери единого стандартного размера с разным внешним видом, которые подразумевают, что игрок должен использовать, чтобы их открыть. Помните, что вы можете: Открывать и закрывать двери повторно; Закрыть двери за спиной игрока, чтобы заставить его пройти испытание; Разблокировать двери при помощи головоломки или победы над врагом; Разблокировать двери при помощи способности, оружия или ключа; Можете использовать двери для маскировки подгрузки уровней или для помощи с переходом между разными областями.
  • Разрушаемые объекты — это объекты, которые могут ломаться, растворяться или исчезать, чтобы позволить игрокам продвигаться или находить скрытые предметы.
  • Препятствия — это такие объекты, которые могут нанести урон игроку. Возможно, вы сможете обойти их, используя разблокированные способности. Каждое препятствие должно служить определенной цели и оно должно быть настроено таким образом, чтобы его можно было легко преодолеть, как только игрок приобретет правильный инструмент.
  • Устройства / движущиеся объекты — это такие объекты, для активации которых требуется использование определенных способностей. Они будут перемещать игрока из одной точки в другую и должны использоваться, чтобы игрок мог добраться до нового места. (Тросы, лифты, движущиеся платформы, шестерни, поршни, источники питания и т.д.)

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

Враги

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

Враги призваны усилить чувство роста персонажа. Они являются важной частью уравнения.

Завершаем последовательность тестирования способностей

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

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

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

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

Пример завершенной последовательности тестирования прогресса Kynan Pearson
Пример завершенной последовательности тестирования прогресса Kynan Pearson

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

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

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

  • Бег
  • Высокий прыжок
  • Огненный снаряд
  • Ядовитый костюм
  • Превращение в кошку
  • Ледяной удар
  • Ночное зрение
  • Обратная гравитация

Продолжение во второй части!

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

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

Макет основного цикла взаимодействия Kynan Pearson
Макет основного цикла взаимодействия Kynan Pearson

Перевод статьи:

100100
12 комментариев

Про то что это перевод можно было и в начале статьи рассказать и кратко об авторе.

15
Ответить

Взял на заметку

Ответить

О, читал эту статью на хабре, оч годная.
(там другой перевод, https://habr.com/ru/post/332588/)
Кстати, "Об авторе: Кинан Пирсон в качестве лида работал над такими играми, как Halo 4/5, Metroid Prime 2/3, Donkey Kong Country Returns." т.к одно дело просто статья про метроидвании, другое дело статья про метроидвании от человека работавшего с метройдом. 

8
Ответить

Комментарий недоступен

5
Ответить

Да нет, наоборот

5
Ответить