游戏剧本创作方法论
与其他 skill 的分工
| 需求 | 用哪个 |
|---|---|
| 玩法机制、游戏类型、生成 prompt | game-design-coach |
| 美术风格、调色板、像素规范 | pixel-art-style-guide |
| 主题/故事/角色/结构/台词/开发向剧本格式 | 本 skill |
核心判断:游戏剧本 ≠ 小说/电影剧本
三个不可移植的差异,决定了所有方法上的取舍:
- 主角要留白。电影主角越有个性越好;游戏主角个性越强,玩家越难代入。
- 有"失败"和"选项"。剧本必须为失败重来、分支、多结局留出结构位置。
- 剧本是生产文档。台词只是其中一部分,还要写指示(BG/CH/BGM/SE/CG/跳转/flag), 程序和美术要能直接照着做。写得再好但没法执行的剧本,在项目里等于零。
使用流程
按顺序走。每一步都有"过不去就别往下写"的硬门槛。
1. 主题 → 故事
主题有两种写法:一个词(生存 / 中二 / 黑道)或一个长句 ("一对吵架夫妻合作闯关的奇妙旅行" = 《双人成行》)。
门槛(两问都必须是"是"):
- 主题里是否包含游戏目的?(玩家要干什么)
- 主题是否足以撑起一个故事?(能不能长出冲突)
任一为否,回去改主题,不要硬写故事。
铁律:主题不能写在台词里。 主题只能通过两条路径表现:角色的选择与行为、故事的发展与结局。 角色开口说"友情才是最重要的",主题当场作废。
卡住时的三个出口 → references/theme-and-story.md
2. 角色设定
设定表分四类填,缺哪类补哪类 → references/character-sheet.md
- 基础:姓名、年龄、职业、学识、关系网
- 外部:相貌、体格、发型、服装、剪影
- 内部:性格、优点、弱点、爱好、价值观
- 特殊:剧本定位、口头禅、特殊技能、特殊装备
要点:年龄/职业/体格/发型都在借玩家的刻板印象省笔墨,也都可以反用来做反差。 弱点不是缺陷而是必需品——它让反派有深度、让主角可亲近。
3. 角色定位(本方法论里最实用的一块)
定位 = 角色在故事里的立场与功能。16 种定位、三类分组、以及"外观相似不算重复、定位相似才算重复"
的判据 → references/character-roles.md
两条硬规则:
- 一个角色可以有多个定位,重要角色的定位数量天然更多;定位随剧情切换(敌人→伙伴→叛徒)是塑造重量级角色的标准做法。
- 不允许"挂起"角色。敌人被击败的瞬间就用完了敌人定位,如果不立刻给他新定位 (伙伴/贤者/缓冲…),就只能死亡/失踪把他清出故事。挂在场上不动的角色是剧本漏洞。
4. 世界
从"何时 / 何地"起手,用"世界如果是这样的呢"发散,最后给世界定规则 (基础理论/基础规律)。缺规则 = 缺说服力。
设定深度可以无限,表现要取舍——设定表不是每条都要在游戏里说出来。 系统文档(伤害公式、属性克制、环境交互)本身就是世界观的一部分。
→ references/worldbuilding.md
5. 结构
开端 / 通往高潮的过程 / 高潮 / 结局。四要素各自的职责、章节的 4 种类型、
"听者回应"8 段期待曲线 → references/structure.md
开端必须同时完成三件事(缺一件玩家就流失):
- 传达游戏目的(接下来该干什么)
- 传达游戏玩法(教程)
- 传达这是什么游戏(主角是谁、关系、世界)
高潮的成败不在高潮本身,在通往高潮的过程。 玩家在过程里投入的成本 (升级、装备、伙伴羁绊、解谜)决定了高潮那一刻的情感当量。过程无趣,高潮必哑。
结论不能提前抛。必须先把玩家推到"心理饥饿"状态再给结果;高潮之后立刻收尾, 玩家兴奋度会陡降。
6. 选项与分支
选项是游戏交互性的落点,也是最容易做砸的地方。
两条铁则:
- 设计没有破绽的选项(不让玩家问"为什么我不能选那个?")
- 不给玩家压力(不让玩家问"这选项有什么意义?""我到底该选哪个?")
三类选项、插入时机、flag 变量、无意义选项的边界 → references/choices-and-branching.md
7. 文本:台词 / 旁白 / 指示
三者分工、台词的四大病(太长、说明性太强、缺乏动作、读不出情感)、修改前后对照、
言外之意与敬语的用法 → references/dialogue-craft.md
一句台词只传一个关键信息。 信息要拆开慢慢漏,不要一句话交代完时间地点人物动机。
8. 输出开发向剧本
剧本不是散文,是给程序和美术的执行文档。格式、字段、模板 → references/script-format.md
最小字段集:场景标题、BG、时间、CH 进出场、表情、BGM/SE、CG/动画、 台词(带角色 ID)、旁白、选项与跳转目标、flag 读写、字数上限与翻页点。
9. 体检
写完先跑机械检查,再做人工审读:
python3 scripts/script_lint.py assets/sample-script.md
python3 scripts/script_lint.py my_script.md --max-line 40 --theme 友情 正义
零第三方依赖。10 条规则对应本方法论里最容易违反的部分(台词过长、一句话塞太多信息、
连续台词无动作、独白过长、选项无差异、选项无后果、场景缺指示、主题写进台词…)。
输出行号 + 问题 + 建议,--strict 时有 ERROR 则退出码 1,可挂进 CI。
人工审读清单和反模式对照 → references/antipatterns.md
快速判断表:剧本出问题时先查哪一条
| 症状 | 大概率原因 | 去哪看 |
|---|---|---|
| 玩家不知道该干什么 | 开端没传达游戏目的 | structure.md 开端 |
| 玩家跳过所有对话 | 台词太长/说明性太强 | dialogue-craft.md 四大病 |
| 打完 Boss 觉得"就这样?" | 过程投入不足,不是高潮没写好 | structure.md 高潮 |
| 玩家吐槽"选了跟没选一样" | 无意义选项 / 缺必然性结果 | choices-and-branching.md |
| 角色说教味重 | 主题写进了台词 | 本文 §1 铁律 |
| 某个角色后半段就没戏了 | 角色被挂起,没给新定位 | character-roles.md |
| 队友加入后毫无存在感 | 沉默角色 | character-roles.md 伙伴角色 |
| 世界观崩 | 没定规则,或规则被剧情打破没解释 | worldbuilding.md |
| 前 30 分钟像在读说明书 | 前置准备写成了说明文 | structure.md §9 |
参考文件索引
| 文件 | 内容 | 何时读取 |
|---|---|---|
references/theme-and-story.md |
主题→故事的推导、卡壳时的三个出口、主题表现的两条路径 | 立项/开题时 |
references/character-sheet.md |
四类角色设定表、各字段的作用与反用手法 | 设计角色时 |
references/character-roles.md |
16 种角色定位、三类分组、定位切换与挂起问题 | 排角色阵容时 |
references/worldbuilding.md |
世界设定表、"世界如果是这样的呢"、世界规则 | 做世界观时 |
references/structure.md |
四要素、章节 4 类型、8 段期待曲线、开端技巧 | 搭结构时 |
references/choices-and-branching.md |
选项三类、两条铁则、时机、flag、分支管理 | 设计选项/多结局时 |
references/dialogue-craft.md |
台词四大病、改写案例、言外之意/敬语/语境 | 写台词时 |
references/script-format.md |
开发向剧本格式与模板、指示字段表 | 交付剧本时 |
references/antipatterns.md |
反模式清单 + 人工审读检查表 | 交付前自查/评审别人的剧本时 |
scripts/script_lint.py |
零依赖剧本体检脚本(10 条规则) | 写完任何一段剧本后 |
assets/sample-script.md |
符合格式的示例剧本(lint 应 0 ERROR / 0 WARN) | 需要格式范例时 |
assets/sample-script-bad.md |
故意踩满 10 条规则的反例(验证 lint 是否正常) | 想确认某条规则怎么报时 |
出处
方法论骨架来自佐佐木智广《游戏剧本怎么写》,以及该书的中文梳理笔记 https://zhuanlan.zhihu.com/p/435413053(作者在书之外补充了角色四类设定表、 章节类型的实践观点等)。本 skill 在此之上做了三件原书没有的事: 把散落的规则整理成可执行流程、给每条规则配了可查的症状表、把其中 10 条写成了机械可检的 lint 规则。原书更偏入门,实际项目里需要按品类(RPG/AVG/开放世界/手游)自行取舍。