4.6 KiB
4.6 KiB
MVP 详细设计文档:最强导师 (The Apex Mentor)
1. 概述
本 MVP 旨在验证游戏的核心循环:任务分发 -> 学生自动工作 -> 资源结算 -> 压力/状态管理。 范围仅涵盖设计文档中的“第一阶段:青椒求生”(前 10 回合)。
2. 核心循环 (Core Loop)
游戏以“回合”(Turn)为单位,每个回合代表一年(或一个学期)。 回合内流程如下:
-
准备阶段 (Planning Phase)
- 时间暂停。
- 玩家查看当前资源(经费、声望)。
- 玩家查看现有学生状态(心情、属性)。
- 玩家接收新任务(课题/论文)并将其分配给具体的设施(如实验室工位)。
- 玩家使用经费购买/升级设施或道具。
-
执行阶段 (Execution Phase)
- 时间流动(可视化的几天/几周)。
- 学生根据 AI 逻辑自动寻找任务进行工作(扣减任务 HP)。
- 学生各项数值变化(压力上升、体力下降)。
- 导师(玩家 Avatar)在地图上移动,使用技能(如“画饼”、“PUA”)干预学生状态。
- 突发事件触发(如“电脑蓝屏”),需要导师立刻前往处理。
-
结算阶段 (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 (如 "NightOwl": 晚上效率高).
- Attributes (能力值):
- 状态机 (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分离或集成)。