Статус: 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-festival4–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-ready2 нед + буфер

Сумма усилий: ~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.