03 · 有趣的选择:系统设计的原子单位
03 · 有趣的选择:系统设计的原子单位
Sid Meier:游戏是一系列有趣的选择。 这句不是定义,是检验标准。用它逐个拷问你游戏里的每个决策点。
1. 有趣选择的六判据
一个决策点要成立,需要通过这六关。缺一即降级为"伪选择"。
| # | 判据 | 检验问句 | 不通过的典型 |
|---|---|---|---|
| 1 | 权衡性 Trade-off | 选 A 必须放弃什么? | 三个选项全都要 → 没有决策 |
| 2 | 情境性 Context | 是否存在"选 B 更好"的局面? | B 在任何局面都劣于 A → 支配 |
| 3 | 信息充分 Informed | 玩家做决定时知道足够多吗? | 盲选 → 决策变赌博 |
| 4 | 持续性 Consequence | 这个选择会持续影响多久? | 5 秒后归零 → 无所谓 |
| 5 | 即时反馈 Feedback | 做出选择后系统立刻回应了吗? | 沉默 → "游戏没听见我" |
| 6 | 可表达风格 Expression | 不同玩家会稳定地选不同选项吗? | 所有人选同一个 → 无风格空间 |
六关快速打分:每个决策点打 0–2 分,总分 < 8 分 → 重做。
2. 伪选择的五种形态与修法
| 形态 | 症状 | 修法 |
|---|---|---|
| 绝对支配 | A 在所有情境最优 | 见 §3 支配策略消除 |
| 无差异 | A、B 期望值完全相同 | 允许 5–10% 强度差,用趣味不对称换多样性;或加正交维度 |
| 假权衡 | 写着"牺牲 X 换取 Y",但 Y 从不重要 | 让 Y 在特定情境成为关键;或提高 X 的代价 |
| 延迟无感 | 选择影响 10 分钟后的结果,玩家感知不到 | 缩短反馈弧,或加即时可视化(进度条/DPS 预览) |
| 信息黑洞 | 玩家不知道选项的真实数值 | 公开数值(StS 意图/balatro 预览)或提供可试错 |
3. 支配策略(Dominant Strategy)的识别与消除
识别(三种手段,按成本递增)
- 遥测:某项使用率 > 60% 且伴随显著胜率领先 → 嫌疑
- 机器人模拟:让 AI 按最优策略跑 10⁴ 局,看收敛到几个 build
- 玩家共识:社区/论坛在两周内形成一致答案 → 已经支配了
消除(按顺序尝试,不要一上来就砍数值)
| 顺序 | 手段 | 说明 |
|---|---|---|
| 1 | 加机会成本 | 让 A 消耗某种稀缺资源(槽位/时间/前置条件) |
| 2 | 加硬克制 | 增加"专门反制 A"的敌人/局面(给对手工具,而非砍 A) |
| 3 | 加条件性 | A 只在 X 条件下强力,其他时候平庸 |
| 4 | 正交化 | 把 A 改成"不同"而非"更强"(见 §4) |
| 5 | 小幅 nerf | 单次 ≤ 10%,且优先 nerf 组合而非单卡 |
| 6 | 抬水位 | buff 其他选项把整体拉高(见 systems/09) |
原则:优先给对手加工具,而不是削弱玩家最爱的东西。 削弱引发"投入被否定"的流失。
4. 正交差异化(Orthogonal Unit Differentiation)
来源:Harvey Smith, GDC《Orthogonal Unit Design》
核心:选项之间应在正交维度上区分,而非数值强弱。
| 维度族 | 具体维度 | 例子 |
|---|---|---|
| 功能 | 输出 / 防御 / 控制 / 机动 / 支援 / 经济 | 坦克 vs 治疗 |
| 时机 | 前期强 / 后期强 / 爆发 / 持续 | 早期经济卡 vs 后期终结卡 |
| 空间 | 近战 / 远程 / 范围 / 单体 / 直线 | 霰弹 vs 狙击 |
| 资源 | 消耗 HP / 消耗弹药 / 消耗时间 / 无消耗 | 血魔法 vs 蓝魔法 |
| 风险 | 高方差高上限 / 低方差稳 | 暴击流 vs 稳定流 |
| 信息 | 需要信息才能发挥 / 无脑强 | 侦察类 |
正交化测试:写出每个选项的"最强局面"和"最弱局面"。
- 若某选项没有最弱局面 → 它支配
- 若两个选项的强弱局面完全重合 → 它们不是正交,是复制(数值不同而已),砍掉弱的那个
独立游戏的正交化捷径
小团队没有预算做 50 个单位。用这三条:
- 时机正交(早期/后期):成本最低,一张表就能做
- 条件正交("当你 X 时"):把数值强度换成触发条件,几乎零美术成本
- 槽位正交:限制同时携带数量 → 制造机会成本(Balatro 5 槽)
5. 决策的信息设计
信息不足 = 决策降级为赌博;信息过载 = 决策瘫痪。
| 原则 | 做法 |
|---|---|
| 公开对手意图 | 敌人下一步做什么可视化(StS intent、Into the Breach 全公开)→ 构筑从"猜"变成"可规划的算术" |
| 数值前置 | 决策前能看到结果预览(balatro 出牌前的分数预览) |
| 分层披露 | 主屏只放决策必需项,细节走 tooltip / 长按 / 二级页 |
| 消除隐藏随机 | 若结果有随机,要么公开概率,要么用伪随机分布(见 systems/10) |
| 可撤销 | 允许试探(Into the Breach 的 undo、建造类的无损回滚) |
信息公开的成本收益:对独立游戏,公开信息几乎总是净收益——它把"运气差"转化为"我算错了",归因而非甩锅,这是留存的关键。
6. 决策密度的节奏
不是决策越多越好。决策密度应与张力段对齐:
| 阶段 | 决策密度 | 单个决策的思考时间 |
|---|---|---|
| 教学段 | 低(1 个/分钟) | 3–8 秒 |
| 张力段 | 高(3–5 个/分钟) | 1–3 秒 |
| 释放段 | 低 | — |
| Boss / 高潮 | 高但间隔拉长 | 5–15 秒(重大决策) |
注意力预算:玩家同时可跟踪的信息块 = 4±1(Cowan,不是 Miller 的 7±2)。任何一个决策点涉及的信息块 > 4 → 玩家会用直觉而非思考 → 决策退化。
7. 让选择"有重量":承诺与锁定
有趣的选择需要代价。三种注入重量的方式:
| 方式 | 做法 | 效果 |
|---|---|---|
| 不可逆 | 选了不能改 | 重量最大,但需给足信息与预览,否则变惩罚 |
| 锁定协同 | 选 A 就锁死了后续分支(Hades Duo/Legendary) | 制造 build 的重量与身份 |
| 机会成本 | 有限槽位/资源 | 最安全:重量来自"没选的"而非"选错的" |
Meier 原则:不可逆决策之前必须给足信息,或提供重置/预览。让玩家在无知中做不可逆决策是设计暴力。
8. 决策点清单(交付物模板)
把游戏里所有决策点列成表,逐行过六判据:
| 决策点 | 频率 | 选项数 | 权衡 | 情境 | 信息 | 持续 | 反馈 | 风格 | 总分 | 处置 |
|---|---|---|---|---|---|---|---|---|---|---|
| 选武器 | 每局 1 次 | 5 | 2 | 2 | 2 | 2 | 1 | 2 | 11 | OK |
| 升级三选一 | 每级 | 3 | 2 | 1 | 2 | 2 | 2 | 1 | 10 | 补正交维度 |
规则:总分 < 8 的决策点,要么修要么删。决策点总数不是卖点,平均分才是。
9. 反模式
| 症状 | 修法 |
|---|---|
| 三个选项总选第一个 | 加正交维度或情境条件 |
| "平衡到所有选项一样强" | 平衡到无聊 —— 允许 5–10% 差异,目标是"没废卡 + 没无敌卡" |
| 决策后 3 秒无反馈 | 补即时声/画/数值回应 |
| 玩家不知道选项数值 | 公开或可试错 |
| 早期错误毁掉整局且不可逆 | 给预览/可重置;或把不可逆改为"机会成本" |
| 靠隐藏信息制造难度 | 难度应来自组合复杂度,不是信息剥夺 |
| 决策点太多导致疲劳 | 与张力段对齐,释放段清零 |
| 玩家的所有 build 收敛到同一个 | 说明多样性是假的 —— 查正交性 |
10. 参考
- Sid Meier, GDC 2012《Interesting Decisions》——六判据与"无情地砍"(他约 1/3 尝试被删)
- Harvey Smith, GDC《Orthogonal Unit Design》
- Matthias Worch, GDC 2014《Level Design in a Day》——有意义选择的落地
- Subset Games《Into the Breach》postmortem——完全信息设计