Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 3.11 KB

File metadata and controls

31 lines (21 loc) · 3.11 KB

Пример: Roguelite-арена (CoreAI _exampleGame)

Концепт сессии

  • Длительность забега: 10–25 минут.
  • Поражение: смерть / провал условия (ядро уничтожено, время вышло) → экран итогов → база/хаб.
  • Мета-прогрессия: разблокировки пассивок, оружия, персонажей (валюта забега + постоянная).
  • Соло: один игрок, один поток правил.
  • Кооп: та же арена; прогрессия в мете — настраиваемо (общая / личная / смешанная).

Почему это хорошо под шаблон CoreAI

  • Мало уникального арта: 1–3 пресета арен, примитивы врагов.
  • Аффиксы, волны, «недельные» модификаторы — данные + процедурная логика; позже — LLM под хостом.
  • Телеметрия для ИИ: волна, DPS, смерти, выбранные апгрейды, время сессии.

Код и роли ИИ (волны, анализ игрока, мультиплеер): см. ARENA_ARCHITECTURE_AND_AI.md.

Уроки из GameDev-Last-War (референс-архитектура)

Проект D:\Git\GameDev-Last-War — крупный продакшен: Clean Architecture, VContainer, MessagePipe, R3, UniTask, ECS (Entities) для тяжёлых визуальных частей, gRPC / MagicOnion, PlayFab, SQLite, логирование Serilog/ZLogger, тесты на NSubstitute.

Для лёгкого roguelite-примера в CoreAI не обязательно тянуть весь стек: достаточно повторить идею слоёв (Domain → UseCases → Presentation) и DI, а сеть/бэкенд добавить по необходимости.

Следующие шаги в репозитории CoreAI

  1. Подключить CoreAI: UPM com.nexoider.coreai (Assets/CoreAI в монорепозитории; внешний проект — Git URL ?path=Assets/CoreAI) — оркестрация ИИ, песочница Lua, события; при необходимости скопировать хост CoreAiUnity (тесты, промпты в Resources, сцена _mainCoreAI).
  2. Подключить VContainer + MessagePipe + R3 в пример (как в Last-War, но минимальный набор).
  3. Сцена RogueliteBootstrap с ExampleRogueliteEntry + позже LifetimeScope.
  4. Прототип петли: спавн волны → урон → лут-валюта забега → экран смерти → хаб с разблокировками (без сети).
  5. Кооп: выбрать стек (Netcode for GameObjects или другой) и вынести авторитет смены правил на хост.