Danro-Jump/ROADMAP.md
Danil Iarosh 77186697f8 Prepare v0.1 gameplay and hardware foundation
Подробные изменения:

- Расширен основной gameplay loop: джетпак, новые платформы, оборудование, враги, прогрессия сложности и ограничения взаимодействий игрока.

- Добавлены Bootstrap-сервисы запуска приложения, защита, фокус окна, управление курсором и настройки сервисов через DI.

- Добавлена COM-интеграция с технической схемой Input System, обработкой кнопок/ADC, подсветкой и консольной диагностикой.

- Добавлен отдельный debug/logging модуль с каналами, обработчиками консоли и файловым выводом.

- Добавлены asmdef, link.xml, EditMode/PlayMode тесты и обновлена дорожная карта проекта.

Проверки:

- dotnet build .\\DanroJump.Runtime.csproj --no-restore

- dotnet build .\\DanroJump.Tests.EditMode.csproj --no-restore

- dotnet build .\\DanroJump.Tests.PlayMode.csproj --no-restore
2026-06-08 14:22:48 +03:00

11 KiB
Raw Permalink Blame History

Roadmap

Документ описывает актуальную дорожную карту Danro Jump по состоянию на 2026-06-08.
Статусы:

  • ✅ реализовано и уже есть в проекте
  • 🟡 частично реализовано или требует проверки на целевом автомате
  • ⚪ запланировано

Что уже есть в игре

В текущей рабочей версии уже собран не только прототип, а довольно широкий вертикальный платформерный контур:

  • ✅ 🎬 сцены Bootstrap, MainMenu, Game и служебный startup-контур через Bootstrap-сцену
  • ✅ 🛡️ startup protection через внешний launcher, управление фокусом окна и видимостью курсора
  • ✅ 📱 главное меню на UI Toolkit с правилами, настройками, фокусом клавиатуры/геймпада и переходом в игру
  • ✅ 🕹️ gameplay loop вертикального платформера: игрок, камера, прыжки, смерть, respawn, game over и возврат в меню
  • ✅ 📊 gameplay-сессия: очки, монеты, жизни, смерти, текущая высота и сохранение рекорда высоты
  • ✅ 🖥️ игровой HUD для счёта, высоты, рекорда, жизней, монет, смертей и состояния сессии
  • ✅ 🧩 сцены и gameplay связаны через Extenject, ProjectContext, SceneFlowService и scene installers
  • ✅ 📈 ScriptableObject-прогрессия сложности по этапам от Initial до Impossible
  • ✅ 🎲 weighted-спавн платформ, оборудования, коллектаблов и противников
  • ✅ 🧱 платформы: обычные, пустые, движущиеся, хрупкие и движущиеся хрупкие
  • ✅ 🚪 кастомный one-way collider для платформ
  • ✅ 🛠️ оборудование платформ: JumpPad, Spring, SpeedBoost, Hazard, Jetpack
  • ✅ 🚀 джетпак с подъёмом игрока, блокировкой взаимодействия с окружением, прикреплением, отсоединением, физическим падением и VFX
  • ✅ 💎 коллектаблы: очки/кристаллы, монеты и bounce-boost
  • ✅ 👾 противники: базовая модель врага, патрульный враг, bat-prefab и procedural enemy spawner
  • ✅ 🔌 COM-система: serial-транспорт, авторизация, роли устройств, кредиты, входные биты, ADC-значения, статусы призовых ячеек и команды открытия
  • ✅ 🎮 кастомное устройство Input System для COM-контроллера: 24 технические кнопки и 2 ADC-оси
  • ✅ 💡 аппаратная подсветка выделена в отдельную систему: board effects, hat blink, prize showcase idle/highlight
  • ✅ ⚙️ сервисные настройки через ServiceSettingsDatabase, Addressables/fallback, JSON-сохранение, scene injection и UI-настройки
  • ✅ 📝 debug-модуль: каналы логирования, вывод в Unity Console, расширяемые handlers и файловый handler
  • ✅ 🧪 тестовая база: EditMode-тесты для COM input, настроек, scene flow, progression, startup protection и PlayMode-тесты игрока
  • ✅ 📦 runtime/editor/test asmdef, link.xml для COM reflection и подготовка к IL2CPP/production-сборке

Этап 1. Стабилизация основного gameplay loop

  • ✅ 🧱 Настроить коллизии игрока, платформ, оборудования, коллектаблов и противников без базовых спорных edge-case ситуаций
  • ✅ 💀 Зафиксировать правила смерти, respawn, блокировки respawn при game over и возврата в меню
  • ✅ 📊 Добавить счёт, монеты, высоту, рекорд, жизни, смерти и состояния игровой сессии
  • ✅ 🖥️ Подключить UI Toolkit HUD к runtime-сессии
  • ✅ 🚀 Стабилизировать джетпак: подбор, замена, отсоединение, падение и удаление после выхода за камеру
  • ✅ 🧪 Добавить EditMode/PlayMode-проверки для ключевых gameplay-ситуаций
  • 🟡 🧯 Провести длительные ручные прогоны gameplay loop с реальной скоростью, большим числом платформ и несколькими подряд джетпаками

