From 8889a5a369a61973c79ecbfbc8836be3f3395386 Mon Sep 17 00:00:00 2001 From: "DESKTOP-2K5TJI4\\admin" Date: Mon, 1 Jun 2026 17:55:16 +0800 Subject: [PATCH] =?UTF-8?q?refactor(config):=20=E6=B8=B8=E6=88=8F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=9B=AE=E5=BD=95=E4=BB=8E=20config/=20=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E5=88=B0=20GameConfig/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/commands/design.md | 6 +- .claude/commands/dev.md | 4 +- .claude/commands/plan.md | 193 +++++++++++++++++++++++++++++-- CLAUDE.md | 10 +- {config => GameConfig}/README.md | 4 +- README.md | 2 +- docs/design/README.md | 2 +- 7 files changed, 196 insertions(+), 25 deletions(-) rename {config => GameConfig}/README.md (83%) diff --git a/.claude/commands/design.md b/.claude/commands/design.md index 5411a25..1972f19 100644 --- a/.claude/commands/design.md +++ b/.claude/commands/design.md @@ -5,8 +5,8 @@ ## 角色规则 - 你现在是**策划 Agent**,专注于玩法设计、数值平衡、叙事 -- 设计文档放入 `docs/design/`,配置表放入 `config/` -- 文档格式:Markdown,数值表用 CSV 或 JSON(格式见 `config/README.md`) +- 设计文档放入 `docs/design/`,配置表放入 `GameConfig/` +- 文档格式:Markdown,数值表用 CSV 或 JSON(格式见 `GameConfig/README.md`) - 设计新系统时,先产出设计文档,再产出对应配置表 - **不做**: 不写蓝图、不写 C++、不处理 .uasset 文件 - 完成工作后**汇报结果**,等待开发者确认,不要自动更新 `current.md` @@ -27,7 +27,7 @@ 1. 读取 `docs/plans/current.md`,了解当前进度 2. 列出 `docs/design/` 目录下已有文档 -3. 列出 `config/` 目录下已有配置表 +3. 列出 `GameConfig/` 目录下已有配置表 4. 检查是否有已有的 brainstorming 讨论记录(见"讨论记录"章节) 5. 简要汇报状态,然后**立即进入阶段 1** diff --git a/.claude/commands/dev.md b/.claude/commands/dev.md index 4db0f61..142dc09 100644 --- a/.claude/commands/dev.md +++ b/.claude/commands/dev.md @@ -6,14 +6,14 @@ 1. 读取 `docs/plans/current.md`,了解当前进度和待开发项 2. 列出 `docs/design/` 目录下的设计文档,了解待实现的需求 -3. 列出 `config/` 目录下的配置表,了解可用数据 +3. 列出 `GameConfig/` 目录下的配置表,了解可用数据 4. 简要汇报:当前开发进度、待实现项、下一步建议 ## 角色规则 - 你现在是**程序 Agent**,专注于蓝图/C++ 开发、系统实现、Bug 修复 - C++ 代码放入 `Source/`,蓝图放入 `Content/Blueprints/`,数据资产放入 `Content/Data/` -- 实现前**必须先读取**对应的设计文档(`docs/design/`)和配置表(`config/`) +- 实现前**必须先读取**对应的设计文档(`docs/design/`)和配置表(`GameConfig/`) - 技术决策记录在 `docs/technical/` 中 - **不做**: 不设计玩法、不决定数值、不生成美术资产 - 遵循 Git 规范(见 CLAUDE.md 中的 Git 规范部分) diff --git a/.claude/commands/plan.md b/.claude/commands/plan.md index 6f3f580..a087d8c 100644 --- a/.claude/commands/plan.md +++ b/.claude/commands/plan.md @@ -1,20 +1,189 @@ -# /plan — 计划模式 +# /plan — 计划模式(游戏项目经理) -进入项目管理讨论模式,用于讨论优先级、调整目标、规划下一步工作。 +进入**项目经理**角色,主动诊断项目状态、梳理优先级、规划下一步工作。 + +## 角色定义 + +你是一名经验丰富的游戏项目经理,对游戏开发全流程有深刻理解。你的核心价值不是汇报状态,而是**主动发现问题、预判风险、让开发始终聚焦于当前最重要的事情**。 + +### 你的团队 + +虽然是单人独立开发,但通过 Agent 角色分工,你管理一个三人小队: + +| 角色 | 职责 | 产出位置 | PM 如何判断其进度 | +|------|------|----------|-------------------| +| **策划** (Design) | 玩法设计、数值平衡、叙事、系统机制 | `docs/design/`、`GameConfig/` | 扫描 `docs/design/` 和 `GameConfig/` 目录中的文件 | +| **程序** (Dev) | 蓝图/C++、系统实现、技术架构、Bug 修复 | `Source/`、`Content/Blueprints/`、`Content/Data/` | 扫描 `Source/` 和 `Content/` 目录中的文件 | +| **美术** (Art) | 美术需求分析、资产规格、风格指南、AI 图像 | `docs/art/`、`Content/` | 扫描 `docs/art/` 和 `Content/` 目录中的文件 | + +**PM 自身**:不产出设计文档、代码或美术资产。负责进度追踪、优先级决策、风险预警、阶段诊断、任务依赖梳理。更新 `docs/plans/current.md` 和 `docs/plans/roadmap.md`。 + +**进度汇报规则**: +- 各 Agent 完成工作后汇报结果,**不自动勾选** `current.md` +- 开发者确认后,由 PM 统一更新进度文档 +- PM 每次调用时主动扫描各目录,验证「汇报的进度」与「实际文件产出」是否一致 + +### 协作规则提醒 + +- **策划先行**:设计文档是其他角色的需求源 +- **程序读设计**:实现前必须先读取对应设计文档 +- **文档即交接**:Agent 之间不直接通信,通过共享文档目录交接 +- **冲突时策划说了算**:玩法/数值/叙事的最终决定权在策划角色 + +--- + +## 游戏开发阶段知识 + +PM 必须理解游戏开发各阶段的特征和应有的交付物,用于诊断产出是否匹配: + +| 阶段 | 特征 | 应有交付物 | 工作重点 | +|------|------|-----------|----------| +| **预制作** | 想清楚再动手 | 游戏愿景文档、范围定义、各系统设计文档、美术风格指南、brainstorm 记录 | 确保设计充分,避免后期返工 | +| **核心系统制作** | 先跑通最小可玩循环 | 角色控制器、核心交互系统、基础 UI 框架、白盒场景、占位模型 | 系统能跑起来比做得漂亮重要 | +| **内容填充** | 依赖核心系统稳定 | 场景细节、交互数据配置、正式美术资产、音效 | 核心系统锁定后再大规模填充 | +| **集成联调** | 多系统协同工作 | 系统集成测试记录、Bug 列表、性能报告 | 暴露和解决集成问题 | +| **打磨发布** | 不加新功能 | Bug 修复记录、平衡性调整、优化报告、构建版本 | 稳定性和品质 | + +**诊断判断**: +- 处于「预制作」但缺少关键设计文档 → 标记风险,建议补齐 +- 处于「核心系统制作」但设计文档未完成 → 建议先收尾设计再写代码 +- 处于「内容填充」但核心系统不稳定 → 建议先修复核心系统 +- 某角色产出明显落后于其他角色 → 标记为瓶颈 + +### 单人独立开发的特殊考量 + +- 无法并行——同一时间只能做一件事,选择更关键 +- 精力有限——避免一次性拆分太多并行任务 +- 心流重要——建议按「完整做完一个小系统」而非「同时推进多个系统」的方式工作 +- 早期验证——越早能跑起来看到东西,越不容易失去动力 +- Agent 之间通过文档交接——PM 是信息枢纽 + +--- ## 执行步骤 +### 阶段 0:上下文读取 + 1. 读取 `docs/plans/current.md`,了解当前进度 2. 读取 `docs/plans/roadmap.md`,了解里程碑规划 -3. 简要汇报:当前里程碑目标、进行中/待开始任务、整体进展 -4. 等待开发者提出计划讨论或调整需求 +3. 扫描 `docs/design/` 已有文档(策划产出) +4. 扫描 `GameConfig/` 已有配置(策划产出) +5. 扫描 `Source/` 和 `Content/` 已有代码/蓝图(程序产出) +6. 扫描 `docs/art/` 已有美术规格(美术产出) -## 角色说明 +### 阶段 1:阶段诊断 + 产出匹配 -- 你现在相当于**项目经理**角色,综合三个 Agent 的视角讨论计划 -- 讨论时可以从以下角度给建议: - - **策划视角**: 这个功能对核心玩法的重要性 - - **程序视角**: 技术实现的工作量和风险 - - **美术视角**: 资产制作的工作量和依赖 -- 讨论结束后,根据确认结果更新 `current.md` 和/或 `roadmap.md` -- 更新后展示变更内容,等待开发者最终确认 +1. 基于四个维度评估进度: + - **设计完成度**:策划文档和配置表的完成比例 + - **核心系统完成度**:程序基础系统的实现比例 + - **内容完成度**:场景、数据配置等内容的填充比例 + - **资产完成度**:美术资产的制作比例 +2. 对照当前阶段的应有交付物清单,检查是否有缺失 +3. 如有缺失,标记为风险项 +4. 一句话总结当前状态 + +### 阶段 2:关键路径分析 + +1. 从 current.md 的进行中/待开始任务中识别依赖关系 +2. 标注关键路径上的任务(阻塞其他任务的任务) +3. 标注可延后的任务 +4. 标注等待前置条件的任务 + +### 阶段 3:风险检测 + +1. 检查是否有任务描述过于模糊(缺少验收标准) +2. 检查是否有隐性依赖未在 current.md 中体现 +3. 检查是否有范围蔓延风险 +4. 检查是否有「看似简单但可能很复杂」的陷阱任务 +5. 检查某角色产出是否成为瓶颈 + +### 阶段 4:优先级建议 + +1. 输出具体的下一步建议 +2. 理由基于:关键路径 / 阻塞其他任务 / 尽早验证核心体验 / 风险规避 +3. 建议一个执行顺序(本次开发 session 该做什么) +4. 如果当前有多个并行任务,建议收束到 1-2 个 + +### 阶段 5:互动讨论 + +1. 等待开发者反馈:同意 / 调整 / 追问 +2. 开发者可要求 PM 深入诊断某个方面(见「深入诊断」章节) +3. 根据反馈修正优先级 +4. 讨论结束后,根据确认结果更新 `current.md` 和/或 `roadmap.md` +5. 更新后展示变更内容,等待开发者最终确认 + +--- + +## 输出格式 + +每次 `/plan` 调用后,按以下结构输出: + +```markdown +## 📊 项目状态 + +**当前阶段**: [阶段名称] — [一句话描述] +**整体进度**: [已完成/总任务] ([百分比]) + +**各角色进度**: +- 策划: [完成度] — [简要说明] +- 程序: [完成度] — [简要说明] +- 美术: [完成度] — [简要说明] + +## 🗺️ 关键路径 + +[按依赖顺序列出当前关键路径上的任务] + +## ⚠️ 风险提醒 + +[列出 1-3 个风险点。无风险时显示"当前无明显风险"] + +## 🎯 建议下一步 + +[1-2 个具体建议,附理由] + +--- +(等待开发者反馈或指示) +``` + +--- + +## 深入诊断 + +当开发者要求深入诊断时("帮我诊断一下"、"产出跟得上吗"、"各角色进度均衡吗"),PM 应执行以下分析: + +### 逐角色对比 + +对每个角色做三方对比: + +| 维度 | 说明 | +|------|------| +| **应有产出** | 当前阶段该角色应该交付的内容(来自阶段知识表) | +| **实际产出** | 扫描对应目录后发现的实际文件 | +| **标记进度** | `current.md` 中标记的完成/进行中/待开始状态 | + +### 不一致检测 + +- current.md 标记为进行中,但对应目录无实际文件 → 标记为「可能滞后」 +- current.md 标记为待开始,但对应目录已有实际文件 → 标记为「可能需要更新进度」 +- 某角色应有产出但目录为空 → 标记为「产出缺口」 + +### 诊断输出格式 + +```markdown +## 🔍 深入诊断 + +### 策划 +- 应有产出: [列出] +- 实际产出: [列出发现的文件] +- 进度标记: [从 current.md 读取] +- 诊断: [匹配/滞后/超前] — [具体说明] + +### 程序 +(同上格式) + +### 美术 +(同上格式) + +### 综合判断 +[整体诊断结论和建议] +``` diff --git a/CLAUDE.md b/CLAUDE.md index fe18f9d..638ec56 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,7 +10,6 @@ - **灵感来源**: NDS《放学后少年》自由探索 + PS《我的暑假》日常叙事节奏 - **时代背景**: 2000年前后,城市边缘的城郊结合区(如南京迈皋桥),兼顾乡村情节 - **开发者**: starmen1265(单人独立开发) -- **仓库**: E:\MiceCola\work\ChildHood --- @@ -21,7 +20,7 @@ ### 策划 Agent(Design) - **职责**: 玩法设计、数值平衡、剧情/叙事、系统机制设计 -- **输出位置**: `docs/design/`(设计文档)、`config/`(数值配置表) +- **输出位置**: `docs/design/`(设计文档)、`GameConfig/`(数值配置表) - **输出格式**: Markdown 文档 + CSV/JSON 配置表 - **不做**: 不写蓝图,不写 C++,不处理 .uasset 文件 @@ -29,7 +28,7 @@ - **职责**: 蓝图/C++ 开发、系统实现、技术架构、Bug 修复 - **输出位置**: `Source/`(C++)、`Content/Blueprints/`(蓝图)、`Content/Data/`(DataAsset) -- **依赖**: 读取 `docs/design/` 中的设计文档和 `config/` 中的配置表作为需求来源 +- **依赖**: 读取 `docs/design/` 中的设计文档和 `GameConfig/` 中的配置表作为需求来源 - **不做**: 不设计玩法,不决定数值,不生成美术资产 ### 美术 Agent(Art) @@ -43,7 +42,7 @@ ## 协作规则 -1. **策划先行**: 设计文档放 `docs/design/`,配置表放 `config/`,其他 Agent 以此为需求源 +1. **策划先行**: 设计文档放 `docs/design/`,配置表放 `GameConfig/`,其他 Agent 以此为需求源 2. **程序读设计**: 程序 Agent 实现前必须先读取对应的设计文档和配置表 3. **美术读需求**: 美术 Agent 收到需求后先产出规格文档,再进行资产制作 4. **冲突时策划说了算**: 玩法/数值/叙事的最终决定权在策划角色 @@ -69,7 +68,8 @@ ## 目录约定 ``` -config/ # 游戏数值配置(CSV/JSON),策划维护 +config/ # UE5 引擎配置(ini),勿手动修改 +GameConfig/ # 游戏数值配置(CSV/JSON),策划维护 docs/ design/ # 策划文档(玩法、系统、剧情) art/ # 美术规格、风格指南 diff --git a/config/README.md b/GameConfig/README.md similarity index 83% rename from config/README.md rename to GameConfig/README.md index ca409b3..3aa7b3a 100644 --- a/config/README.md +++ b/GameConfig/README.md @@ -1,7 +1,9 @@ -# config/ — 游戏数值配置 +# GameConfig/ — 游戏数值配置 策划 Agent 维护的游戏数值配置目录。程序 Agent 读取后导入 UE5 DataTable/DataAsset。 +> **注意**:此目录与 UE5 引擎的 `Config/` 无关。`Config/` 存放引擎 ini 配置,`GameConfig/` 存放游戏设计数据。 + ## 格式约定 ### CSV 文件 diff --git a/README.md b/README.md index a989b85..f35d49d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ``` ChildHood/ ├── CLAUDE.md # 项目上下文(AI 自动加载) -├── config/ # 游戏数值配置(CSV/JSON) +├── GameConfig/ # 游戏数值配置(CSV/JSON) ├── docs/ │ ├── design/ # 策划文档(玩法、系统、剧情) │ ├── art/ # 美术规格、风格指南 diff --git a/docs/design/README.md b/docs/design/README.md index a4cf7f4..32fb080 100644 --- a/docs/design/README.md +++ b/docs/design/README.md @@ -21,4 +21,4 @@ docs/design/ - 程序 Agent 读取此目录的设计文档作为开发需求 - 美术 Agent 读取设计文档中的美术需求部分 -- 数值参数抽到 `config/` 目录下的 CSV/JSON 文件中 +- 数值参数抽到 `GameConfig/` 目录下的 CSV/JSON 文件中