Платформы в играх-платформерах и их анализ и систематизация.
В этой статье я расскажу о своей попытке систематизировать типы платформ в играх-платформерах. Эта работа родилась как побочный продукт при создании демки, демонстрирующей механики платформинга. Возможно, мои наблюдения окажутся полезными или вдохновляющими — буду рад вашим мыслям и критике.
Сама демка доступна для ознакомления здесь, если кому интересно:
Вступление.
Для начала хочу пояснить откуда всё это пошло. После выпуска своей первой микроигры я стал задумываться над следующей.
🎮 Играть в The Trader: Death and You онлайн или скачать - вот ссылка на эту первую микроигру.
📝 История создания микроигры «Торговец: Смерть и Ты» на DTF - Это краткая история как я её делал, если вдруг кого заинтересует.
У меня уже был внушительный список вещей, которые я реализовал недостаточно хорошо и начать я решил с их переделывания. Одной из таких вещей были ключевые механики платформинга и перемещения. Я не хочу останавливаться на том что и как переделывал, здесь не об этом. Добившись толковой управляемости я решил сделать некое подобие демо-уровня, где можно побегать-попрыгать по разного рода платформам с препятствиями. Демо уровень разросся в конечном итоге до почти полноценной игры на полчаса-час. Побочным продуктом всего этого стало изучение видов платформ. Я хотел сделать свою демку как можно более разнообразной за их счёт, поэтому всерьёз занялся изучением какие платформы бывают и как мне всё это приладить к моей игре. Чтобы не валить всё, что я узнал в кучу, я решил сделать некую систематизацию типов платформ, куда можно было бы вписать все, что я знаю и добавлять новые.
Вот с этой систематизацией я решил вас познакомить. Может кому-то из разработчиков это покажется интересным и полезным.
И пару слов об этой демо версии, раз уж она по сути являлась изначальной целью.
Саму демку я сначала задумывал как большой уровень с кучей разностей, но в такое было не слишком интересно играть, и я решил сделать несколько уровней, добавить механику собирательства, провоцируя игрока на сбор монеток и исследование и разбавил процесс всякими умными рассуждениями на тему геймдизайна с примерами на уровне (моей паре тестеров этот ход даже понравился).Получилась небольшая забавная игра отсилы на час. Если кому интересно, на сборку этой игры ушло 2 недели (после подготовки и реализации всех механик)
Но вернёмся к платформам и их систематизации.
Мотивация
Имея некую систематизацию — легко генерить на её основе новые идеи и механики.
И вообще полезно иметь нечто такое под рукой, как базу идей.
Просто закралась интересная мысль, и я решил расписать её и попробовать применить.
Основная идея систематизации.
Идея в том, чтобы для начала "разобрать" все типы платформ, которые есть на памяти, на определённые составные части.
Что это за составные части?
Они получаются путём ответа на несколько вопросов касаемо конкретной интересующей платформы, которые "полностью" её описывают. Каждый ответ ложится в свою кучку, а потом, для получения новой уникальной платформы, которой не было, мы комбинируем эти ответы из разных кучек.
Как в детской игрушке-пазле, где можно разбирать животных на части — голова, тело, хвост, а потом смешивать и склеивать вместе эти части вместе, делая чудных созданий с хвостом павлина, телом жирафа и головой лисы.
Итак, какие это вопросы, позволяющие описать платформу. Для начала я поясню про каждую составную подробно, а потом сделаю короткий список.
Говоря о платформе в первую очередь стоит ответить на вопрос про то, как она появилась на сцене. Это первая составная.
Далее, у каждой платформы можно обозначить набор параметров, или присущих свойств. Например поворот, прозрачность, скользкость, способность двигать персонажа (как на ленте транспортёра).
Наличие свойства говорит, что мы можем изменять платформу соответствующим образом (включать и отключать скользкость, изменять положение в пространстве)
Видно, что процесс изменения может быть скачкообразным для свойств с двумя состояниями или же продолжительным по времени, что тоже стоит упомянуть при описании.
Итак, вторая составная — это вопрос о свойстве/ах платформы. Их нужно выделять и описывать по отдельности, если их несколько. Описать как они выделяют платформу и как меняются.
Хорошо ещё при изучении этого свойства, параметра рассмотреть пределы изменяемости и к чему это изменение может привести (например к новому виду платформ, у которого есть название, например изменение скользкости может оканчиваться абсолютно не скользкой платформой)
Такой список можно сделать на основе примеров из игр, коих набралось множество с 1981 года.
Третья составная — это причина изменения вышеупомянутого свойства. Например наскок на платформу или дождь и т.п. причины. Нужен список таких причин. (Это всё, конечно, если платформа подразумевает какое-то изменение в свойствах).
Причины удобно представить в категориях (связанные с персонажем, окружением, чтобы потом можно было легко дополнять списки).
Напоследок стоит сказать, что
За каждым изменением платформы может стоять цель или следствие, вроде открытия прохода или набора очков. Хорошо бы составить список подобных целей. Это можно назвать четвёртой составной.
У каждой рабочей платформы есть визуальная составляющая, хорошо в примерах указывать возможную визуализацию логики, и пример из игры.
Итак, завидев новую интересную платформу в игре разбиваем её на составляющие, чтобы дополнить, если нужно, соответствующие списки.
- Как она появилась
- Какие у неё уникальные параметры и как они меняются
- Что тому причина (появления или изменения)
- Цели и последствия изменения
- Визуал
Теперь можно комбинировать элементы разных списков, получая новые типы платформ и механики. Такой вот творческий процесс.
Я приведу списки, которые мне удалось составить для платформ. Я делал их анализируя (буквально это слово переводится с латыни как раскладывания на простые составные) разного рода платформы. Сначала брал, какие помнил сам, а потом просил помощи у ИИ, справшивая какие типы платформ попадались в играх за последний лет 40...
Как платформа появилась на уровне
- Появляться вместе с уровнем
- Простое поялвение в заранее определённом месте (например при выполнении квеста), это можно назвать активацией.
- Перерождение предметов, врагов (после выстрела заморозкой по врагу он превратится в платформу например, или выстрел в сталагмит — он упадёт в лаву и тоже создаст платформу)
- Создаваться в указанном месте, заранее не определённом. Например кинул копьё в стену - появилась платформа.
- Модификация одного типа платформы или элемента уровня в другой. Была платформа висящая на верёвке — пережгли верёвку и она упала на воду — стала плавающей.
Свойства платформы, имеющиеся и изменяемые.
Платформы без стоящих упоминания свойств наверное не существует. Даже у абстрактной платформы есть элементарные свойства, например положение, размер и угол поворота, которые можно менять.
Начнём с элементарных свойств, которые есть у каждой платформы.
- Существование платформы
Это можно считать свойством, которое можно изменять, т.е убирать и восстанавливать платформу в зависимости от обстоятельств. Убирать платформу можно разом полностью или по частям. Визуально убирание по частям - это сворачивание платформы-лианы в тропическом лесу например.
- Вертикальная проходимость в одну сторону.
Если есть проходимость снизу вверх — то платформа становится полкой, на которую можно запрыгнуть снизу и оставаться на ней. И спрыгнуть вниз (нажав вниз+прыжок)
- Угол наклона
Он может просто наличетсвовать и мы получим разного рода лестницы и склоны.
Если он будет изменяться со временем — это вращающаяся платформа и здесь можно говорить о скорости вращения, углах поворота, оси вращения. Осей вращения может быть несколько, например когда центр платформы вращается вокруг указанной точки (раскачивающаяся на верёвке платформа например) и одновременно вокруг своего же центра. Положение в пространстве
Его можно менять скачками - телепортация платформы, а можно и непрерывно (это простое перемещение).
В обоих случая можно говорить о скорости перемещения.
Платформа может двигаться по некому плоскому полю без траектории. Например когда возишь ящик по площадке с видом сверху.
Ещё можно ограничить свободу перемещения (возишь ящик по полу с видом сбоку)
Или ограничить ещё больше, оставив одну степень свободы - назначив траекторию перемещения платформе. Траектории могут быть ломаными, плавными.
Сам характер перемещения от точки к точке по траектории может быть Последовательным из конца в конец и всё, Цикличным, Ping-Pong (от края до края), Хаотичным, Управляемым. Когда я реализовывал платформы с перемещинем вдоль траектории - пришлось реализовать все эти виды)
- Форма
Платформы бывают вообще разной формы, взять хоть вращающиеся шестерни в марио в башне шестерён (New Super Mario Bros. U). Изменять форму можно несколькими способами.- Масштабирование вдоль оси или вдоль нескольких осей
- Изменение формы под определённый шаблон (например извивающаяся верёвка в Mickey Mania)
- Появление дырок в платформе динамическое может даже тоже можно отнести к изменению формы
Теперь можно продолжить к специфичным свойствам платформ, которые могут быть или отсутствовать, включаться или отключаться.
- Желеобразные платформы — это например облачка в Dizzy, где персонаж как бы тонет в платформе. Желеобразность тоже можно отключать, выталкивая или проталкивая персонажа через платформу.
- Пружинящие платформы (здесь нужно определиться когда будет срабатывать пружина - от касания или наскока)
- Скользкие платформы
- Ускоряющие платформы (транспортёры)
- Липкие платформы (полностью останавливают или замедляют)
- Плавающие на воде (не тонущие при падении в воду)
- Полностью блокирующие управление (лианы, между которыми можно прыгать например, или крюки, за которые можно цепляться и прыгать между ними)
- Платформы — телепорты
- Гравитационные платформы (вращаются и персонаж прилипает к ним (пока зажата кнопка например)
- Платформы, меняющие визуал (временная невидимость может стать частью игрового процесса)
- Платформы, к которым можно цепляться снизу (натянутые верёвки)
- Создающие клоны персонажа при касании
- Платформы, изменяющие цвет (например механика когда платформа и персонаж должны быть одного цвета и на этом завязан геймплей)
- Физически раскачиваемые. (Как в Mickey Mania (последний уровень) или Sonic 3 (Cazino))
- Опасные поверхности
Наносят урон персонажу. Наносящая урон поверхность может изначально существовать на платформе или появляться на ней разом или постепенно (например загорающаяся земля). Платформы могут быть опасными с одной стороны и переворачиваться. - Платформы, создающие иллюзии. Например комию персонажа, чтобы стало непонятно кем управляешь.
- Платформаа, убегающая от персонажа. Меняет пложение при попытке запрыгнуть например.
- Перерождающиеся (меняют свойства, между горизонтальным и вертикальным движением например)
- Платформа, зацепляющая камеру. (Перемещение камеры вместе с ней)
Причины изменений
Здесь удобно расположить все причины по категориям.
Причины связанные с персонажем и его непосредственным воздействием, которые изменяют свойства платформы
- Долгое стояние на платформе (после чего она может разрушиться например)
- Прыжки на платформе (платформа может реагировать на касание, исчезновение контакта, считать количество прыжков (была видимой и стала не видимой после приземления на неё - так к слову, показалось интересной механикой).
- Наличие определённого Персонажа — (платформа есть для одного — нет для другого например)
- Движение персонажа по платформе (если бежать вместо прыжков) — станет невидимой например
- Способность персонажа (удар, усиленный прыжок и т. п.)
- Нажатие игровых кнопок (вызов лифта, запуск механизма и т.п.)
- Управляющие рычаги с непрерывным сигналом (не кнопки, которые подают единичный сигнал, а удержание для непрерывного сигнала, для вращение чего-то например)
- Толкание персонажем ( и платфора движется горизонтально, как тачка)
- Комбинация нескольких действий (несколько приседаний и прыжков — так активируем платформу)
- Получение урона на платформе — и она исчезнет например.
- Нажатие на кнопки управления (на контроллере), находясь на платформе.
- Сбор всех предметов (как в марио — собрал монетки — платформы исчезли)
- Состояние персонажа (разные они бывают, количество очков или здоровья к примеру)
- Если долго не касаться после активации — деактивируется
- Приближение персонажа или удаление из некой зоны вокруг.(наприме появляются когда герой поблизости)
- Воздействие на врага может появить платформу (уничтожил врага - платформа исчезла)
- Выстрелы
- Цвет персонажа
- Активация электрическим оружием
- Выполнение задания, решение загадки, победа над боссом
- Раскачивание (Mickey Mania светильники на последнем уровне)
- Наличие определённого предмета у персонажа
- Стояние на одной части платформы (платформа может наклонятся по этой причине вокруг оси, или же начинать движение в соответствующую сторону по рельсам)
Причины, связанные с воздействием общих сил на сцене могут менять свойства платформы.
- Таймер
- Связанность платформ (одна поднимается — другая опускается, как чаши весов. Можно и сложнее с несколькими платформами)
- Падение тени и света (свет притягивает платформы например)
- Звук (Например отвердевание предметов от звука и поялвение там платформ)
- Вода — польёшь на лаву — будет платформа к примеру
- Изменение в такт музыке
- Погода. Гром, молния и т.п.
- Наличие врагов поблизости
- Ветер
- Температура (ледяные платформы тают например)
- Смена мира
- Гравитация (магнетизм)
- Время суток
- Дождь
- Магия
- Движение от огня и тепловых потоков
- Фаза луны
- Воздействие определённого оружия (взрыв)
- Разрушение (вроде землетрясения) может создать платформы
- Магические области (в которых они становятся невидимыми например)
- Попадание на платформы определённых объектов (бочки и т. п.)
- Падение на платформу объекта с определённой скоростью
- Работа механизмов (может быть сложных, создающих одни и убирающих другие)
- Спец инструменты, механизм на уровне. (Лифт)
- Враги (попадает ядро — платформа исчезает например)
- Нахождение на платформе может вызывать работу механизма и перемещение той же платформы (Ioshi's Island)
Следствия и цели
- Перенос на бонус уровень
- Блокирование управления (попал на платформу — лиану)
- Платформа позволяет добраться до новых мест - это основное.
- Открытие прохода (отодвинул ящик - открылся ход)
- Поворот вертикальный ворот позволит запрыгнуть на них и идти дальше
- Возможность преодолеть корридор препятствий, находясь на движущейся платформе.
Визуальные эффекты самих (после воздействия)
Мне показалось такой список тоже полезен. Ведь списка с возможным визуалом платформ не составить, слишком длинно.
- Дрожание
- Прозрачность
- Зеркальность
- Окантовка (вместе с прозрачностью)
- Падение (на самом деле исчезновение)
- Свёртывание лианы и другие уникальные для стиля визуальные эффекты
- Цвет
- Мигание
Итак, я использовал эту систематизацию для придумывания разного рода платформ для своей демки, в качестве тренировки. Было очень удобно, так как я составил таблицу с колонкой под каждый компонент, выписал все компоненты, которые я хотел сделать и начал их реализацию, было сразу понятно что и сколько нужно запрограммировать в плане механики. А уже потом, всё реализовав, стал придумывать сами уровни и скрещивать компоненты.
Пара примеров использования.
Возьмём первые попавшиеся элементы групп - базовое свойство - существование платформы, изменяется по таймеру, цель - открытие нового места. А визуал - начинает дрожать перед исчезновением. Получаем типичную платформу, или цепочку платформ, по которым нужно пропрыгать, чтобы добраться куда-то и которые имеют свойство исчезать по таймеру. Это могут быть разворачивающиеся лианы в тропическом лесу или парящие и падающие кирпичи.
Ещё пример - нужен тип платформ для спокойной игры. Пусть они появляются в опредённом месте после какого-либо действия. И перемещаются вверх, чтобы поднять персонажа на уступ. Если игровой процесс подразумевается спокойным - их можно сделать несколько. Визуально на ум приходит машина, делающая облака, на которые можно забираться и лететь вверх.
Вот так совмещая разные компоненты из списков можно придумывать новые типы платформ для своих целей.
Такая вышла классификация и творческий процесс.
Буду рад вашим мыслям на тему и конструктивной критике. (Может кто уже читал что-то подобное где-то)
И ещё раз продублирую ссылку на миниигру, которая стала и предпосылкой и результатом работы над систематизацией, буду рад вашему мнению на её счёт, если решите ознакомиться.
Мои другие проекты на Itch.io:
🎮 vyacheslavtarasov.itch.io
🎮 The Trader: Death and You — страница на VK Play
если вдруг кого-то заинетересует мое творчество.
💬 Вместо заключения
Я планирую периодически выкладывать и другие статьи по гейм-дизайну, так что подписывайтесь чтоб не потеряться, и можете заглянуть в профиль, там есть ещё несколько любопытных вещей на тему геймдизайна и разработки.
Ну а если статья совсем зашла - можете поддержать донатом или купить "Trader Death And You" на vkplay, чтобы я видел, что тема заходит. Это сильно мотивирует к новым публикациям.