Статус: Draft
План реализации (execution roadmap): фазы, что/зачем/когда, оценки усилий, риски, приоритеты. Единый план разработки проекта (отдельного GDD-роадмапа больше нет — он консолидирован сюда). Опирается на архитектуру 5 / 6 / 7 / 8.
Контекст и цель
- Соло (код); арт — аутсорс, музыка — Suno, возможно UX-дизайнер.
- Дедлайн: «Играм быть», октябрь 2026 (≈20 календарных недель от конца мая).
- Ко-оп обязателен на фестивальном срезе.
- Архитектура уже спроектирована → меньше переделок.
Цель фестиваля (рекомендация): компактный ко-оп-срез
Не полный сбалансированный акт, а короткий забег (≈3–4 боя + мини-босс): подготовка, реликвии, умный AI на пресетах, ко-оп 2–4 игрока, хорошее ощущение боя. Полный акт, объём контента, баланс → post-festival.
Обоснование: фестивальная сессия за стендом ≈10–20 мин. Компактный «вкусный» ко-оп-срез демонстрирует кор-фантазию лучше растянутого недополированного акта и влезает в октябрь вместе с сетью.
Фазы (основной код-спайн)
| Фаза | Что | Зачем | Усилия |
|---|---|---|---|
| 0. Фундамент | Удалить тестовые заглушки; asmdef-скелет (Core/Units/Combat/Guild/Game/MiniGames); пакеты; composition root + persistent Core-сцена; IRngService + тест; зелёный CI | Всё стоит на этом | 1–2 нед |
| 1. Боевое ядро (+ нетворк-спайк) | Tick-loop 30 Гц; RuntimeUnit + Stats; урон (чистые функции); непрерывное движение + spatial hash; авто-атаки/снаряды (swept)/ближний; Command-слой; win/lose; headless test-harness + тесты детерминизма. Спайк: MPPM (2 инстанса) + Facepunch init + host-authoritative поток команд через сим | Сердце игры + ранняя проверка самого страшного (real-time ко-оп бой) | 3–4 нед |
| 2. Эффекты + способности | EffectData + библиотека IEffectComponent; ScalableValue; эффективности; стаки; диспел; активки/пассивки, кулдаун/ресурс; тесты | Глубина: реликвии, контроль, триггеры | 2–3 нед |
| 3. AI-движок (+ играбельные реликвии) | Filter/Score/Override/Positioning/Action; 10 Гц + stagger + событийные прерывания; профиль = данные → компиляция; 2–3 пресета на архетип; test-arena (lite). + Все 7 Обычных реликвий играбельны в бою: затащены движковые расширения (6. Боевая модель §10) — заряды, атака-в-движении, хил-автоатака, линия/конус, смещения — + авторинг 7 SO-ассетов + кадровый UnitView (sprite sheet) | Двигатель главного отличия + ранний играбельный срез реликвий. Редактор AI — post-festival | 4–5 нед |
| 4. Контент-каркас (compact) | Odin-авторинг Vessel/Relic/Perk/Effect/Item; StatsConfig; полный StatType; реестр ID; schemaVersion + валидация; добор набора под срез (3–4 архетипа, ~10 эффектов, 1 ГМ). 7 стартовых реликвий уже сделаны в Ф3 | Пища для боя/AI + пайплайн контента | 1.5–2 нед |
| 5. Флоу забега (compact) | GameFlow (async, host-authoritative); генерация короткой карты из сида; IEventFlow (Бой+prep+ретраи, Магазин, +1); RunState + автосейв (ES3); экран наград | Игровой цикл: карта→бой→награда | 2.5–3 нед |
| 6. Сеть / ко-оп (полная) | NGO + Facepunch transport; лобби/сессия; репликация RunState; ready-gates макро-флоу; синк потока команд в бой; NGO scene sync; реконнект + автопауза + отсчёт; тест в MPPM | Ко-оп как фестивальный деливерабл | 3–4 нед |
| 7. UI + презентация | UI Toolkit + MVVM (prep/HUD/карта/награды/магазин); world-space бары + damage numbers (LitMotion); VFX/фидбэк/пауза; «карта в бою» оверлеем; дизайн-система; IAudioService + Unity Audio (Suno) + SFX | Играбельность/читаемость для посетителей | 3–4 нед |
| 8. Сборка среза + баланс | Компактный забег до мини-босса; 1 сложность; наполнение под срез; онбординг (минимум); мини-игры (упрощённо/скип); ко-оп плейтест + баланс | Фестивальный деливерабл | 2.5–3 нед |
| 9. Полировка + стабилизация | Визуал/звук, перф, критбаги; Steam-билд из тега; тег v0.1.0-festival; буфер | Festival-ready | 2 нед + буфер |
Сумма усилий: ~25–30 недель против ~20 календарных (Фаза 3 расширена под играбельные реликвии: +~2 нед, часть контента перенесена из Ф4). → Срок реален только при сфокусированной работе и компактном скоупе; ко-оп — причина, по которой всё остальное урезано.
Параллельные треки (не код)
- 🎨 Арт (аутсорс): большой lead-time → брифы/заказ начинать в Фазах 1–2, интеграция в 7–8. Не оставлять на конец.
- 🎵 Звук (Suno, платный тир): параллельно, втыкается за
IAudioServiceв Фазе 7. - 📈 Steam-страница/вишлисты: капсула/трейлер/«coming soon» — чем раньше, тем больше вишлистов. Параллельно. (AppID — см. steam-appid.)
- ✍️ Контент-дизайн: баланс/тексты реликвий — постоянно с Фазы 4.
Приоритеты при нехватке времени
Режем (по приоритету): AI-редактор (только пресеты) → Workshop → объём контента → типы ивентов (Бой+Магазин+1) → мини-игры (упрощённо) → глубина баланса/онбординга.
НЕ режем: детерминизм · чистое боевое ядро · читаемость боя · ощущение (feel) кор-петли · работающий ко-оп.
Принципы темпа
- Тонкий вертикальный срез как можно раньше: после Фаз 0–1 — бьющиеся юниты в editor-harness; после 0–5 — «тонкая, но полная» петля.
- Тесты детерминизма с Фазы 1 — страховка под реплеи/сравнение профилей/MP.
- Нетворк-риск снят рано (спайк в Фазе 1), полная сеть — на готовом фундаменте.
- MPPM для ко-оп-теста с Фазы 1.
Факт на 2026-05-30 (конец Фазы 2): визуальный editor-harness «после Фаз 0–1» по факту ещё не собран — боёвка Фаз 1–2 целиком headless и верифицируется только Test Runner’ом (сцены пусты, контент-ассетов нет). Сборку минимального харнесса (камера +
CombatLifetimeScope+ презентер + Quantum Console-команды) сознательно консолидируем сtest-arena (lite)Фазы 3 — там впервые появляется эмерджентное поведение AI, которое надо отлаживать глазами. Раньше глаз не даёт ничего сверх тестов. Презентация-полиш — Фаза 7.
Открытые решения
- Подтвердить переформулировку цели: компактный срез vs полный первый акт (рекомендация — компактный).
- Реальная недельная загрузка → уточнить календарь (план исходит из сфокусированной работы под октябрь).
- Точные размеры наборов контента под срез — уточнить в Фазе 4.