系统设计失败案例库(七层 × 45+ 坏例→好例)
用法:方案评审时按 §8 的快速扫描顺序过一遍;也可按症状反查本表。
第 1 层 · 顶层与方向(9 条)
| # |
坏例 |
症状 |
好例 |
| 1 |
"塞尔达 meets 星露谷" |
缺扭转 Z,说完没人追问 |
"塞尔达 meets 星露谷,但农业产出直接改写地牢结构" |
| 2 |
"一款关于孤独的叙事冒险" |
无动词、无扭转,是情绪形容词 |
"单人航海投递,海上只有你一个活人,每次出海带回一个新发现" |
| 3 |
支柱写"好玩的战斗/沉浸的世界" |
套得上任何游戏 = 废话 |
"海上只有你一个活人" —— 能直接否决"好友联机" |
| 4 |
只有支柱没有反目标 |
联机/建造/技能树每月回潮 |
显式 Won't-have 清单,每条附"为什么不"+"何时重开" |
| 5 |
200 页 GDD |
第二个月起无人打开 |
GDD 降为索引,正文进 wiki,每页带读者+更新日期+责任人 |
| 6 |
差异化 = "我们美术更好" |
美术可复制 |
机制差异化:意义创新/减法创新/约束创新 |
| 7 |
立项时没看竞品差评 |
重复别人踩过的坑 |
抓 3–5 款竞品负评关键词 → 就是需求清单 |
| 8 |
发行前 4 周才想 trailer |
没有可拍的素材 |
立项就写 5 个镜头;写不出的功能往往不该做 |
| 9 |
用 3A 体量做基准 |
范围失控 |
按团队规模分层:1–2 人 ≈ $50K 量级 |
第 2 层 · 动词与机制(7 条)
| # |
坏例 |
症状 |
好例 |
| 10 |
功能清单式立项(建造+天赋+装备+成就) |
机制膨胀 |
动词清单 ≤5,功能合并到动词下 |
| 11 |
主动词 8 个,UI 只显示 4 个 |
隐藏动词 = 不存在 |
常驻 UI 或砍掉 |
| 12 |
每个系统都不错,拼起来没反应 |
只有机制没有系统 |
补耦合边:让 A 的输出成为 B 的输入 |
| 13 |
新增机制只叠加不替换 |
复杂度线性上升 |
机制预算:新增 1 个必须退役 1 个 |
| 14 |
"我们后期再加系统" |
后期加的一定是孤儿 |
系统必须在垂直切片里就存在 |
| 15 |
换皮测试通过(换 IP 完全成立) |
机制与主题没长在一起 |
换主题后机制应失效(Celeste dash = 冲破恐惧) |
| 16 |
孤儿系统(不服务任何支柱) |
每周排查漏掉 |
四周排查,任一"否"即处理 |
第 3 层 · 循环(7 条)
| # |
坏例 |
症状 |
好例 |
| 17 |
核心循环 > 3 分钟才闭合 |
空转、无成就感 |
拆小:把中间环节自动结算或缩短 |
| 18 |
两个循环只靠菜单切换 |
"两个游戏拼在一起" |
补资源互流 + 时间互压(Dave the Diver 昼↔夜) |
| 19 |
释放段什么都没有 |
内容多但无聊 |
强制三选二:奖励 / 信息 / 叙事 |
| 20 |
全程高强度无呼吸 |
麻木 |
强度比 2:1 ~ 4:1 |
| 21 |
中段无记忆点 |
玩家记不住任何一段 |
每 3–5 分钟一个 Beacon |
| 22 |
后期决策反而变少 |
收敛型循环的通病 |
后期注入新分支/新维度 |
| 23 |
重开成本 > 15 秒 |
留存杀手 |
房间级重生,< 5 秒(Celeste < 2s) |
第 4 层 · 决策(7 条)
| # |
坏例 |
症状 |
好例 |
| 24 |
三个升级选项总选第一个 |
伪选择 |
加正交维度或情境条件 |
| 25 |
平衡到所有选项 EV 完全一样 |
平衡到无聊 |
允许 5–10% 强度差;目标"没废卡+没无敌卡" |
| 26 |
决策后 3 秒无反馈 |
"游戏没听见我" |
补声/画/数值回应(juice 即信息通道) |
| 27 |
玩家不知道选项真实数值 |
盲选 = 赌博 |
公开意图(StS intent)/ 结果预览(balatro) |
| 28 |
早期不可逆选择毁掉整局 |
设计暴力 |
给信息+预览,或改为"机会成本"(有限槽位) |
| 29 |
靠隐藏信息制造难度 |
不是难度,是信息剥夺 |
难度来自组合复杂度;公开信息把"运气差"变"我算错了" |
| 30 |
所有玩家 build 收敛到同一个 |
多样性是假的 |
查正交性:每个选项要有"最强局面"和"最弱局面" |
第 5 层 · 数值与经济(9 条)
| # |
坏例 |
症状 |
好例 |
| 31 |
数值硬编码在代码里 |
改一次编译一次,迭代极慢 |
参数外置,启动读取 |
| 32 |
只看期望值不看方差 |
EV 平衡了但体验两极 |
输出 P5/P50/P95,看尾部 |
| 33 |
金币后期无意义 |
通胀 |
sink 随 faucet 同阶缩放 |
| 34 |
某段留存断崖 |
沙漠 |
检查该段 Payback(>2×中位数即沙漠),缩短或插过渡奖励 |
| 35 |
加了货币没有 sink |
死货币 |
列满 3 个独占 sink 再加这层 |
| 36 |
体力系统被骂 |
时间 gate 变惩罚 |
只做节奏:上限 ≥ 一局时长,恢复速率让玩家一天玩 2–3 次 |
| 37 |
伤害从 100 涨到 10⁹ |
玩家失去尺度感 |
每 30–50 级做数值压缩,或用对数显示 |
| 38 |
显示 95% 命中却 miss |
信任崩塌 |
隐藏补偿 / 透明化拆解 / 不显示数字(三选一) |
| 39 |
后期敌人只是血厚 |
战斗变长而非变难 |
难度加机制维度(新行为、新组合),数值只微调 |
第 6 层 · 深度(7 条)
| # |
坏例 |
症状 |
好例 |
| 40 |
前 2 小时耗尽所有新意 |
新鲜感衰减 |
内容投放递减 + 维度升级(见 principles/04 §5 节奏表) |
| 41 |
只有加算 |
数值游戏不是系统游戏 |
加乘算层 / 结算顺序 / 条件触发 / 槽位预算 |
| 42 |
100 个道具功能重复 |
数量 ≠ 多样性 |
正交化,或砍到 20 个 |
| 43 |
用元进度数值碾压掩盖重复 |
核心循环贫弱 |
元进度只解锁新玩法;让失败产出叙事增量 |
| 44 |
玩家发现不了 combo |
元素耦合不足 |
补耦合边 + 可视化(让玩家看见交互) |
| 45 |
特例越来越多("只有 X 才能 Y") |
特例是涌现的敌人 |
能普适就普适 |
| 46 |
"后期加更多内容就好了" |
内容线性成本 |
加维度,不加内容 |
第 7 层 · 清晰与流程(9 条)
| # |
坏例 |
症状 |
好例 |
| 47 |
教程文字墙 / 强制教程关 |
玩家跳过或弃游 |
L0 环境教学 + L1 JIT 提示,可跳过 |
| 48 |
弹提示时冻结输入和镜头 |
打断心流 |
边玩边教,提示非模态 |
| 49 |
玩家说不出为什么输 |
不可归因 = 设计事故 |
公开伤害来源与敌人意图 |
| 50 |
HUD 塞满、常驻噪声 |
注意力超载 |
常驻 ≤ 5–7 个,第 3 层默认隐藏 |
| 51 |
只用颜色/声音区分敌我 |
色觉障碍玩家被排除 |
加形状/图标/文字冗余 |
| 52 |
菜单层级 > 3 层 |
功能被埋 |
三层可达 + 搜索 + 默认筛选 |
| 53 |
只有三档难度 |
无法精细调节 |
颗粒化辅助选项(速度/生命/资源/辅助瞄准,可组合) |
| 54 |
辅助模式锁成就、标记存档 |
羞辱玩家 |
"辅助工具",不锁成就不标记(Celeste 框架) |
| 55 |
核心循环未验证就做美术 |
返工 |
灰盒阶段零美术投入 |
| 56 |
无 kill criteria,靠沉没成本续命 |
长期失血 |
立项写死 ≥3 条(指标/阈值/日期),周检 |
| 57 |
只测团队成员和好友 |
共同语境导致盲区 |
强制外部招募,画像匹配 |
| 58 |
一轮测 20 人 |
修不了问题 |
4 轮 × 5 人,修完再测 |
| 59 |
playtest 时解释/代操作 |
数据污染 |
沉默观察 + 反问"你觉得它应该是干什么的?" |
| 60 |
玩家说什么就加什么 |
需求被表面诉求带偏 |
追问背后问题;只修重复 ≥3 次 |
8. 快速扫描顺序(评审时按此顺序,15 分钟过一遍)
| 步骤 |
问一句 |
不过 → |
| 1 |
玩家在这里做了什么选择? |
只有最优解 → 见 #24–30 |
| 2 |
这个系统进入核心循环了吗? |
只在菜单里 → #16 |
| 3 |
第 10 小时的新意从哪来? |
答不出 → #40–46 |
| 4 |
玩家死一次学到了什么? |
答不出 → #49 |
| 5 |
换 IP 还成立吗? |
成立 → #15 |
| 6 |
数值改起来要重新编译吗? |
要 → #31 |
| 7 |
这个 feature 服务哪条支柱? |
答不出 → #3 |
| 8 |
工期砍半时它会被砍吗? |
会 → 确认不在关键路径 |
| 9 |
能用 15 秒演示吗? |
不能 → #1–2 |
| 10 |
六脉体检有 ≤1 分的维度吗? |
有 → 就地整改 |
9. 三条元反模式(上面 60 条的根源)
| 元反模式 |
表现 |
解药 |
| 加法思维 |
什么都想加,从不删 |
零和预算:加一个必须减一个;动词上限 ≤5 |
| 内容崇拜 |
用内容量解决一切问题 |
用组合维度换内容量(独立游戏买不起内容) |
| 文档代替可玩 |
用讨论和文档代替试玩 |
异步优先,可玩构建 > 文档 > 会议 |
10. 判读规则
- 单条命中 → 记录并安排修复
- 同一层命中 ≥3 条 → 该层有系统性问题,不是局部 bug,回到该层的 principles 文件重做
- 跨层命中 ≥5 条 → 停下来,回到 G1 概念门重新过一遍