Vampire-Act-Mono/design/gdd/systems-index.md

162 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Systems Index: 夜裔 (Nightborn)
> **Status**: Draft
> **Created**: 2026-04-27
> **Last Updated**: 2026-04-27
> **Source Concept**: design/gdd/game-concept.md
> **Architecture Note**: L0 = Pure C# (no Unity), L1 = Unity Adapter, L2 = Unity Presentation
---
## Overview
夜裔需要17个系统分布在三层架构中L0纯C#核心逻辑10个系统零Unity依赖可直接NUnit测试、L1 Unity适配层5个系统薄MonoBehaviour封装、L2 Unity表现层2个系统。Combat Logic和Form Switch State Machine是瓶颈系统——它们的设计质量直接决定核心循环是否成立。所有系统设计遵循操作优于数值、形态即战术的核心支柱。
---
## Systems Enumeration
| # | System Name | Layer | Category | Priority | Status | Design Doc | Depends On |
|---|-------------|-------|----------|----------|--------|------------|------------|
| 1 | Blood Energy Economy | L0 | Combat Logic | MVP | Approved | [GDD](blood-energy-economy.md) | — |
| 2 | Combat Logic | L0 | Combat Logic | MVP | Designed | [GDD](combat-logic.md) | — |
| 3 | Form Switch State Machine | L0 | Combat Logic | MVP | Not Started | — | Blood Energy Economy |
| 4 | Enemy AI Logic | L0 | Combat Logic | MVP | Not Started | — | Combat Logic |
| 5 | Boss AI Logic | L0 | Combat Logic | MVP | Not Started | — | Enemy AI Logic, Combat Logic |
| 6 | Wave Manager Logic | L0 | Combat Logic | MVP | Not Started | — | Enemy AI Logic |
| 7 | Death/Respawn Rules | L0 | Player | MVP | Not Started | — | Combat Logic |
| 8 | Skill Tree Data & Rules | L0 | Progression | VS | Not Started | — | Form Switch State Machine |
| 9 | Save/Load Logic | L0 | Persistence | VS | Not Started | — | Skill Tree Data & Rules |
| 10 | Score Calculator | L0 | Meta | Full | Not Started | — | Combat Logic, Wave Manager Logic |
| 11 | Input Adapter | L1 | Unity Adapter | MVP | Not Started | — | — |
| 12 | Camera Controller | L1 | Unity Adapter | MVP | Not Started | — | — |
| 13 | Level Loader | L1 | Unity Adapter | MVP | Not Started | — | — |
| 14 | Audio Player | L1 | Unity Adapter | MVP | Not Started | — | — |
| 15 | VFX Spawner | L1 | Unity Adapter | MVP | Not Started | — | Combat Logic, Form Switch State Machine |
| 16 | UI/HUD | L2 | Presentation | MVP | Not Started | — | Blood Energy, Form Switch, Combat, Wave Manager |
| 17 | Menu System | L2 | Presentation | VS | Not Started | — | Input Adapter, Level Loader, Save/Load Logic |
---
## Categories
| Category | Description | Systems |
|----------|-------------|---------|
| **Combat Logic** | Pure-C# systems driving the moment-to-moment combat | Blood Energy, Combat Logic, Form Switch, Enemy AI, Boss AI, Wave Manager |
| **Player** | Player-state systems | Death/Respawn Rules |
| **Progression** | Growth and unlocks over sessions | Skill Tree Data & Rules |
| **Persistence** | Save state and continuity | Save/Load Logic |
| **Meta** | Secondary game systems | Score Calculator |
| **Unity Adapter** | Thin MonoBehaviour wrappers bridging to Unity | Input Adapter, Camera Controller, Level Loader, Audio Player, VFX Spawner |
| **Presentation** | Player-facing displays | UI/HUD, Menu System |
---
## Priority Tiers
| Tier | Definition | Target Milestone | Systems |
|------|------------|------------------|---------|
| **MVP** | Required for core loop — "is this fun?" | First playable (2-3 months) | 14 systems (all L0 combat + L1 + minimal L2) |
| **Vertical Slice** | One polished area, full experience demo | Demo (3-4 months) | 3 systems (Skill Tree, Save/Load, Menu) |
| **Full Vision** | Complete content and polish | Release (4-6 months) | 2 systems (Score Calculator, full Boss AI) |
---
## Dependency Map
### L0 — Pure C# Logic Layer
**Foundation (no dependencies)**:
1. Blood Energy Economy — standalone resource ruleset, feeds every combat decision
2. Combat Logic — standalone damage formulas and hit geometry
**Core (depends on Foundation)**:
3. Form Switch State Machine — depends on: Blood Energy Economy
4. Enemy AI Logic — depends on: Combat Logic
5. Death/Respawn Rules — depends on: Combat Logic
**Feature (depends on Core)**:
6. Boss AI Logic — depends on: Enemy AI Logic, Combat Logic
7. Wave Manager Logic — depends on: Enemy AI Logic
8. Skill Tree Data & Rules — depends on: Form Switch State Machine
9. Save/Load Logic — depends on: Skill Tree Data & Rules
10. Score Calculator — depends on: Combat Logic, Wave Manager Logic
### L1 — Unity Adapter Layer
11. Input Adapter — no game-logic dependencies (reads Unity Input, emits C# events)
12. Camera Controller — no game-logic dependencies (reads C# player position, drives Unity Camera)
13. Level Loader — no game-logic dependencies (loads Unity scenes per C# level data)
14. Audio Player — depends on: Combat Logic, Form Switch State Machine (listens to C# events)
15. VFX Spawner — depends on: Combat Logic, Form Switch State Machine (listens to C# events)
### L2 — Unity Presentation Layer
16. UI/HUD — depends on: Blood Energy, Form Switch, Combat, Wave Manager (reads C# state)
17. Menu System — depends on: Input Adapter, Level Loader, Save/Load Logic
---
## Recommended Design Order
| Order | System | Priority | Layer | Rationale | Est. Effort |
|-------|--------|----------|-------|-----------|-------------|
| 1 | Blood Energy Economy | MVP | L0 | Foundation resource — Form Switch depends on it | S |
| 2 | Combat Logic | MVP | L0 | Foundation hit/damage — Enemy AI depends on it | S |
| 3 | Form Switch State Machine | MVP | L0 | **Core pillar system** — the entire game feel starts here | M |
| 4 | Enemy AI Logic | MVP | L0 | Enemy behavior must exercise the switching loop | M |
| 5 | Wave Manager Logic | MVP | L0 | Encounter structure — the 5-minute loop | M |
| 6 | Death/Respawn Rules | MVP | L0 | Game loop closure — lose, learn, retry | S |
| 7 | Input Adapter | MVP | L1 | No input = can't test anything | S |
| 8 | Camera Controller | MVP | L1 | Basic visibility for testing | S |
| 9 | Level Loader | MVP | L1 | Scene infrastructure | S |
| 10 | VFX Spawner | MVP | L1 | Visual feedback for switching and hits | M |
| 11 | Audio Player | MVP | L1 | Minimum audio feedback for hits and switches | S |
| 12 | UI/HUD | MVP | L2 | Blood energy and form indicator — minimum playable info | S |
| 13 | Boss AI Logic | MVP | L0 | Single-phase boss — tests the full switching loop under pressure | M |
| 14 | Skill Tree Data & Rules | VS | L0 | Progression depth after core loop validated | M |
| 15 | Save/Load Logic | VS | L0 | Persistence needed once progression exists | S |
| 16 | Menu System | VS | L2 | Proper main menu + pause | S |
| 17 | Score Calculator | Full | L0 | Performance tracking for challenge mode | S |
---
## Circular Dependencies
- None found ✓
---
## High-Risk Systems
| System | Risk Type | Risk Description | Mitigation |
|--------|-----------|-----------------|------------|
| Form Switch State Machine | Design | Switch feel calibration — too tight feels clunky, too loose loses meaning | Prototype first with placeholder art, iterate timing with playtest |
| Wave Manager Logic | Design | Enemy composition must create meaningful form-switching pressure — if all forms work equally well, switching becomes optional | Design enemy types and wave compositions together, not separately |
| Enemy AI Logic | Scope | Each enemy type must strongly encourage a specific form — designing 3-5 types with clear form affinity is the core design challenge | Start with 3 enemy types, each with a hard "favors one form" rule |
| VFX Spawner | Technical | Geometric particle system performance at high enemy density on target hardware | Profile early with 100+ enemies; fallback: reduce particle count per event |
| UI/HUD | Design | Must convey form state, blood energy, and threat in <200ms glance readability at frenetic pace | Test HUD mockups with static screenshots before implementation |
---
## Progress Tracker
| Metric | Count |
|--------|-------|
| Total systems identified | 17 |
| Design docs started | 2 |
| Design docs reviewed | 0 |
| Design docs approved | 1 |
| MVP systems designed | 1/14 |
| Vertical Slice systems designed | 0/3 |
---
## Next Steps
- [ ] Design MVP-tier systems in dependency order start with Blood Energy Economy
- [ ] Run `/design-system Blood Energy Economy` to author the first GDD
- [ ] Run `/prototype form-switch-state-machine` on the highest-risk system early
- [ ] Run `/design-review` on each completed GDD
- [ ] Run `/gate-check pre-production` when all MVP GDDs are authored and reviewed