详细设计
This commit is contained in:
parent
696024f11c
commit
8e81f2a12b
96
docs/detail_design.md
Normal file
96
docs/detail_design.md
Normal file
@ -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作用域、结算多维统计,为排行与多人对抗埋点。
|
||||
100
docs/mvp_design.md
Normal file
100
docs/mvp_design.md
Normal file
@ -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<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` 分离或集成)。
|
||||
|
||||
---
|
||||
@ -6,6 +6,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="docs\design.md" />
|
||||
<Content Include="docs\mvp_design.md" />
|
||||
<Content Include="README.md" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Loading…
Reference in New Issue
Block a user