很多独立开发者卡住的地方不是「不会写代码」,而是脑子里有个点子,却从来没把它写成一份能照着做的东西。于是开工第一天就选引擎、搭场景、写移动脚本,做到一半发现玩法没想清楚,推倒重来。今天的主题就是补上这一环:游戏设计文档(GDD)——以及如何让 DeepSeek 充当你的「策划实习生」,把一个模糊点子逼成能开工的施工图。

今日速览

  • GDD 不是给投资人看的 PPT,而是「写给三个月后的自己、以及写给 AI 看的施工图」:只保留决定「做什么/不做什么」的信息。
  • 先一页纸,再展开:One-Pager(Pitch)先锁定 核心循环(Core Loop) 一句话,能一句话说清「玩家反复在做什么」,项目才立得住。
  • 三种文档别混:One-Pager(卖点子)→ GDD(讲系统)→ TDD(讲技术实现,如 Godot 里节点怎么连、数据怎么存)。
  • GDD 必须能落到工程:Godot 官方建议「资源尽量贴近场景组织」,文件夹用 snake_case、节点名用 PascalCase,第三方资源统一放 addons/。
  • AI 时代 GDD 的新用途:它是喂给 DeepSeek 的「项目上下文」的源头。文档越结构化,DeepSeek 生成的代码越少跑偏。

核心学习内容

1. 三种文档,三种受众

文档受众回答的问题长度
One-Pager / Pitch自己、发行、朋友这游戏是什么?为什么有人玩?1 页
GDD未来的自己、协作者、AI有哪些系统?怎么互相咬合?5–15 页
TDD写代码的自己、AI用 Godot 怎么实现?数据存哪?按系统拆分

关键顺序是从上往下写。绝大多数「烂尾项目」的根因,是跳过 One-Pager 直接写代码——你连核心循环都没验证「好不好玩」,就先花了两周搭 UI。

2. GDD 的最小可用骨架(7 个模块)

一份小团队用得上的 GDD,只要这 7 块,多了就是自我感动:

  1. 一句话概念(High Concept):一个<类型>,玩家扮演<谁>,为了<目标>,用<核心机制>。
  2. 核心循环(Core Loop):30 秒内玩家做什么 → 得到什么 → 为什么再来一次。例:探索房间 → 战斗掉落素材 → 回营地升级 → 解锁新房间。
  3. 玩家动词表(Verbs):玩家能做的动作不超过 6 个(移动、攻击、闪避、交互、使用道具…),超出就是设计失控。
  4. 系统清单:战斗、成长、存档、UI 各写一句「输入什么、输出什么」。
  5. 关卡/内容结构:线性还是分支?用关卡表列出「关卡名 / 目标 / 新引入的机制」。
  6. 美术与音频基调:给 AI 出图/出音一个统一的「风格前缀」,避免风格漂移。
  7. 范围与里程碑:明确 MVP 是什么、哪些是「Nice to have」。这是防止无限膨胀的刹车。

3. 把 GDD 映射成 Godot 项目结构

GDD 写得再好,落不到文件夹就等于零。Godot 官方 项目组织文档 给的约定很实在,正好可以当作 GDD→工程的翻译表:

/project.godot
/docs/            # 放 GDD、TDD(加一个空的 .gdignore,不被引擎导入)
/characters/player/player.tscn
/characters/player/player.gd
/characters/enemies/goblin/goblin.tscn
/levels/level_01/level_01.tscn
/systems/save/save_manager.gd     # Autoload
/ui/hud/hud.tscn
/addons/                           # 第三方插件统一放这里

