supervisor-simulator/docs/mvp_design.md
2025-12-06 16:54:58 +08:00

101 lines
4.6 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.

# MVP 详细设计文档:最强导师 (The Apex Mentor)
## 1. 概述
本 MVP 旨在验证游戏的核心循环:**任务分发 -> 学生自动工作 -> 资源结算 -> 压力/状态管理**。
范围仅涵盖设计文档中的“第一阶段:青椒求生”(前 10 回合)。
## 2. 核心循环 (Core Loop)
游戏以“回合”Turn为单位每个回合代表一年或一个学期
回合内流程如下:
1. **准备阶段 (Planning Phase)**
* **时间暂停**
* 玩家查看当前资源(经费、声望)。
* 玩家查看现有学生状态(心情、属性)。
* 玩家接收新任务(课题/论文)并将其分配给具体的设施(如实验室工位)。
* 玩家使用经费购买/升级设施或道具。
2. **执行阶段 (Execution Phase)**
* **时间流动**(可视化的几天/几周)。
* 学生根据 AI 逻辑自动寻找任务进行工作(扣减任务 HP
* 学生各项数值变化(压力上升、体力下降)。
* 导师(玩家 Avatar在地图上移动使用技能如“画饼”、“PUA”干预学生状态。
* 突发事件触发(如“电脑蓝屏”),需要导师立刻前往处理。
3. **结算阶段 (Review Phase)**
* 回合结束Deadline 到达)。
* 计算完成的任务:获得声望、经费。
* 计算未完成的任务:扣除声望、经费。
* 支付学生工资、维护费。
* 结算学生状态(是否崩溃/退学/毕业)。
* 显示本回合报表。
## 3. 核心对象设计 (Core Object Design)
### 3.1 全局管理器 (GameManager)
* **职责**:维护全局状态、回合流转、全局资源。
* **属性**
* `CurrentTurn` (int): 当前回合数。
* `Phase` (Enum): Planning / Execution / Review。
* `GlobalResources` (Object): 包含 Money, Reputation, ResearchPoints。
* **方法**
* `StartTurn()`: 进入准备阶段。
* `StartExecution()`: 开始执行阶段。
* `EndTurn()`: 触发结算。
### 3.2 导师 (Mentor / Player)
* **职责**:玩家在场景中的化身,提供 Buff 和技能。
* **属性**
* `Energy` (int): 精力值,用于释放技能。
* `Position` (Vector2): 地图位置。
* `Skills` (List): 拥有的技能列表。
* **技能示例**
* `Inspire`: 消耗精力,范围内学生工作效率 +50%,持续 5秒。
* `MicroManage`: 消耗精力,立刻减少某任务 5% 剩余工作量,增加学生压力。
### 3.3 学生 (Student)
* **职责**:基础工作单位,具有自主 AI。
* **扩展属性** (继承自现有 `Student.cs`):
* **Attributes (能力值)**: `Intelligence` (智力), `Strength` (体力), `Expression` (表达).
* **Status (状态值)**: `Sanity` (SAN值/抗压), `Stamina` (当前体力), `Loyalty` (忠诚度).
* **Traits (特质)**: List<Trait> (如 "NightOwl": 晚上效率高).
* **状态机 (FSM)**:
* `Idle`: 无任务或休息中。
* `Working`: 在工位上对任务造成伤害。
* `Resting`: 在咖啡厅/宿舍恢复 Sanity/Stamina。
* `Breakdown`: 崩溃状态,无法工作,需导师干预。
### 3.4 任务 (Task)
* **职责**:地图上的“怪物”,需要被学生“击败”。
* **属性**
* `TotalWorkload` (float): 总工作量 (HP)。
* `CurrentProgress` (float): 当前进度。
* `Type` (Enum): Paper (论文), Project (项目), Admin (杂务).
* `Difficulty` (float): 减伤系数,需要特定属性(如智力)对抗。
* `Deadline` (int): 剩余回合数。
* `Rewards` (Resource): 完成奖励。
### 3.5 实验室/地图 (Lab)
* **职责**:容器,管理设施和路径。
* **扩展**
* 需支持从 `GameManager` 获取设施列表。
* 设施 (Facility) 需关联 Task任务绑定到设施上学生去设施工作
## 4. 扩展性设计 (Scalability)
* **IAgent 接口**:学生、导师、后续的“博后”都实现此接口,方便统一管理行为。
* **EventSystem**:使用观察者模式(已有的 `TimelineType` 可扩展)处理突发事件。
* **SaveSystem**所有核心数据Student Data, Task Data需可序列化支持 SL 大法和 Roguelite 继承。
## 5. MVP 开发计划 (脚手架)
我们将创建以下脚本结构:
* `scripts/Core/GameLoop.cs`: 处理回合流程。
* `scripts/Domain/Task.cs`: 任务数据结构。
* `scripts/Domain/Mentor.cs`: 导师逻辑。
* `scripts/Domain/StudentData.cs`: 学生数值模型(与表现层 `Student.cs` 分离或集成)。
---