diff --git a/docs/detail_design.md b/docs/detail_design.md new file mode 100644 index 0000000..a3d2db2 --- /dev/null +++ b/docs/detail_design.md @@ -0,0 +1,96 @@ +# 最强导师 核心循环详细设计 + +## 1. 核心循环概览 +- 循环框架:单局30回合,回合=筹备→分配→执行→结算→事件→准备。局外Roguelite加成影响筹备与结算,核心张力在“压力 vs 产出 vs 署名博弈”。 +- 核心目标:满足阶段Boss/劝退节点要求,在30回合达成综合评分结局(S→D),并积累传承点与校友池。 +- 关键痛点:资金断裂、压力失控、署名冲突、人才流失;玩家通过技能、道具、光环管理风险。 + +## 2. 回合流程与数据流 +1) 筹备阶段 + - 刷新:经费/声望/算力/数据、学生与雇员池、年度任务池、Boss/劝退节点需求。 + - 决策:招聘/续约/解约、设施升级、道具采购、导师技能/形态预设。 + - 输出:本回合任务列表、队伍构成、资源预算、风险提示(压力、资金、Deadline)。 +2) 分配阶段 + - 操作:将任务卡放置在地图格(实验室/机房/行政楼/会议室等);编队学生/雇员;导师选择站位和形态(光环/亲自下场)。 + - 校验:任务破防需求 vs 队伍属性;Deadline与压力预估;经费/算力消耗锁定。 +3) 执行阶段(自走) + - AI:单位依据偏好/属性匹配路径→任务节点;开始“攻击”工作量HP,受难度DEF与破防需求影响。 + - 实时:体力/压力/心情变化;突发事件(停电、设备坏、情绪崩);导师主动技能与道具即时介入;光环/Buff生效。 +4) 结算阶段 + - 任务结果:成功→掉落奖励包(经费/声望/算力/传承点);失败/超时→惩罚(声望扣、延期、压力暴涨)。 + - 署名分配:一作/通讯/挂名/合作分配,调整野心/忠诚/怨恨,记录贡献历史。 + - 状态更新:学生心情、压力、忠诚、野心、毕业进度;导师精力与光环冷却;设施损耗。 +5) 事件阶段 + - 触发:年度Boss考核、举报、分家事件、校友回馈、政治打压等。 + - 结构:前置条件 + 选项 + 即时/持续效果;可能改变资源、单位状态或解锁新任务。 +6) 准备阶段 + - 看板:产出、压力、财务、声望、队伍状态、风险提示。 + - 传承:累积传承点、校友池更新;提示下一回合目标与Boss需求。 + +## 3. 核心对象设计 +### 3.1 导师(玩家) +- 形态: + - Worker:高爆发输出,消耗体力,随职级成长衰减;用于早期/危机收割。 + - Boss:站位光环(类型随设施:实验室攻速、会议室回蓝、咖啡厅减压、机房散热),适合中后期指挥。 +- 资源:精力(技能消耗)、威望(谈判/政治判定)、压力抗性;随天赋树/传承提升。 +- 技能槽:主动技能有冷却与资源消耗,需可插事件管线(支持多人同步/排行对局)。 +- 成长: + - 天赋树:人脉(初始经费/招生质量)、教案(精力上限/技能改造)、政治(事件判定、打压反制)。 + - 遗产:祖传代码库、关系网、校友援助触发率。 + +### 3.2 学生(基础单位) +- 生命周期:硕3→博3→博延期;毕业触发去向事件(校友池加成/跳槽/举报)。 +- 属性:INT/STR/CHA/SAN;隐藏特质(DDL战士、代码洁癖、恋爱脑等)。 +- 状态机:工作→摸鱼→过劳/猝死→康复;压力阈值触发崩溃/离队;怨恨、忠诚、野心影响行为(删库/举报/回馈)。 +- 进阶:特质进化、署名历史影响未来;支持跨局“校友回归”事件。 + +### 3.3 高级雇员 +- 博后:短约3回合,高爆发高费用;标签“临时借调”不可继承;用于劝退节点。 +- 青年讲师:长期雇员,可带学生;野心 vs 忠诚竞争,触发分家事件(带走经费与学生);可签署分成/署名协议调节风险。 + +### 3.4 任务(Task Node) +- 属性:HP=工作量,DEF=难度,Deadline,收益包(经费/声望/算力/传承点),标签(论文/项目/杂务/政治)。 +- 机制:破防需求(属性阈值/特质克制),多人协作加成/内卷惩罚,超时惩罚表。 +- 钩子:完成→署名UI;失败/超时→负面事件;多人模式可设“共享节点/竞速节点”。 + +### 3.5 署名分配 +- 槽位:一作/通讯/挂名/合作;收益权重映射声望、野心、忠诚、怨恨。 +- 规则:贡献排序 vs 手动调整;强行挂名提升全队压力;抢稿触发怨恨冷却。 +- 扩展:多人模式抢稿对抗;积分排行计入高质量一作数。 + +### 3.6 设施(地图格) +- 类型:实验室/机房/行政楼/咖啡厅/会议室。 +- 升级:容量、舒适度、能耗/维护费;高阶解锁特殊槽(GPU集群、空调、人体工学椅)。 +- 风险:宕机、断电、设备损耗;行政楼高压事件;机房温度管理。 +- 扩展:多人共享校园、房间争夺/租赁;赛季装饰对排行展示。 + +### 3.7 资源与经济 +- 资源:经费、声望、算力/数据、压力(负向共享)。 +- 现金流:工资、维护、道具、项目拨款;资金断裂触发拖欠工资(忠诚清零)。 +- 扩展:排行榜多维评分(科研产出/净资产/压力控制/事件效率)。 + +### 3.8 事件系统 +- 类别:年度Boss、突发(停电/失恋)、关系(校友回馈/举报)、政治(评审打压)。 +- 结构:前置条件+选项+即时/持续效果;影响资源、单位状态、任务池。 +- 扩展:多人同步事件,赛季限定环境。 + +### 3.9 局外成长(Heritage) +- 传承点:结算按科研+传承+资产评分;用于天赋解锁、初始资源、导师技能。 +- 校友录:上一局S级毕业生入池,生成援助事件;跨局羁绊与剧情分支。 +- 遗产:祖传代码库/装备/关系网,绑定课题标签提升下一局效率。 + +## 4. 系统接口与技术考量 +- AI调度:属性/特质/偏好→任务匹配→路径规划→工作循环→状态反馈(压力/心情)。 +- Buff系统:导师光环、设施加成、道具、事件统一Buff栈(叠加/刷新/禁同类);作用域支持个人/队伍/全局/联盟(为多人预留)。 +- 资源管理:技能/道具消耗精力/经费/算力;统一资源池接口,便于多人同步与排行统计。 +- 压力与UI反馈:全局压力条+个人SAN;阈值触发动画/行为;UI热区警报。 + +## 5. 扩展性方案 +- 积分排行:多维评分(科研、一作质量、资金净值、压力控制、事件响应);赛季标签化任务/事件,限定加成/禁用;上传周榜。 +- 多结局:回合30读取综合评分与关键事件标记(举报成功/分家次数/校友捐赠)映射 S→D,含隐藏结局(法外狂徒/慈善家)。 +- 多人玩法:共享或并行校园;节点竞速/抢稿;交易学生/设备/数据;压力扩散;资源市场动态定价;光环/Buff支持队伍/联盟/敌对作用域。 + +## 6. 落地优先级(聚焦核心循环) +1) 单人六步回合循环可玩:导师/学生/任务/署名四大对象完整流转。 +2) 压力系统、突发事件、设施光环,验证“压力 vs 产出”张力。 +3) 预留接口:任务/事件标签化、Buff作用域、结算多维统计,为排行与多人对抗埋点。 diff --git a/docs/mvp_design.md b/docs/mvp_design.md new file mode 100644 index 0000000..1255223 --- /dev/null +++ b/docs/mvp_design.md @@ -0,0 +1,100 @@ +# 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` 分离或集成)。 + +--- diff --git a/最强导师.csproj b/最强导师.csproj index ccdd2a1..2f1fb77 100644 --- a/最强导师.csproj +++ b/最强导师.csproj @@ -6,6 +6,7 @@ + \ No newline at end of file