收敛 AGC 外置智能体提示词,去掉客户端与宿主实现细节 (#491)
Project CI / AI game creator shell Rust smoke (push) Successful in 1m33s
Project CI / AI game creator shell Rust crates (push) Successful in 59s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 6m23s
Project CI / Backend tests (push) Successful in 4m52s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 8m6s
Project CI / Frontend tests (push) Successful in 2m25s
Project CI / Native shell tests (push) Successful in 6m28s
Project CI / Repository checks (push) Successful in 2m37s
Project CI / AI game creator shell web tests (push) Successful in 1m57s

## 背景
AGC 外置智能体提示词里暴露了过多客户端/宿主实现细节。本次按「提示词只写模型必须遵守的指令与契约」的边界做收敛:删掉"我们系统怎么实现"的叙述,保留模型真正要执行的契约。

## 改动
- `prompts/runtime`:删除宿主机制叙述(交付合同冻结与自动关闭、manifest 幂等投影、回执认领与 continuation 派生、浏览器证据回灌、Runtime 自动推进阶段)
- 删除内部技术栈与部署细节(bubblewrap/Chromium profile 沙箱、执行器锁与 stage ledger、DLL/gdextension 分发、Chromium loopback 预览)
- 删除内部预算与字段(`validation.maxRuns`、共用客户端持久预算、preMutationLoopLimit、源码字符上限、错误反馈重试计数)
- 删除内部标识与名词(Runtime 元数据 `instanceId/sessionId/runId/executionMode/contextBoundary`、`DirectProject`/`workspaceMode`、`autonomous-game-build`、Run Profile、manifest DAG)
- `resources/agc-skills`:8 个 skill 的客户端职责/状态枚举叙述收敛,skill pack 版本与内容哈希同步
- `design-agent`:系统提示、阶段上下文、模板与示例中的渲染器、内部落盘路径、登记编号与平台实现措辞收敛
- 保留不动:工具名与参数、回执字段与枚举、调用顺序、禁止项、失败与鉴权处理、产物要求
- 约定写入 `docs/project-memory/shared-memory/team-conventions.md`:提示词不写宿主实现细节;改占位符须同步 Rust 调用点与断言

## 验证
- `cargo check --offline --tests`:通过
- `cargo test … prompt`:76 passed;`design`:60 passed;`autonomous_game_build`:29 passed;`tool_planning`:10 passed
- `npm run check:encoding`、`npm run check:rustfmt`、`node scripts/check-skill-pack.mjs`、`git diff --check`:均通过
- 本机既有环境失败(非本次引入,已在未改动 HEAD 上用 stash 复现):mock provider 相关的 runtime_actions 用例、isolated-registry 进程会话用例

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/491
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
This commit was merged in pull request #491.
This commit is contained in:
2026-09-23 12:31:20 +08:00
committed by 段舒康
parent 43b7aa809b
commit f789db7f2f
103 changed files with 495 additions and 644 deletions
@@ -3,4 +3,4 @@
- project/决策台账.md
- project/dialog.md
正式产物使用当前阶段指定的相对路径。
五个策划阶段的审批:当你判断当前策划阶段必需产物已完成时,必须提交阶段审批。用户批准后 Runtime 自动进入下一阶段。
五个策划阶段的审批:当你判断当前策划阶段必需产物已完成时,必须提交阶段审批。用户批准后进入下一阶段。
@@ -1,4 +1,4 @@
概念阶段定稿时,创建或更新 `project/速览卡.md`。下面是速览卡的参考结构;根据游戏类型、项目规模和用户要求选择适用字段,同类内容可以合并,复杂项目可以增加必要字段。表格和列表中的示例行按实际对象逐行扩展:
概念阶段定稿时,创建或更新速览卡。下面是速览卡的参考结构;根据游戏类型、项目规模和用户要求选择适用字段,同类内容可以合并,复杂项目可以增加必要字段。表格和列表中的示例行按实际对象逐行扩展:
# 速览卡:《游戏名》
File diff suppressed because one or more lines are too long
@@ -3,7 +3,7 @@
版本:v3 | 规则:台账放活队列——design 只放结论、分析只放论证、决定与开放问题住这里。编号连续不复用;被推翻的行标 overturned 挂新行,不删行。
状态六态:`confirmed`(用户亲口/亲选)/ `auto_decided`(技术类代决,必带理由+推翻条件,用户一键可翻)/ `default_pending`(默认建议兜底,用户未点头)/ `prototype_pending`(待原型验证)/ `pending_user`(等用户拍板)/ `overturned`(被推翻,挂旧行编号)。
> 编号口径:D-01~D-13 与 templates/stardew-analysis.md 台账节选一致(D-04~D-06、D-08~D-10、D-12 原为"就地小权衡,直接登记未开条目",此处按登记口径展开);D-14 起为技术文档期新增,与 stardew-tdd-tech.md 开放问题回执互引。
> 编号口径:前面各项与全局分析登记一致;其中若干为"就地小权衡,直接登记未开条目",此处按登记口径展开。后续项在技术文档期新增,并与开放问题回执互引。
## 当前待办(活队列)
@@ -11,20 +11,20 @@
| 编号 | 决定 | 层 | 谁 | 依据 | 推翻条件 | 状态 |
|---|---|---|---|---|---|---|
| D-14 | 体力与战斗共享单池 | TDD | user | 风险资源统一制造取舍(概念张力一);**暂按共享实现,改单拆只需改 S02 成本入口** | 战斗参与率实测过低(玩家回避矿井) | pending_user(暂按共享实现) |
| D-15 | 背包格子制 vs 重量制 | TDD | user | 格子制直觉、重量制焦虑感与 T5"休闲不打卡"冲突;暂按格子制实现、存档预留 capacity_type 字段 | 格子管理成为主要负面反馈 | pending_user(B 级阻断存档结构,暂按格子制) |
| 体力共享 | 体力与战斗共享单池 | TDD | user | 风险资源统一制造取舍(概念张力一);**暂按共享实现,改单拆只需改 S02 成本入口** | 战斗参与率实测过低(玩家回避矿井) | pending_user(暂按共享实现) |
| 背包容量 | 背包格子制 vs 重量制 | TDD | user | 格子制直觉、重量制焦虑感与 T5"休闲不打卡"冲突;暂按格子制实现、存档预留 capacity_type 字段 | 格子管理成为主要负面反馈 | pending_user(B 级阻断存档结构,暂按格子制) |
### 待原型验证(prototype_pending
| 编号 | 决定 | 层 | 谁 | 依据 | 推翻条件 | 状态 |
|---|---|---|---|---|---|---|
| D-13b | 战斗判定窗口手感(前摇帧数/无敌帧 450ms 基准) | 系统 | user | 数值可定、手感不可纸面验证 | 原型显示节奏拖慢/玩家困惑 | prototype_pending(规则本体见 D-13 confirmed |
| 判定手感 | 战斗判定窗口手感(前摇帧数/无敌帧 450ms 基准) | 系统 | user | 数值可定、手感不可纸面验证 | 原型显示节奏拖慢/玩家困惑 | prototype_pending(规则本体见 战斗判定 confirmed |
### 默认建议兜底(default_pending
| 编号 | 决定 | 层 | 谁 | 依据 | 推翻条件 | 状态 |
|---|---|---|---|---|---|---|
| D-19 | 天气权重表具体数值(晴/雨/风暴按季节) | TDD | agent | 概念层只定"雨免浇水"定性;数值推内容期填 | 前 5 日出现连续 3 日雨/全无雨 | default_pending(默认值已进数据表,带 designer_note |
| 天气数值 | 天气权重表具体数值(晴/雨/风暴按季节) | TDD | agent | 概念层只定"雨免浇水"定性;数值推内容期填 | 前 5 日出现连续 3 日雨/全无雨 | default_pending(默认值已进数据表,带 designer_note |
## 已采用决定
@@ -32,35 +32,35 @@
| 编号 | 决定 | 层 | 谁 | 依据 | 推翻条件 | 状态 |
|---|---|---|---|---|---|---|
| D-01 | 定调:牧场物语系参照、治愈慢节奏 | 概念 | user | 用户原始需求 | — | confirmed |
| D-02 | 单人体验,无多人 | 概念 | user | 概念层非目标 | — | confirmed |
| D-03 | 战斗保持伴生风险,不做装备驱动主轴 | 概念 | user | 概念期问题一 | 矿井流失率过半且归因战斗 | confirmed |
| D-07 | 日目标自设,季节与社区提供低频牵引 | 顶层 | user | 顶层期问题一 | 新手周流失归因无方向 | confirmed |
| D-11 | 采集/钓鱼/战斗统一"活动结果"接口 | 架构 | user | 架构期问题一 | 第三活动类型出现结构性差异 | confirmed |
| D-13 | 战斗采用节奏/指令判定 | 系统 | user | S06 问题一 | 原型显示节奏拖慢/玩家困惑 | confirmed(手感部分拆 D-13b prototype_pending |
| 基调定位 | 定调:牧场物语系参照、治愈慢节奏 | 概念 | user | 用户原始需求 | — | confirmed |
| 范围约束 | 单人体验,无多人 | 概念 | user | 概念层非目标 | — | confirmed |
| 战斗定位 | 战斗保持伴生风险,不做装备驱动主轴 | 概念 | user | 概念期问题一 | 矿井流失率过半且归因战斗 | confirmed |
| 日目标 | 日目标自设,季节与社区提供低频牵引 | 顶层 | user | 顶层期问题一 | 新手周流失归因无方向 | confirmed |
| 活动接口 | 采集/钓鱼/战斗统一"活动结果"接口 | 架构 | user | 架构期问题一 | 第三活动类型出现结构性差异 | confirmed |
| 战斗判定 | 战斗采用节奏/指令判定 | 系统 | user | S06 问题一 | 原型显示节奏拖慢/玩家困惑 | confirmed(手感部分拆 判定手感 prototype_pending |
### 技术代决(auto_decided——带理由与推翻条件,用户一键可翻)
| 编号 | 决定 | 层 | 谁 | 依据(理由) | 推翻条件 | 状态 |
|---|---|---|---|---|---|---|
| D-04 | 时间片制:700ms=10 游戏分钟 | 概念 | agent | 原作实证节拍;一天≈14 分钟真实时间贴合 T5"休闲" | 内测一天体感过短/过长 | auto_decided |
| D-05 | 分区域切换(区域独立场景,非连续地图) | 概念 | agent | 概念层"不是什么:无边界开放世界";区域小网络全部步行可达 | 场景切换成为移动负担反馈 | auto_decided |
| D-06 | 28 日/季、四季/年 | 顶层 | agent | 季节窗口制造"本季计划"节奏(支柱二) | 换季频率在测试中被无视 | auto_decided |
| D-09 | 商店营业时段走条件表 | 架构 | agent | 与配方/区域解锁共用 check(condition_id) 单一入口 | 条件表规模膨胀难维护 | auto_decided |
| D-10 | 出货箱日终统一结算 | 架构 | agent | 收入集中进日终面板,强化"一天一结算"叙事;商店现卖保留即时通道 | 玩家普遍绕开出货箱 | auto_decided |
| D-12 | 工具升级期间该工具不可用 | 系统 | agent | 升级=时间成本换效率(顶层张力二);备用旧工具暂不做(开放问题) | 升级期挫败感集中爆发 | auto_decided |
| D-16 | 矿井逐层生成本期不做(P2 | TDD | agent | GDD 已标"不做无限地牢";首期按布局池 8~12 模板拼装 | 内测要求深度爬塔玩法 | auto_decided |
| D-17 | 换装首期 5 层(基础体/裤/衣/发型/饰件),非 19 层 | TDD | agent | 外观自定义非首期卖点;层结构预留到 19 层 | 外观系统成核心诉求 | auto_decided |
| D-18 | 作物品质三档:普通/银/金 | TDD | agent | 经济分层需要(即时变现 vs 等待升值的取舍) | 银金档无人区分、一律普通出售 | auto_decided |
| 时间片 | 时间片制:700ms=10 游戏分钟 | 概念 | agent | 原作实证节拍;一天≈14 分钟真实时间贴合 T5"休闲" | 内测一天体感过短/过长 | auto_decided |
| 区域切换 | 分区域切换(区域独立场景,非连续地图) | 概念 | agent | 概念层"不是什么:无边界开放世界";区域小网络全部步行可达 | 场景切换成为移动负担反馈 | auto_decided |
| 季节周期 | 28 日/季、四季/年 | 顶层 | agent | 季节窗口制造"本季计划"节奏(支柱二) | 换季频率在测试中被无视 | auto_decided |
| 营业条件 | 商店营业时段走条件表 | 架构 | agent | 与配方/区域解锁共用 check(condition_id) 单一入口 | 条件表规模膨胀难维护 | auto_decided |
| 日终结算 | 出货箱日终统一结算 | 架构 | agent | 收入集中进日终面板,强化"一天一结算"叙事;商店现卖保留即时通道 | 玩家普遍绕开出货箱 | auto_decided |
| 工具占用 | 工具升级期间该工具不可用 | 系统 | agent | 升级=时间成本换效率(顶层张力二);备用旧工具暂不做(开放问题) | 升级期挫败感集中爆发 | auto_decided |
| 矿井生成 | 矿井逐层生成本期不做(P2 | TDD | agent | GDD 已标"不做无限地牢";首期按布局池 8~12 模板拼装 | 内测要求深度爬塔玩法 | auto_decided |
| 换装范围 | 换装首期 5 层(基础体/裤/衣/发型/饰件),非 19 层 | TDD | agent | 外观自定义非首期卖点;层结构预留到 19 层 | 外观系统成核心诉求 | auto_decided |
| 品质三档 | 作物品质三档:普通/银/金 | TDD | agent | 经济分层需要(即时变现 vs 等待升值的取舍) | 银金档无人区分、一律普通出售 | auto_decided |
### 已推翻(overturned——旧行保留,挂新行)
| 编号 | 决定 | 层 | 谁 | 依据 | 推翻条件 | 状态 |
|---|---|---|---|---|---|---|
| D-08 | 作物品质两档:普通/银 | TDD | agent | 早期小权衡:两档最简 | — | **overturned → D-18**(经济分层不足,改三档;铱档留 P1) |
| 早期品质两档 | 作物品质两档:普通/银 | TDD | agent | 早期小权衡:两档最简 | — | **overturned → 品质三档**(经济分层不足,改三档;铱档留 P1) |
## 队列纪律(给 agent 的使用说明)
## 队列纪律(使用说明)
- 新决定入队:下一号(当前最大 D-19,下一号 D-20);就现代决可登记不开条目,但状态必须写 auto_decided 并带理由+推翻条件。
- 新决定入队:下一个可用登记编号,并保持连续不复用;就现代决可登记不开条目,但状态必须写 auto_decided 并带理由+推翻条件。
- 用户翻案:旧行标 overturned 挂新行,受影响文档节重写(本台账只记录,不代改)。
- 概念层变更定稿后:速览卡"决定状态与原型验证项"字段随本文件最新版同步prompt 级纪律)
- 概念层变更定稿后:速览卡"决定状态与原型验证项"字段随本文件最新版同步。
@@ -1,9 +1,6 @@
# 脉冲荒原:节点争夺战
> Fast GDD v1 · 状态:ready\_for\_approval
> gddId`gdd-a5309290-edd4-4232-9c7c-d99024e0fa42`
> fingerprint`sha256-serde-json-v2:1d34b0cbee5f623a224102e4d832ad6ecc10ffbf27b876d9bc1e24a5483f06a3`
> approvalRequestId`gdd-approval-6f5de673-553d-499f-8ca1-8c32f4841bc0`
## 决定状态
@@ -64,12 +61,12 @@
- 单局时长:默认每局约10~20分钟;首个可玩闭环优先做到一局可完整开始、争夺、决胜和重开。
- 参考游戏:无
## Runtime 平台事实
## 平台事实
- Runtimeself-contained-web
- 视口:desktop / mobile
- 输入:keyboard / touch
- 预览:local-http
- 运行方式:浏览器内运行,离线可用
- 视口:桌面 / 移动
- 输入:键盘 / 触控
- 预览:本地启动后可在浏览器中试玩
## MVP 系统
@@ -1,6 +1,6 @@
# 速览卡:《星露谷物语》金样项目
> 12 字段版本;渲染器照旧出卡走审批。字段来源见每节尾注(概念层/定调记录/台账投影)。概念层变更定稿后本卡必须同步更新prompt 级纪律)
> 字段来源见每节尾注(概念层/定调记录/决策台账)。概念层变更定稿后本卡必须同步更新。
## 1. 游戏名称
《星露谷物语》(金样项目沿用案例名;新项目由概念层第 1 节定名)←概念层§1
@@ -30,8 +30,8 @@
## 7. 目标用户 ←概念层§5
牧场物语系慢节奏成长玩家+动森式"无压力日常"需求;单人、可反复、每次一至数个游戏日;不要求预先掌握复杂数值。
## 8. 平台事实 ←运行时注入,禁改
自包含 Web · 双视口(桌面/移动)· 键鼠/触屏双输入 · 本地 HTTP 预览(金样项目按 HTML 演示路线锁定)
## 8. 平台事实禁改
Web 浏览器运行 · 双视口(桌面/移动)· 键鼠/触屏双输入 · 本地启动后可在浏览器中试玩
## 9. MVP 系统(5 个)←概念层"最小闭环粗清单"
| 系统 | 最小功能 | 为什么必须有 | 验证方法 |
@@ -51,9 +51,9 @@
- 这样验证:测试者玩完第 1 日后是否主动说"再玩一天";能否说出"明天要先做什么"。
- 达标再扩展:玩家能自述明日计划后,才加社交深度与矿井分层。
## 12. 决定状态与原型验证项 ←台账投影(decision-log.md v3
- 已确认(confirmed):定调 D-01 / 单人 D-02 / 战斗伴生 D-03 / 日目标自设 D-07 / 活动统一接口 D-11 / 战斗节奏判定 D-13
- 技术代决(auto_decided,可一键翻案):D-04 时间片 / D-05 分区域切换 / D-06 28 日季 / D-09 营业条件 / D-10 出货箱日终 / D-12 工具占用 / D-16 矿井生成 P2 / D-17 换装 5 层 / D-18 品质三档(推翻 D-08 两档)。
- 等拍板(pending_user):D-14 体力战斗是否共享单池(暂按共享实现);D-15 背包格子/重量(暂按格子制,B 级阻断存档结构)。
- 待原型(prototype_pending):D-13b 战斗判定窗口手感(前摇帧数/450ms 无敌帧基准)。
- 默认兜底(default_pending):D-19 天气权重数值(默认已入表,带 designer_note)。
## 12. 决定状态与原型验证项(依据决策台账
- 已确认(confirmed):总体基调 / 单人范围 / 战斗伴生 / 日目标自设 / 活动统一接口 / 战斗节奏判定。
- 技术代决(auto_decided,可一键翻案):时间片 / 区域切换 / 季节周期 / 营业条件 / 日终结算 / 工具占用 / 矿井生成 P2 / 换装 5 层 / 品质三档(推翻早期品质两档)。
- 等拍板(pending_user):体力战斗是否共享单池(暂按共享实现);背包格子/重量(暂按格子制,B 级阻断存档结构)。
- 待原型(prototype_pending):战斗判定窗口手感(前摇帧数/450ms 无敌帧基准)。
- 默认兜底(default_pending):天气权重数值(默认已入表,带 designer_note)。
@@ -8,7 +8,7 @@
> 玩家在有限的时间与体力下,通过农场、探索与社交三组活动系统产出资源与关系,经物品与经济系统转化为投资,由时间系统推进日终,把一天的成果变成下一天的选择。
变更记录:
- 2026-09-05:战斗与敌人系统定为伴生风险定位,深度刻意受限,不进入最小闭环核心链(依据:概念分析 D-03)。
- 2026-09-05:战斗与敌人系统定为伴生风险定位,深度刻意受限,不进入最小闭环核心链(依据:概念分析 战斗定位)。
## 系统地图
@@ -66,7 +66,7 @@ P0 段:
负责一天制的节奏规则:什么时候推进日期、哪些系统收到跨天 tick、日终结算何时发生。它不负责奖励结算,也不负责作物成长规则——只负责"什么时候"和"谁被通知"。
### S06 战斗与敌人系统
负责战斗内状态、敌人行为与战利品请求。它不直接修改商店价格或 NPC 好感,不负责角色长期成长;战利品只提交请求,由 S07 物品系统入账。定位是矿井探索的风险与节奏变化,不是成长主轴(D-03)。
负责战斗内状态、敌人行为与战利品请求。它不直接修改商店价格或 NPC 好感,不负责角色长期成长;战利品只提交请求,由 S07 物品系统入账。定位是矿井探索的风险与节奏变化,不是成长主轴(战斗定位)。
### S07 物品、背包与制作系统
负责物品身份、容器、堆叠与配方队列。它是全项目的公共语言层——任何系统的产出都以 `item_id` 入账;它不负责物品的经济价值平衡,价格只由 S09 维护。
@@ -47,7 +47,7 @@
| BGM | ogg-18LUFS,循环点标记 | `bgm_{season}` 4 首+矿井 1 首 | — | 响度+循环 | 豁免(音频契约) |
| SFX | wav 单发 | `sfx_{event}`(事件↔音效映射表登记) | — | 同帧触发 | 豁免(音频契约) |
- 绘制工艺:陶泥儿 MCP 像素绘制路径逐类写参数(作物/图标/角色三类的封装流程;施工环境无产出通道时规格先行锁定、状态如实登记"缺失"。
- 绘制工艺:按项目实际制作路径逐类记录参数与封装流程;施工环境无产出通道时规格先行锁定、状态如实登记"缺失"。
- 音频契约说明:原作 XACT cue 名 435 候选/代码引用 230 个——本项目首期 SFX 事件 20 只起步,按事件总线 `sfx_event` 映射表登记,不逐 cue 复刻。
- 豁免类型仅限:程序化生成(矿井布局由表驱动拼装)/ UI 文本 / 本期不需要——每项豁免在契约行写明。
@@ -77,6 +77,6 @@
| # | 问题 | 去向 |
|---|---|---|
| 1 | 换装系统首期是否做全 19 层(或缩到 5 层) | → 台账代决(建议首期 5 层:基础体/裤/衣/发型/饰件;台账 D-17 |
| 1 | 换装系统首期是否做全 19 层(或缩到 5 层) | → 台账代决(建议首期 5 层:基础体/裤/衣/发型/饰件;台账 换装范围 |
| 2 | 锚点图方向需用户确认 | → 施工期提案卡 |
| 3 | 位图字体 vs 矢量像素风字体 | → 小批阶段随 UI 套件定 |
@@ -4,7 +4,7 @@
## 自足性检查(2026-09-06 生产态复评)
| # | 施工 agent 的问题 | 答案在哪 | 状态 |
| # | 施工的问题 | 答案在哪 | 状态 |
|---|---|---|---|
| 1 | 七个 P0 系统怎么行为? | 01 收编章(P0 七系统规则全文已收编@v1S06 P1 要点已收) | **过** |
| 2 | 表里有多少行内容、文本全填了吗? | 03 全量填充(作物8/敌人3/NPC12/文本40/物品46/配方14 全填,第八查全绿) | **过** |
@@ -13,7 +13,7 @@
| 5 | 代码怎么组织、跑在哪? | 01 代码组织+能力边界(三态全落位) | **过** |
| 6 | 怎么算做完? | 01 里程碑三判据+三件验收 | **过** |
**结论:六问全过——TDD 规格已自足,施工 agent 可只凭本 TDD 开工。**
**结论:六问全过——TDD 规格已自足,施工 可只凭本 TDD 开工。**
剩余非规格缺口(不阻塞开工,按里程碑推进):①P1 四系统(S05/S10/S11/S12)施工前补文档并收编;②资产表 30 行量产(按十步流程排期);③B 级两项(背包容量、生命体力共享)在 v0.1 存档实现前收口。
## 三件状态
@@ -1,7 +1,7 @@
# 技术实现:《星露谷物语》(TDD 金样 · 技术实现)
> 状态:reviewed | 基于 GDD:架构层@v3 + P0 系统文档@v1(收编) | 数据侧契约:data/contracts@v2
> **目标运行时:HTML**(GDD 平台事实锁定;本项目选 HTML 演示自包含 Web 路线。Unity/Godot/Cocos 项目结构相同:能力边界按下表换判定列,预览改陶泥儿驱动引擎弹窗,导出改驱动引擎 CLI
> **目标运行时:HTML**GDD 平台事实锁定;本项目按浏览器平台事实执行
> 平台事实:双视口(桌面/移动)· 键鼠/触屏双输入 · 本地 HTTP 预览
> 实证数字来源:星露谷 1.6.15 反编译知识库 v3(快照 stardew-1.6.15-7f1e5b8e2026-09-11);写新项目时替换为本项目数值。
@@ -112,11 +112,11 @@
- 边界约定:系统间只经公开 api 与事件总线通信,禁跨目录直改他人 state。
- 实证参照(原作,仅作组织参考):玩法逻辑全在一个 6.27MB 程序集,入口链 原生启动器→主 dll→GameRunner 帧循环(Update/Draw 非固定步长,真实毫秒累加器驱动逻辑);静态表/本地化文本/地图/运行状态/存档五类数据分置 Content、内存、Saves 目录,按需缓存加载。
## 外部库与 skill 引用
## 外部依赖与可复用能力
| 需求 | 用什么 | 来源与版本 | 实例化参数 |
|---|---|---|---|
| Web 游戏开发规范 | agc-web-game-development | `skill@当前版` | 双视口/双输入/本地预览/纯 HTML 交付 |
| Web 游戏开发规范 | 浏览器游戏开发规范 | 当前版 | 双视口/双输入/本地预览/纯 HTML 交付 |
| 地图渲染 | Canvas 2D 自研渲染器 | 手写(JSON 地图数据) | 四层结构(对齐原作 xTile 层语义) |
| 音频 | 原生 WebAudio | 浏览器内置 API | BGM/SFX 双通道 |
@@ -124,9 +124,9 @@
| 项 | 规定 | 依据 |
|---|---|---|
| 瓦片地图结构 | 16px 网格;农场 80×65、小镇 50×40、矿井按层生成 | 台账 D-05(区域分场景,非连续地图) |
| 瓦片地图结构 | 16px 网格;农场 80×65、小镇 50×40、矿井按层生成 | 台账 区域切换(区域分场景,非连续地图) |
| 镜头 | 跟随玩家+边界钳制;无缩放(固定整数倍) | GDD 顶层(无镜头玩法) |
| 场景切换 | 农场↔小镇↔矿井走连接点淡入淡出 ≤1s | 概念 D-05 定案"分区域切换" |
| 场景切换 | 农场↔小镇↔矿井走连接点淡入淡出 ≤1s | 概念 区域切换 定案"分区域切换" |
| 关卡数据 | `data/maps/*.json`(自定义 JSON:层/网格/对象点) | 契约 v2 |
## 输入与操作
@@ -150,7 +150,7 @@
## 构建与验证
- 构建:`npm run agc build`(产物自包含,本地 HTTP 起服)。(引擎项目双轨:陶泥儿驱动引擎弹窗预览=开发期验证;驱动引擎 CLI 导出=交付构建——验证分级同下。)
- 构建:项目标准构建命令(产物可离线运行,本地 HTTP 起服)。(引擎项目按所选引擎的预览与导出流程完成验证与交付。)
- 自动:无头构建通过+静态检查(资源引用存在、表引用完整——CI 跑验收七查)。
- 半自动:双视口浏览器验证——桌面 1920×1080 与移动 390×844 各完成"新档→第 1 日流程→存读档",截图比对缩放整數性(引擎项目=弹窗预览内同流程)。
- 手测清单:①移动视口摇杆+热区全操作可完成第 1 日;②场景切换三次无白屏;③后台 5 分钟返回,时钟与存档一致。
@@ -167,6 +167,6 @@
| # | 问题 | 去向 |
|---|---|---|
| 1 | 背包格子还是重量容量(影响存档与 UI 结构) | → 概念层决策卡(B 级阻断,台账 D-15 |
| 2 | 矿井逐层生成是否本期做 | → 台账代决(建议 P2,GDD 已标"不做无限地牢";台账 D-16 |
| 3 | 体力是否与战斗共享单池 | → 台账 D-14B 级待拍,暂按共享实现) |
| 1 | 背包格子还是重量容量(影响存档与 UI 结构) | → 概念层决策卡(B 级阻断,台账 背包容量 |
| 2 | 矿井逐层生成是否本期做 | → 台账代决(建议 P2,GDD 已标"不做无限地牢";台账 矿井生成 |
| 3 | 体力是否与战斗共享单池 | → 台账 体力共享B 级待拍,暂按共享实现) |
@@ -1,12 +1,12 @@
---
name: game-tdd-02-art-bible
description: 写"美术圣经"(美术侧)分册时使用。与总纲(技术文档层总纲分册)配套。
配套模板:templates/tdd-art-bible.md。配套金样:exemplars/stardew-tdd-art-bible.md。读者:美术 agent / 素材生产。
读者:美术 / 素材生产。
---
# 美术圣经 · 美术侧写法(策划 agent · TDD 分册之二)
# 美术圣经 · 美术侧写法(策划 · TDD 分册之二)
> 本文件承载美术侧的写作流程;模板在 templates/tdd-art-bible.md(保持纯净),金样在 exemplars/stardew-tdd-art-bible.md
> 本文件承载美术侧的写作流程。
## 一、这一件的判断立场
@@ -31,9 +31,9 @@ description: 写"美术圣经"(美术侧)分册时使用。与总纲(技
1. 输入齐了吗:概念层定调记录与身份基调(翻译源头)、系统文档全部可见
对象(资产总清单的范围)、物品表(item_id 绑定依据,数据侧已定)、
画风 skill(全局画风库可引用)
可复用画风规范
2. 本件在数据侧表结构定稿后开写(素材清单引用 item_id)。
3. 读取金样 exemplars/stardew-tdd-art-bible.md 了解契约表与资产状态表包含的信息类型(同层只读一次)。
3. 读取对应金样了解契约表与资产状态表包含的信息类型(同层只读一次)。
## 三、怎么写(模板即流程,按节)
@@ -54,8 +54,8 @@ description: 写"美术圣经"(美术侧)分册时使用。与总纲(技
### 4. 素材规格契约(逐素材一行,美术按此交付、程序按此消费)
| 素材 | 尺寸/帧数/方向数 | 命名规则 | atlas 格式 | 验收 | 绑定 item_id / 豁免 |
每个 gameplay 可见对象一行;多帧图禁当静态图、单元素区域图禁整图使用
(运行时绑定规则)。**怎么用陶泥儿 MCP 绘制→封装→交付,逐类写明工艺**
(与三段 skill 的工艺卡衔接)。**资产管线按目标运行时适配**:HTML=源文件
(运行时绑定规则)。**怎么绘制→封装→交付,逐类写明工艺**
(与三段复用能力的工艺卡衔接)。**资产管线按目标运行时适配**:HTML=源文件
+atlas/帧表 JSON 直接入包;Unity=Sprite 导入设置与图集;Godot=资源导入
.import);Cocos=Creator 资源与自动图集——规格(尺寸/帧数/命名)四运行时
一致,封装形式随程序侧契约。
@@ -67,7 +67,7 @@ description: 写"美术圣经"(美术侧)分册时使用。与总纲(技
**每个 gameplay 可见对象必有一行或显式豁免,没有第三种状态**——缺什么、
做到哪、谁验收过,一张表看全;程序接入填消费点,契约版本变更重验收。
**自足性判定**:资产表"全行非缺失且两维验收过"=美术侧构建完成——
施工 agent 只看本圣经+资产表即可产出全部素材,不回 GDD。
施工 只看本圣经+资产表即可产出全部素材,不回 GDD。
### 6. 量产流程与验证
十步流水:概念候选(3~10 张)→人选方向→编辑出锚点图(3~5 张)→锁圣经
@@ -90,4 +90,4 @@ description: 写"美术圣经"(美术侧)分册时使用。与总纲(技
1. 视觉锚必须能溯源到定调记录,不许无锚发明审美。
2. 素材契约每行必绑 item_id 或写豁免类型。
3. 画风卡引用必带版本;工艺走三段 skill 的工艺卡,不即兴写流程。
3. 画风卡引用必带版本;工艺沿用既有复用能力的工艺卡,不即兴写流程。
@@ -1,14 +1,13 @@
---
name: game-tdd-03-data-config
description: 写"数据与配表"(数据侧)分册时使用。与总纲(技术文档层总纲分册)配套。
配套模板:templates/tdd-data.md。配套金样:exemplars/stardew-tdd-data.md。
底料:归 TDD 素材两份提取件(S06 数值结构+架构字段字典,随包附件)。
读者:数值策划 + 程序。
---
# 数据与配表 · 数据侧写法(策划 agent · TDD 分册之三)
# 数据与配表 · 数据侧写法(策划 · TDD 分册之三)
> 本文件承载数据侧的写作流程;模板在 templates/tdd-data.md(保持纯净),金样在 exemplars/stardew-tdd-data.md
> 本文件承载数据侧的写作流程。
> 两份提取件是本件的现成实料:引用规则、示例表、验收七查直接改造成文。
## 一、这一件的判断立场
@@ -34,7 +33,7 @@ description: 写"数据与配表"(数据侧)分册时使用。与总纲(
(架构层的定性基准,在本件落成前 N 日验算)。
2. 先读两份提取件:字段字典全套规则与验收模板已在那里成文,本件是
项目实例化,不是重新发明。
3. 读取金样 exemplars/stardew-tdd-data.md 了解数据清单、验算表与验收结论包含的信息类型(同层只读一次)。
3. 读取对应金样了解数据清单、验算表与验收结论包含的信息类型(同层只读一次)。
## 三、怎么写(模板即流程,按节)
@@ -1,12 +1,12 @@
---
name: game-tdd-01-tech
description: 写"技术实现"(程序侧)分册时使用。与总纲(技术文档层总纲分册)配套。
配套模板:templates/tdd-tech.md。配套金样:exemplars/stardew-tdd-tech.md。读者:程序 agent / 工程师。
读者:工程师。
---
# 技术实现 · 程序侧写法(策划 agent · TDD 分册之一)
# 技术实现 · 程序侧写法(策划 · TDD 分册之一)
> 本文件承载程序侧的写作流程;模板在 templates/tdd-tech.md(保持纯净),金样在 exemplars/stardew-tdd-tech.md
> 本文件承载程序侧的写作流程。
## 一、这一件的判断立场
@@ -26,15 +26,15 @@ description: 写"技术实现"(程序侧)分册时使用。与总纲(技
## 二、动笔前
1. 输入齐了吗:架构层系统范围表+P0 清单(拆模块依据)、数据侧表结构契约
(加载与校验要引用)、skill 选型(实现类需求先查,不自造轮子)。
(加载与校验要引用)、可复用能力选型(实现类需求先查现成能力,不自造轮子)。
2. 读总纲判断立场;本件在数据侧表结构定稿后开写。
3. 读取金样 exemplars/stardew-tdd-tech.md 了解技术实现文档包含的信息类型(同层只读一次)。
3. 读取对应金样了解技术实现文档包含的信息类型(同层只读一次)。
## 三、怎么写(模板即流程,按节)
### 0. 系统行为规格(收编章——本件的灵魂)
每个 P0 系统一节,**收编**该系统文档的「玩家行动/状态与规则/反馈需求」
三节全文(标注"基于系统文档@v{N}")。施工 agent 只读这里就该知道这个系统
三节全文(标注"基于系统文档@v{N}")。施工 只读这里就该知道这个系统
怎么行为——不需要回 GDD。P1 系统收编一句话职责+开放状态,施工到该系统时
补收编。收编节只同步不改写:GDD 变了重同步,TDD 不在这里加观点。
@@ -59,15 +59,14 @@ Unity Tilemap/NavMesh、Godot TileMap 节点/AudioServer、Cocos 组件、
HTML 的 Canvas/WebAudio/localStorage)、**自封装**(基础 API 上自己写逻辑)、
**受限**(该运行时不适合,写明替代方案或降级)。不许答应 GDD 做所选运行时
做不到的事。运行时四选一(HTML/Unity/Godot/Cocos),TDD 不擅自换;
引擎项目由陶泥儿驱动弹窗预览与 CLI 导出,验证节按此写
引擎项目按所选引擎的预览与导出流程验证
### 5. 代码组织概览
承架构层目录映射:入口、场景、系统模块的文件组织,一图或一段写死。
命名与模块边界约定写清(面向生成代码的可读性:谁在哪个目录、什么前缀)。
### 6. 外部库与 skill 引用
实现类需求先查选型卡;每条引用带 `名字@版本 + 实例化参数`;无卡可用的
写明来源(CDN/手写)与理由。
### 6. 外部依赖与可复用能力
实现类需求先查可复用能力;记录来源、适用版本与实例化参数;没有现成能力时写明来源与理由。
### 7. 场景与镜头 / 输入与操作 / 音频
三节各一张表:场景(tilemap 结构/镜头行为,代决记台账);输入(动作×
@@ -90,5 +89,5 @@ HTML 的 Canvas/WebAudio/localStorage)、**自封装**(基础 API 上自己
## 五、红线(承总纲四条,本件特化)
1. 平台事实禁改;与 GDD 冲突走回执,不就地硬做。
2. skill 引用必带版本与参数。
2. 可复用能力引用必带版本与参数。
3. 里程碑判据不许写"基本""大致""感觉"。
@@ -1,9 +1,8 @@
### C2 01_核心玩法编排/SKILL.md(→ modules/system-types/01_核心玩法编排/SKILL.md
### C2 01_核心玩法编排 · 系统写法
---
name: gdd-sys-01-orchestration
description: 写"核心玩法/日循环编排"类系统文档时使用。与 skills/systems.md
配套(通用纪律不在此重复)。配套模板:modules/system-types/01_核心玩法编排/模板.md。
description: 写"核心玩法/日循环编排"类系统文档时使用。
---
# 核心玩法编排 · 系统写法
@@ -1,4 +1,4 @@
### C2 01_核心玩法编排/模板.md(→ modules/system-types/01_核心玩法编排/模板.md
### C2 01_核心玩法编排 · 模板
# __系统:S__(核心玩法编排类)
@@ -1,9 +1,8 @@
### C2 02_时间与日程/SKILL.md(→ modules/system-types/02_时间与日程/SKILL.md
### C2 02_时间与日程 · 系统写法
---
name: gdd-sys-02-time-schedule
description: 写"时间与日程"类系统文档时使用。与 skills/systems.md 配套。
配套模板:modules/system-types/02_时间与日程/模板.md。
description: 写"时间与日程"类系统文档时使用。
---
# 时间与日程 · 系统写法
@@ -1,4 +1,4 @@
### C2 02_时间与日程/模板.md(→ modules/system-types/02_时间与日程/模板.md
### C2 02_时间与日程 · 模板
# __系统:S__(时间与日程类)
@@ -1,9 +1,8 @@
### C2 03_生产种植经营/SKILL.md(→ modules/system-types/03_生产种植经营/SKILL.md
### C2 03_生产种植经营 · 系统写法
---
name: gdd-sys-03-farm-production
description: 写"生产/种植经营"类系统文档时使用。与 skills/systems.md 配套。
配套模板:modules/system-types/03_生产种植经营/模板.md。
description: 写"生产/种植经营"类系统文档时使用。
---
# 生产种植经营 · 系统写法
@@ -1,4 +1,4 @@
### C2 03_生产种植经营/模板.md(→ modules/system-types/03_生产种植经营/模板.md
### C2 03_生产种植经营 · 模板
# __系统:S__(生产种植经营类)
@@ -1,9 +1,8 @@
### C2 04_地图与探索/SKILL.md(→ modules/system-types/04_地图与探索/SKILL.md
### C2 04_地图与探索 · 系统写法
---
name: gdd-sys-04-map-exploration
description: 写"地图与探索"类系统文档时使用。与 skills/systems.md 配套。
配套模板:modules/system-types/04_地图与探索/模板.md。
description: 写"地图与探索"类系统文档时使用。
---
# 地图与探索 · 系统写法
@@ -1,4 +1,4 @@
### C2 04_地图与探索/模板.md(→ modules/system-types/04_地图与探索/模板.md
### C2 04_地图与探索 · 模板
# __系统:S__(地图与探索类)
@@ -1,9 +1,8 @@
### C2 05_采集与支线活动/SKILL.md(→ modules/system-types/05_采集与支线活动/SKILL.md
### C2 05_采集与支线活动 · 系统写法
---
name: gdd-sys-05-gathering-activities
description: 写"采集与支线活动"类系统文档(采集/钓鱼/挖矿等侧挂轻活动)时使用。
与 skills/systems.md 配套。配套模板:modules/system-types/05_采集与支线活动/模板.md。
---
# 采集与支线活动 · 系统写法
@@ -1,4 +1,4 @@
### C2 05_采集与支线活动/模板.md(→ modules/system-types/05_采集与支线活动/模板.md
### C2 05_采集与支线活动 · 模板
# __系统:S__(采集与支线活动类)
@@ -1,9 +1,8 @@
### C2 06_战斗与敌人/SKILL.md(→ modules/system-types/06_战斗与敌人/SKILL.md
### C2 06_战斗与敌人 · 系统写法
---
name: gdd-sys-06-combat
description: 写"战斗与敌人"类系统文档时使用。与 skills/systems.md 配套。
配套模板:modules/system-types/06_战斗与敌人/模板.md。本类型必读例子:exemplars/stardew-s06-combat.md。
description: 写"战斗与敌人"类系统文档时使用。
---
# 战斗与敌人 · 系统写法
@@ -1,4 +1,4 @@
### C2 06_战斗与敌人/模板.md(→ modules/system-types/06_战斗与敌人/模板.md
### C2 06_战斗与敌人 · 模板
# __系统:S__(战斗与敌人类)

Some files were not shown because too many files have changed in this diff Show More