tengri/Documentation/Roadmap.md

14 KiB
Raw Blame History

TengriPlatformer — Roadmap v2.0

Статус: Этапы 1-12 завершены
Фокус: Прототип уровня "Подвал" + полноценная система движения
Принцип: Сначала базовое движение, потом механики уровня, потом полировка


ЗАВЕРШЁННЫЕ ЭТАПЫ (1-12)

# Название Статус
1 Инициализация проекта
2 Debug HUD система
3 Toast уведомления
4 Камера система
5 Детекция устройства ввода
6 Enhanced Input настройка
7 Базовое движение по земле
8 Поворот персонажа
9 Sweep collision
10 Стены и углы (wall sliding, step-up)
11 Ground snapping и склоны
12 Fixed Timestep + Interpolation

🔴 ФАЗА 1: CORE MOVEMENT (Критический путь)

Без этого нельзя тестировать ничего другое


Этап 13: Система прыжков

Цель: Отзывчивое управление уровня лучших платформеров
Блокирует: ВСЕ механики уровня требуют прыжков

Реализация:

  • Variable jump height (короткое/длинное нажатие)
  • Air control с ограничениями и инерцией
  • Coyote time (прыжок после покидания платформы, ~100-150ms)
  • Jump buffering (ранние нажатия прыжка)
  • Landing detection и recovery

Критерии:

  • Точный контроль высоты прыжка
  • Forgiving timing (coyote + buffer)
  • Responsive но не overpowered air control
  • Плавные transitions ground ↔ air

Время: ~4-6 часов


Этап 14: Воздушная физика

Цель: Естественное поведение в воздухе
Нужно для: Качественный platforming feel

Реализация:

  • Gravity curve (быстрее падение чем подъём)
  • Terminal velocity
  • Air resistance (опционально)
  • Air-to-ground transition smoothing
  • Landing impact (приседание при жёстком приземлении)

Критерии:

  • Прыжок ощущается "сочно" (Mario-like arc)
  • Плавные приземления
  • Предсказуемая траектория

Время: ~3-4 часа


🟡 ФАЗА 2: LEVEL MECHANICS (Прототип "Подвал")

Минимум для прохождения уровня от начала до конца


Этап 15: Система подбора предметов

Демо: Подобрать камешек/кость, держать, положить
Нужно для: Бросок в свечу

Реализация:

  • Pickup radius detection
  • Inventory slot (1 предмет в руках)
  • Hold/drop mechanics
  • Visual attachment к персонажу
  • Item data asset (вес, throwable flag)

Критерии:

  • Подбор в радиусе ~100см
  • Предмет визуально в руке
  • Drop кладёт под ноги

Время: ~3-4 часа


Этап 16: Система бросков

Демо: Кинуть камешек в свечу → свеча качается
Нужно для: Активация раскачивания

Реализация:

  • Aim trajectory preview (параболическая линия)
  • Throw force (зажатие = сильнее)
  • Projectile physics
  • Impact detection → события
  • Throwable interface

Критерии:

  • Траектория предсказуема
  • Попадание триггерит события
  • Можно подобрать снова

Время: ~4-5 часов


Этап 17: Интерактивные объекты

Демо: Дёрнуть кольцо, открыть дверцу шкафа
Нужно для: Все механизмы уровня

Реализация:

  • IInteractable interface
  • Interaction prompt UI (E / кнопка геймпада)
  • State machine (open/closed, on/off)
  • Single-use vs reusable
  • Audio/visual feedback

Критерии:

  • Prompt появляется в радиусе
  • Состояния сохраняются
  • Работает keyboard + gamepad

Время: ~3-4 часа


Этап 18: Физика качания (Pendulum)

Демо: Свеча качается, клетка качается синхронно
Нужно для: Побег из клетки, тарзанка

Реализация:

  • Pendulum physics (угол, длина, затухание)
  • Player-induced swing (нажатия в такт)
  • Swing transfer (синхронизация объектов)
  • Impact trigger (свеча → верёвка)

Критерии:

  • Физика реалистична
  • Раскачка интуитивна
  • Объекты синхронизируются

Время: ~5-6 часов


Этап 19: Система огня

Демо: Свеча поджигает верёвку → верёвка сгорает
Нужно для: Падение клетки

Реализация:

  • Fire source component
  • Flammable component
  • Burn duration → destruction
  • Visual fire effect (Niagara)
  • Fire spread (опционально)

Критерии:

  • Поджог требует контакта
  • Горение → разрушение
  • Визуально убедительно

Время: ~4-5 часов


Этап 20: Система верёвки (Rope)

Демо: Накинуть верёвку на крюк, качнуться через котёл
Нужно для: Тарзанка

Реализация:

  • Rope throw targeting
  • Attach point detection
  • Rope physics (длина, натяжение)
  • Swing while attached (использует Pendulum)
  • Dismount с сохранением momentum

Критерии:

  • Верёвка цепляется за валидные точки
  • Качание как pendulum
  • Отпустить = сохранить скорость

Время: ~6-8 часов


Этап 21: Система временных бафов

Демо: Выпить зелье → прыжок выше на 10 сек
Нужно для: Прыгучее зелье

Реализация:

  • Buff data asset (тип, длительность, множитель)
  • Active buffs container
  • Buff UI (иконка + таймер)
  • Stat modification
  • Consumable integration

Критерии:

  • Визуальный эффект на персонаже
  • Таймер виден
  • Эффект заканчивается плавно

Время: ~4-5 часов


Этап 22: Головоломка с зеркалом

Демо: Шкаф невидим напрямую, виден в отражении
Нужно для: Шкаф с зельями

