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

4.6 KiB
Raw Blame History

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 (如 "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 分离或集成)。