Microidvania DB#2 С чего начать метроидванию?
Как я писал ранее я начал с того что купил Game Kit для платформера и уже после этого решил делать из него метроидванию.
Метроидвания — это довольно сложный жанр для реализации из-за тесной связи между геймплеем, картой и прогрессией, поэтому дальше я пошел гуглить и изучать основные подходы для разработки метроидваний.
И вот такой среднестатистический план разработки я собрал:
Этап 0: Концепция и ограничения
Что определить:
- Ядро геймплея: что делает вашу игру уникальной?(Пример: «Прыжок с замедлением времени», «Смена персонажей в реальном времени»)
- Целевая платформа: PC, консоль, мобильные?
- Команда и сроки: соло или команда? Бюджет?
- Технический стек: Godot, Unity, GameMaker?
Этап 1: Прототип геймплея
Минимальный набор:
- Перемещение персонажа (ходьба, бег)
- Прыжок с двойным прыжком
- Одна боевая способность (атака/выстрел)
- Один тип врага с простым ИИ
- Смерть и возрождение
Технические требования:
- Плавная анимация и физика
- Отзывчивые управления
- Чёткая обратная связь (звуки, визуальные эффекты)
Важно: Настроить систему сохранений с самого начала — даже если она временная.
Этап 2: Дизайн карты и прогрессии
Ключевые компоненты:
- Карта мира в виде связанных комнат
- Система блокировок: двери, которые открываются только после получения способностей
- Первая способность прогрессии (например, двойной прыжок или рывок)
- Точки сохранения и телепортации
Правила хорошей метроидвании:
- Каждая новая способность открывает доступ к 20–30% новой территории
- Игрок должен возвращаться в старые зоны с новыми способностями
- Избегайте «линейных» коридоров — делайте петли и кольца
Этап 3: Система способностей и инвентаря
Что реализовать:
- Система отслеживания способностей
- UI для отображения полученных способностей
- Баланс: каждая способность должна быть полезной, но не ломать игру
- Опционально: система апгрейдов (увеличение урона, здоровья...)
Этап 4: Враги, боссы и баланс
Минимальный набор:
- 3–5 типов обычных врагов (разные паттерны поведения)
- 1 босс на каждую крупную зону (минимум 2 босса)
- Система урона и здоровья
- Эффекты при получении урона (отбрасывание, неуязвимость)
Баланс:
- Враги должны учить игрока механикам, а не просто мешать
- Боссы — проверка освоения способностей
- Сложность должна расти плавно
Этап 5: Арт, анимации и звук (параллельно с другими этапами)
Приоритеты:
- Персонаж — базовые анимации (idle, run, jump, attack)
- Враги — ключевые анимации
- Окружение — тайлы для каждой зоны
- Эффекты — удары, взрывы, получение способностей
- Звук — шаги, атаки, музыка
Этап 6: Тестирование и итерации (постоянно)
Обязательные проверки:
- Игрок не застревает в геометрии
- Все способности работают в комбинации
- Нет «невозможных» прыжков или головоломок
- Карта интуитивно понятна (или есть система подсказок)
Ключевой принцип - итерационный цикл
Метроидвании не делается линейно.
Каждая новая способность требует:
- Пересмотра существующих зон
- Добавления новых головоломок
- Балансировки врагов
С чего я начал?
Этап 0
- Так как арт уже готов по большей части я решил пропустить момент с уникальностью и тд.
- На текущем этапе это просто технический проект чтобы проверить - смогу я довести его до демо (а возможно и релиза) или нет.
- По платформам и движку я определился еще до старта проекта. Тут все предельно просто и предсказуемо: Godot + PC/Mac.
- Спрайты решил собирать уже хорошо мне знакомым инструментом Texture Packer. Использовал его для разработки игр под iOS совместно с движком Cocos2d. Был приятно удивлен что ребята сделали поддержку Godot.
Этап 1
- Реализовал базовую механику для платформера - перемещение, прыжок, двойной прыжок, прыжок койота, буфферизацию прыжков и т.д.
- Сделал пару врагов с разным поведением.
- Долго играл с настройкой персонажа и динамикой, но решил пока пойти дальше и дополировать этот момент когда подберусь поближе к реальным уровням. (Очень важно не менять эти настройки когда приступаете к левел дизайну - иначе может быть очень много переделок).
- Собрал несколько основных панелей которые планирую использовать для обучения, диалогов и интерфейса в игре.
Панель которая собирается по принципу Slice 9
Как работает панель Slice 9
На самом деле у меня все сильно сложнее и панель состоит из 3-х панелей :-)
Этап 2
- Пришло время заняться картой и уровнями!
- Это этап до которого я никогда не добирался в разработке платформеров. На джемах обычно было 2 (максимум 3-4) сцены которые переключались хардкодно при срабатывании какого-нибудь триггера.
- Здесь я сделал небольшую паузу в разработке и чтобы не переделывать слишком много снова пошел на Youtube. И как оказалось не зря...
Продолжение следует....