Реализация:

  • View frustum check
  • Mirror render target
  • Conditional visibility
  • "Blind interaction"
  • Shimmer effect (намёк)

Критерии:

  • Исчезает при прямом взгляде
  • Виден в зеркале
  • Можно взаимодействовать вслепую

Время: ~6-8 часов


Этап 23: Складные механизмы

Демо: Дёрнуть кольцо → лестница разворачивается
Нужно для: Лестница к люку

Реализация:

  • Deployable base class
  • Trigger mechanisms (кольцо, бросок)
  • Deployment animation
  • Safety check (не придавить игрока)

Критерии:

  • Активация от разных источников
  • Плавная анимация
  • Можно использовать после deployment

Время: ~4-5 часов


Этап 24: Взбирание (Climbing)

Демо: Залезть по лестнице к люку
Нужно для: Финальный выход

Реализация:

  • Climbable surface detection
  • Climb state machine
  • Climb movement (вверх/вниз)
  • Dismount (вверху, внизу, в сторону)

Критерии:

  • Автоцепляние к лестнице
  • Плавное движение
  • Выход наверху без рывков

Время: ~4-5 часов


🟢 ФАЗА 3: POLISH & ADVANCED MOVEMENT

После играбельного прототипа


Этап 25: Профессиональная камера

Цель: AAA-уровень камеры

Реализация:

  • Camera lag и damping
  • Look-ahead prediction
  • Dead zone для микродвижений
  • Collision avoidance (sphere trace)
  • Character highlight когда за препятствием

Критерии:

  • Нет рывков при старте/остановке
  • Камера не проваливается в стены
  • Плавные повороты

Время: ~5-6 часов


Этап 26: Wall interactions

Цель: Продвинутые взаимодействия со стенами

Реализация:

  • Wall jumping с momentum
  • Wall sliding с контролем скорости
  • Corner grabbing
  • Ledge detection

Критерии:

  • Responsive wall jump
  • Smooth transitions wall ↔ ground ↔ air

Время: ~6-8 часов


Этап 27: Специальные движения

Цель: Dash, ground pound, ledge grab

Реализация:

  • Dash/dodge с i-frames
  • Ground pound с area impact
  • Ledge grabbing и climbing
  • Slide/crouch

Критерии:

  • Каждое движение impactful
  • Smooth combinations

Время: ~6-8 часов


Этап 28: Продвинутые поверхности

Цель: Разнообразие типов поверхностей

Реализация:

  • Ice (скользкие)
  • Conveyor belts
  • Bouncy surfaces
  • Sticky surfaces

Критерии:

  • Каждый тип уникален
  • Плавные переходы между типами

Время: ~5-6 часов


Этап 29: Audio система

Цель: Звуковой feedback

Реализация:

  • Footstep sounds (по типу поверхности)
  • Jump/land sounds
  • Interaction sounds
  • Ambient audio

Время: ~4-5 часов


Этап 30: Debug и профилирование

Цель: Инструменты для тонкой настройки

Реализация:

  • Visual collision debugging
  • Runtime tweakable parameters
  • Performance metrics
  • Replay system для детерминированности

Время: ~4-5 часов


Этап 31: Edge cases и stress testing

Цель: Bullet-proof система

Реализация:

  • Extreme velocity testing
  • Complex geometry stress tests
  • Memory leak detection
  • NaN/infinity handling

Время: ~3-4 часа


Этап 32: UX Polish

Цель: Commercial game feel

Реализация:

  • Input buffering refinement
  • Haptic feedback (gamepad)
  • Visual effects (dust, particles)
  • Accessibility options

Время: ~4-5 часов


🔵 ФАЗА 4: CONTENT

После полировки движения


Этап 33: Level transition

Переход люк → кухня

Этап 34: Save/Checkpoint

Сохранение прогресса

Этап 35: Второй уровень

Кухня первого этажа


ЗАВИСИМОСТИ

ФАЗА 1 (Core Movement)
[13: Прыжки] ──► [14: Воздушная физика]
       │
       ▼
ФАЗА 2 (Level Mechanics)
       │
       ├──► [15: Подбор] ──► [16: Броски] ───┐
       │                                      │
       ├──► [17: Интерактивы] ───────────────┤
       │                                      │
       ├──► [18: Качание] ──► [19: Огонь] ───┼──► КЛЕТКА
       │         │                            │
       │         └──► [20: Верёвка] ──────────┼──► ТАРЗАНКА
       │                                      │
       ├──► [21: Бафы] ──┬──► [22: Зеркало] ──┼──► ШКАФ
       │                 │                    │
       └──► [23: Механизмы] ──► [24: Climbing]┴──► ЛЮКЙ

ОЦЕНКА ВРЕМЕНИ

Фаза Этапы Часы Результат
1: Core 13-14 ~7-10 Прыжки работают
2: Level 15-24 ~44-58 Уровень проходим
3: Polish 25-32 ~37-47 AAA feel
4: Content 33-35 ~10-15 Больше контента
Итого ~98-130

MVP (Фазы 1-2): ~51-68 часов = 13-17 дней (при 4ч/день)
Polished (+ Фаза 3): ~88-115 часов = 22-29 дней


КРИТИЧЕСКИЙ ПУТЬ ДО MVP

13 → 14 → 15 → 16 → 17 → 18 → 19 → 20 → 21 → 22 → 23 → 24
 ▲
 │
START HERE

Каждый этап даёт демонстрируемый результат.


ПРИМЕЧАНИЯ

  1. Debug HUD — используем UE инструменты (Gameplay Debugger, etc.)
  2. Тесты — отложены до Фазы 3
  3. C++ — продолжаем использовать для производительности
  4. Итерации — после каждого этапа можно показать прогресс