三条硬规则:文件夹与文件用 snake_case(C# 脚本除外);节点名用 PascalCase(与引擎内置节点一致);第三方资源一律进 addons/。照着这套约定,你的 GDD 里的每一个「系统」几乎都能一对一落成文件夹 + 场景 + Autoload,DeepSeek 之后生成代码时也能「按目录猜架构」。

🎯 DeepSeek 提示词

提示词 1 和 2 是一条「漏斗」:先用 1 把点子压成一页纸并逼你回答该不该做,再用 2 展开成完整 GDD。不要跳过第 1 步。

提示词 1:一句话点子 → 一页纸 Pitch(含「该不该做」的自我拷问)

适用场景:你脑子里只有一个模糊想法(如「一个猫咪经营小店的游戏」),想快速判断值不值得投入。

你是一位资深独立游戏制作人,擅长把模糊点子变成可执行的一页纸 Pitch。

【任务】我会给你一句游戏点子,请输出一份「一页纸 Pitch」,并诚实指出它最大的风险。

【输入】一句游戏点子(见末尾)。

【输出格式】(严格的 Markdown,不超过 400 字)
1. High Concept:一句话,格式「一个<类型>,玩家扮演<谁>,为了<目标>,用<核心机制>」。
2. 核心循环(Core Loop):用 A → B → C → A 的形式写出 30 秒内玩家反复做的事。
3. 独特卖点(USP):3 条,每条不超过 15 字,必须是「别人没强调过的」。
4. 目标玩家:一句话画像 + 3 个 Steam 对标游戏。
5. 最大风险:诚实列出 2 条「这可能不好玩/卖不动」的理由。
6. 一句话裁决:做 / 缩小范围再做 / 先别做,并给一句理由。

【约束】
- 不要写世界观背景故事,不要写剧情。
- 核心循环必须是动宾短语,不能出现「感受」「体验」等虚词。
- 若点子过于庞大,请在第 6 条建议把它缩小到可单人 3 个月完成的范围。

【点子】<在这里粘贴你的一句话点子>

提示词 2:一页纸 → 完整 GDD(按 7 模块骨架)

适用场景:点子通过了提示词 1 的裁决,现在要展开成能开工的 GDD。

你是一位独立游戏的系统策划。基于我给的一页纸 Pitch,写一份「最小可用 GDD」,目标读者是一个用 Godot 4 + GDScript 的单人开发者(也就是我)以及会帮我写代码的 AI。

【任务】输出 GDD,必须包含且仅包含以下 7 个模块。

【输出格式】
1. 一句话概念(High Concept)
2. 核心循环:写成「30 秒 / 5 分钟 / 1 小时」三个时间尺度各一段。
3. 玩家动词表:不超过 6 个动词,每个动词写「按键 / 输入方式 / 预期反馈」。
4. 系统清单:每个系统写「名称 / 输入 / 输出 / 依赖的其他系统」,至少覆盖战斗、成长、存档、UI。
5. 内容结构:给出一张关卡表,列为「关卡名 / 目标 / 本关新引入的机制 / 预计时长」。
6. 美术与音频基调:各写一段「风格前缀」(供 AI 出图/出音复用),并指定分辨率与色板方向。
7. 范围与里程碑:明确 MVP 包含什么、明确排除什么(Nice-to-have),并给出 3 个里程碑(原型 / 内容完成 / 可上架)。

【约束】
- 每个系统的「输入/输出」必须是可编程描述(数据结构、变量名),不要写「感觉很爽」。
- 动词表里的动词总数不得超过 6,超出请合并。
- 明确标注哪些设计是 MVP、哪些是可砍的。
- 全文用中文,术语首次出现时附英文。

【一页纸 Pitch】<粘贴提示词 1 的输出>

提示词 3:GDD → Godot 项目结构 + 可开工的任务清单

适用场景:GDD 定稿后,让它直接吐出一份能照抄的 Godot 目录树和「今天先做哪个」的排序。

你是一位熟悉 Godot 4 的技术策划。请把下面这份 GDD 翻译成「可直接开工的 Godot 工程结构」。

【任务】输出两部分:目录结构 + 开发任务排序。

【输出格式】
第一部分:Godot 项目目录树(代码块)
- 遵循官方约定:文件夹/文件 snake_case,节点名 PascalCase,第三方资源放 addons/。
- 每个「系统」对应一个 Autoload 或 /systems/ 子文件夹。
- 每个可玩单位对应 /characters/ 或 /levels/ 下的一个场景文件夹(.tscn + .gd 成对出现)。
- 用行内注释标出每个文件/文件夹「对应 GDD 第几节」。

第二部分:开发任务清单(表格)
- 列为「优先级 / 任务 / 涉及文件 / 依赖 / 预估工时(小时)」。
- 严格按「先能跑起来,再加内容」排序:第一个任务必须是能启动并看到主角的最小可运行场景。
- 把「能验证核心循环是否好玩」作为最高优先级,排在美术与 UI 之前。

【约束】
- 不要生成具体代码,只给结构与任务。
- 目录树里不要出现 GDD 中没提到的系统(不要自作主张加存档/成就)。
- 若某个系统依赖另一个系统,必须在「依赖」列写明。

【GDD】<粘贴提示词 2 的输出>

学习心得

过去我以为「用 AI 做游戏」= 让 DeepSeek 一直写代码。今天想明白了:AI 最大的杠杆其实在代码之前。一份结构化的 GDD 就是给 DeepSeek 的「长上下文契约」——它把「这游戏有哪些系统、每个系统的输入输出是什么」提前固化,后面无论让 AI 写角色移动、写存档、还是做 code review,都有一份不变的参照系,输出自然稳定得多。反过来,跳过 GDD 直接让 AI 写代码,你得到的是一堆「局部正确、整体打架」的脚本。

对我们「用 DeepSeek 从零做一款能上架 Steam 的游戏」这个目标来说,今天的产出可以直接复用:先花一个下午走完「一句话 → 一页纸 → GDD → Godot 目录树」这条漏斗,得到一个冻结的 MVP 范围——它既是开发路线图,也是之后每一次问 DeepSeek 时都要附上的项目上下文。上架 Steam 的愿望单、商店页文案,很多也能从一页纸 Pitch 里直接改写而来。

明日关注

  • 走一遍「提示词 1」:把自己最想做的那个点子压成一页纸,诚实回答第 6 条「该不该做」。
  • 用「提示词 3」把 GDD 落成 Godot 目录树,并只搭一个「主角能跑起来」的最小场景,验证核心循环。
  • 把定稿的 GDD 存进仓库 /docs/(记得加空 .gdignore),作为后续喂给 DeepSeek 的项目上下文源文件。

本文由自动化学习流水线每日生成,坚持即学即记。