- doc-conventions v5:新增第 7 节「概念封装纪律(概念对象化建模)」六条(概念即对象 / 属性归属唯一 / 包含关系显式写 / 概念状态用枚举 / 附加物独立成对象 / 关系不吸内容),原 7/8/9 节顺延为 8/9/10,文内章节指针同步 - CLAUDE.md 重组:只装全局元信息 + 硬性红线 + 规范导航表(字符量 3535→2423);文档写作规范巨型条目与代码规范摘要块整体下沉子文档(code-conventions.md 逐条核对为超集,零信息丢失);D2 旧代号标注清除、出处承接于 architecture.md - 活引用同步:code-conventions.md「硬性红线」节名 / architecture.md 命名行去 CLAUDE.md 指涉 / doc-conventions.md 地位声明改「只保留导航指针」 - active.md 记第 51、52 条
55 lines
3.8 KiB
Markdown
55 lines
3.8 KiB
Markdown
# Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)
|
||
|
||
扫雷推理层 + 自动战斗结算的两段式回合 Roguelike。个人开发,MVP 优先管线。
|
||
设计入口:`design/gdd/02-系统清单.md`(根索引)· 概念:`design/gdd/00-游戏概念.md` · 旧版 GDD 归档(只读参考):`design/archive/gdd-2026-09-14/`
|
||
|
||
> 本文件只保留全局元信息与硬性红线;一切领域细则在子文档,动手前先查「规范导航」。
|
||
|
||
## Technology Stack
|
||
|
||
- **Engine**: Godot 4.7.2 · **Language**: GDScript · **Build**: SCons(engine)+ Godot Export Templates · **资源管线**: Godot Import System + 自定义 resource pipeline
|
||
- **Godot 可执行文件(本机固定路径)**:`D:\code\godot\Godot_v4.7.2-stable_win64_console.exe`——headless / 命令行一律用 console 版;编辑器版为同目录 `Godot_v4.7.2-stable_win64.exe`
|
||
|
||
## Engine Version Reference
|
||
|
||
@docs/engine-reference/godot/VERSION.md
|
||
|
||
## 运行与验证(垂直切片)
|
||
|
||
工作目录 = 切片目录本身(含 `project.godot` 的那一层):
|
||
|
||
- 冒烟(全量 headless 断言):`…console.exe --headless --path . --script res://smoke/smoke_all.gd`
|
||
- 场景级探针(呈现层回归):`…console.exe --headless --path . res://smoke/ui_probe.tscn`;另有 `ui_tune_probe.tscn`(数值调整板)、`ui_click_probe.tscn`(合成鼠标事件行为探针)
|
||
- 调参期批量工具:`--script res://smoke/level_monte_carlo.gd`(关卡期望扫描)· `--script res://smoke/reward_expectation.gd`(奖励获取期望)
|
||
- 交付前验收 = smoke + 全部场景探针全绿(测试细则见 `docs/code-conventions.md`)
|
||
|
||
## Project Layout
|
||
|
||
- `design/gdd/` — 现行设计文档树(根索引 `02-系统清单.md`;文档增删必须同步它)
|
||
- `design/archive/gdd-2026-09-14/` — 旧版 GDD 归档(只读参考,不作事实引用)
|
||
- `design/registry/` — 跨系统事实登记(术语规范名、已锁数值)
|
||
- `production/` — stage、session-state、gate-checks、qa
|
||
- `prototypes/dungeon-sweeper-vertical-slice/` — 垂直切片(概念 demo 已删,验证报告留档 `docs/prototype-report-minesweeper-battle-concept.md`)
|
||
- `docs/` — 规范与参考文档(权威清单见下方导航)
|
||
|
||
## 规范导航(动手前先查表)
|
||
|
||
| 时机 | 权威文档 |
|
||
|---|---|
|
||
| **写代码 / 改代码前** | `docs/code-conventions.md`——结构 / 契约 / 测试 / 语言 / 数值 / 流程六类硬纪律 + 反面案例对照表 |
|
||
| **写文档 / 改文档前** | `docs/doc-conventions.md`——可读性第一、白话写作、概念封装、引用纪律、文档骨架 |
|
||
| 查系统设计 / 增删文档 | `design/gdd/02-系统清单.md`——根索引 + 中文规范名↔英文代号对照表 |
|
||
| 架构与决策记录 | `docs/architecture/architecture.md` + 同目录 `adr-*.md` |
|
||
| 引擎版本与参考 | `docs/engine-reference/godot/`(版本表已在上方 @ 引入) |
|
||
| 术语、已锁数值 | `design/registry/entities.yaml`——仅 owner 文档可修订,冲突须显式提出 |
|
||
| 会话进度记录 | `production/session-state/active.md`——每条 ≤3 行,详情外链 |
|
||
|
||
## 硬性红线(勿违反)
|
||
|
||
- **数值单一事实源**:玩法数值只存 `data/tables/`(.tres),经 `ConfigDB` autoload 类型化单点读取;禁止数值字面量与自建 `load()` 表路径
|
||
- **RNG 单点**:禁止 `randomize()` / 自建 RandomNumberGenerator——随机只经 `RngService` 封闭命名流
|
||
- **Core 层零 UI 依赖**:完整战斗必须可 `--headless --script` 跑通
|
||
- **fail-fast**:数据校验错误一律致命中止,无软回退
|
||
- **spec-AC 一致性**:规约与验收标准不得在同一输入上给出不同答案(所有 GDD 同尺度)
|
||
- **评审隔离**:`/design-review` 必须在独立会话跑(与 `/design-system` 隔离)
|