10 · 难度、随机性与失败设计
10 · 难度、随机性与失败设计
1. 心流通道
目标:D(t) ≈ S(t) × 1.05–1.15
- 上偏 → 焦虑(玩家觉得不公平)
- 下偏 → 无聊(玩家觉得没挑战)
- 通道随技能上升而右移 → 难度必须同步抬升,否则后期无聊
难度的四个来源(不要只用第一个)
| 来源 | 做法 | 成本 | 质量 |
|---|---|---|---|
| 数值 | 血更厚、伤害更高 | 极低 | 最差 —— 战斗变长而非变难 |
| 数量 | 敌人更多、组合更多 | 低 | 中 |
| 行为 | 新的攻击模式、新机制 | 中 | 最好 —— 玩家要学新东西 |
| 信息 | 信息更少、需要推理 | 低 | 好,但需保证可解 |
铁律:难度升级应加"机制维度",数值只微调。 后期敌人只是血厚 = 设计偷懒。
2. 难度曲线设计
五种形状
| 形状 | 适用 |
|---|---|
| 单调上升 + 呼吸锯齿 | 通用 |
| 阶梯(平台 → 跳升) | 教学型 |
| 双峰(中-高-中-更高) | 单局 20–40 分钟 |
| 前低后高(慢热) | 探索型 |
| 前高后低(钩子型) | 需要强开头的作品 |
呼吸律
高强度段 : 低压段 ≈ 2:1 ~ 4:1。全程高压 = 麻木;全程低压 = 弃游。
难度层级应是可学习的小修饰器
参考 StS Ascension:20 个累进的小修饰器,而非"简单/普通/困难"三档滑条。 好处:每个修饰器教玩家一个新东西,难度提升伴随理解提升。
3. 动态难度(DDA)的正确用法
| 做法 | 评价 |
|---|---|
| 隐形补偿:连续 2 次失败 → 参数下调 ~10% | ✅ 推荐 |
| 只向下补偿(帮弱者),不惩罚强者 | ✅ 必须 |
| 在 UI 显示"系统检测到你很菜" | ❌ 绝对禁止 |
| 难度随表现浮动,改变规则与手感 | ❌ 破坏可学习性 |
| 玩家能察觉 AI 放水 | ❌ 信任崩塌 |
DDA 安全边界:只调量与频率(敌人数量、生成间隔、掉落率),绝不调规则与手感(伤害倍率、判定窗口、移动速度)。
Rimworld 式:AI Storyteller 按"玩家实力指标"(殖民地财富)缩放威胁,且有紧张-喘息-再紧张的节律。纯随机事件流不成叙事。
4. 随机性设计
输入随机 vs 输出随机
| 类型 | 定义 | 评价 |
|---|---|---|
| 输入随机 | 随机发生在玩家决策之前(生成布局、发牌) | ✅ 玩家可规划 → 能动性保留 |
| 输出随机 | 随机发生在玩家决策之后(命中判定) | ⚠️ 削弱能动性,但可用 |
原则:尽量把随机前移。 Into the Breach 把随机全部移到"布局生成",玩家回合完全确定。
方差与赌注的匹配
| 场景 | 允许的变异系数 CV = σ/EV |
|---|---|
| 低赌注(小怪掉落) | 可 > 1(无所谓) |
| 中赌注(常规战斗) | 0.3–0.6 |
| 高赌注(Boss、关键决策) | < 0.2,或提供保底选项(必中/必出) |
头号规则:高赌注时刻必须低方差。
PRD(伪随机分布)
凡"连续 5 次不触发"会引发愤怒的地方(暴击、闪避、掉落),用 PRD。
P(N) = C·N,25% → C≈8.5%,50% → C≈30%。长期频率不变,尾部概率大幅压缩。
XCOM 教训:显示的数字必须可信
玩家把 >90% 视为"必然"。三种合法解法:
- 隐藏补偿(低难度+10% 命中)
- 透明化(像 XCOM2 那样拆解命中率构成)
- 不显示数字
唯一不可接受的:显示 95% 然后让它 miss。
5. 失败设计:游戏设计里最被低估的部分
失败的四条准则
| # | 准则 | 说明 |
|---|---|---|
| 1 | 失败必须可归因 | 玩家必须知道"我为什么输"。不可归因 = 设计事故 |
| 2 | 失败必须廉价 | 失败到重试 < 5 秒(Celeste 房间级重生 < 2 秒)。> 15 秒是留存杀手 |
| 3 | 失败必须产出信息 | 至少一条可学习的东西 |
| 4 | 失败最好还产出内容 | 叙事/关系/知识增量 → 重复就不成立了(Hades) |
降低失败成本的四种设计
| 做法 | 效果 |
|---|---|
| 检查点 / 房间级重生 | 重试成本归零 |
| 保留部分进度(知识、地图、关系) | 失败不白费 |
| 失败推进叙事(Hades) | 死亡成为资源 |
| 可选辅助层(Celeste Assist Mode) | 不稀释核心难度就扩圈 |
难度与可访问性的正交
Celeste 模式:核心难度不妥协,用颗粒化可选项扩圈。
- 辅助选项应正交、可组合(速度 50–100%、无敌、额外资源、辅助瞄准各自独立)
- 不锁成就、不标记存档、不羞辱玩家
- 文案:"我们为你提供工具",不是"简单模式"
铁律:通过可选项扩圈,而不是稀释核心设计。
6. 公平性清单
| # | 检查项 |
|---|---|
| 1 | 玩家的每次死亡都能归因到自己的某个决策吗? |
| 2 | 是否存在"看到就来不及反应"的攻击?(反应窗口 < 300ms 需预警) |
| 3 | 敌人是否有玩家无法获知的信息优势? |
| 4 | 随机失败是否有保底? |
| 5 | 是否存在无法规避的必死局面? |
| 6 | 高赌注时刻的方差是否够低? |
| 7 | 显示给玩家的数字是否与真实机制一致? |
| 8 | 失败后是否有清晰的下一次尝试方向? |
7. 挑战的"有趣"检验
难度 ≠ 有趣。 三种无趣的难度:
| 类型 | 症状 | 修法 |
|---|---|---|
| 数值墙 | 打不动,回去刷 2 小时再来 | 删除 grind,给机制解法 |
| 精度墙 | 要求像素级操作但无反馈 | 加输入缓冲、coyote time、判定宽容 |
| 信息墙 | 不知道该做什么,只能试错 | 补信息(意图可视化、提示) |
有趣的难度:玩家知道该怎么做,只是还没做到。这是心流的定义。
8. 反模式
| 症状 | 修法 |
|---|---|
| 后期敌人只是血厚 | 加机制维度(新行为、新组合) |
| 玩家不知道为什么输 | 公开伤害来源/敌人意图 |
| 重试 > 15 秒 | 房间级重生,< 5 秒 |
| 显示 95% 却 miss | 隐藏补偿 / 透明化 / 不显示 |
| 高赌注高方差 | CV < 0.2 或提供保底 |
| 玩家察觉到 rubber banding | 只做隐性且只向下补偿 |
| DDA 改变规则与手感 | 只调量与频率 |
| 只有三档难度 | 20 个可学习的小修饰器 |
| 辅助模式锁成就 | 解锁,且不标记存档 |
| 难度靠信息剥夺 | 难度来自组合复杂度,不是信息缺失 |
| 玩家在 grind 中度过后期 | 删除或缩短,补组合维度 |
9. 参考
- XCOM 95% miss 案例(隐藏补偿 / 透明化 / 赌注决定方差容忍度)
- Celeste Assist Mode(Maddy Thorson:难而温柔)
- Rimworld AI Storytellers(财富缩放 + 呼吸节律)
- Keith Burgun《Good Randomness》(输入随机 vs 输出随机)
- Subset Games Into the Breach(确定性设计)