14 KiB
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
Каждый этап даёт демонстрируемый результат.
ПРИМЕЧАНИЯ
- Debug HUD — используем UE инструменты (Gameplay Debugger, etc.)
- Тесты — отложены до Фазы 3
- C++ — продолжаем использовать для производительности
- Итерации — после каждого этапа можно показать прогресс