Этап 2. Развитие контента платформера

  • ✅ 🧱 Подготовить несколько типов платформ с разным поведением
  • ✅ 🛠️ Расширить набор оборудования платформ: ускорители, ловушки, бонусы и временные эффекты
  • ✅ 👾 Реализовать первых рабочих противников с поведением, столкновениями и реакциями игрока
  • ✅ 💎 Реализовать базовые подбираемые предметы: очки/кристаллы, монеты и bounce-boost
  • ✅ 📈 Настроить этапы прогрессии как балансируемые наборы контента
  • 🟡 ✨ Добавить и отполировать визуальные и звуковые реакции на прыжки, подбор предметов, урон, смерть, бонусы и работу оборудования
  • ⚪ 🎨 Расширить набор игровых тем, анимаций, VFX и SFX для ощущения готового продукта

Этап 3. Экономика, призы и правила сессии

  • 🟡 🎟️ Модель игровой сессии частично готова: есть жизни, стоимость/continue-настройки и кредиты COM, но нет полного платежного сценария автомата
  • 🟡 🏆 Условия выдачи призов пока представлены настройками и аппаратным шлюзом, но не связаны с финальной игровой прогрессией
  • 🟡 🎁 Аппаратная модель призовой витрины частично готова: статусы ячеек, ready boxes, open/force open и события открытия
  • ⚪ 📲 Реализовать базовый контур выдачи призов через QR-коды
  • ⚪ 💾 Добавить сохранение локальной статистики, истории сессий, результатов выдачи призов и спорных ситуаций
  • 🟡 🛡️ Startup protection реализован, но защита от повторной выдачи призов и некорректного завершения призовой сессии ещё требует отдельной логики

Этап 4. Сервисный режим и настройки персонала

  • 🟡 🧰 Сервисные настройки уже доступны через меню/модальные окна, но отдельный полноценный сервисный экран или сервисная сцена ещё не выделены
  • ✅ ⚙️ Добавить настройку стоимости игры, сложности, призовых параметров, жизней, continue и служебных параметров
  • 🟡 🔌 Диагностика COM частично есть через debug-каналы, авторизацию, роли, raw/input/ADC-логи; нужен отдельный UI-экран диагностики
  • 🟡 🧪 Добавить ручные тесты выдачи призов, подсветки, витрины, hopper/coin-сценариев и QR-сценариев
  • ✅ 💾 Реализовать сохранение и загрузку сервисных настроек без пересборки проекта
  • 🟡 🔐 Startup protection есть, но роли/пароль/ограничение доступа к служебным настройкам ещё не выделены как отдельный сервисный контур

Этап 5. Аппаратная интеграция и эксплуатационная готовность

  • 🟡 🔌 COM-система интегрирована с реальным протоколом на уровне транспорта, ролей, входов, ADC, кредитов, витрины и подсветки; нужна проверка полного сценария на целевом автомате
  • 🟡 🧯 Обработка ошибок связи, таймаутов и reconnect частично реализована, но graceful shutdown фоновых COM-задач и длительные стресс-прогоны ещё нужны
  • 🟡 🔗 Игровые события частично связаны с аппаратным контуром через кредиты, ввод, витрину и подсветку; призовая экономика ещё не завершена
  • ✅ 📝 Подготовлено централизованное debug-логирование с каналами, Unity Console и файловым handler
  • ✅ 📦 Проект подготовлен к production/IL2CPP-направлению: asmdef, Bootstrap-сцена, startup protection, link.xml для COM reflection
  • ⚪ 🏁 Провести длительные прогоны на целевом устройстве: утечки, перегрев, стабильность COM, восстановление после отключения устройств и поведение после аварийного закрытия

Ближайший фокус

  1. Завершить аппаратно-призовой сценарий: стоимость игры, списание кредитов, выдача малого/большого приза, журнал выдач.
  2. Сделать отдельный сервисный экран диагностики: COM-порты, роли устройств, input/ADC, hopper, подсветка, ячейки витрины.
  3. Довести визуал и звук gameplay: реакции на подборы, урон, смерть, бонусы, джетпак и противников.
  4. Расширить PlayMode-тесты: сцены Bootstrap -> MainMenu -> Game, настройки, COM input bridge, джетпак и game over.
  5. Провести длительные ручные и аппаратные прогоны на целевом автомате.