# 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. **Итерации** — после каждого этапа можно показать прогресс