难度曲线与关卡节奏
第 7 章讲了难度该有多高,这一章讲难度该怎么起伏。这两件事完全不同,而后者被讨论得少得多。一句话概括:没有低谷,高峰就不成其为高峰。玩家很少是被难度打败的 —— 他们是被「没有间断」打败的。
先排一关
下面这个编辑器把一关切成 10 段,每段有一个强度值。直接在柱子上拖动就能改。
先试试预设里的「全程高压」和「锯齿」,看诊断的差别。
- 高峰数:强度 ≥ 7 且比左右都高的段。这些是玩家会记住的时刻。
- 喘息段:强度 ≤ 3 的段。这些是让高峰显得高的东西。
- 最长连高:连续处于高强度的段数。这是疲劳的直接来源,超过 3 就危险。
注意第三个指标和「难度」是两回事:一关可以整体不难,但因为没有间断而让人疲劳;也可以整体很难,但因为节奏好而让人上瘾。
为什么必须有低谷
三个理由,一个比一个实在。
理由一:强度是相对的
玩家对强度的感知不是绝对的,是相对于刚才的。
一个强度 8 的段落,跟在强度 3 后面 → 感觉是 8。跟在强度 8 后面 → 感觉是 5,因为玩家已经适应了。
这意味着:如果你一路走高,玩家实际感受到的强度是趋于平坦的。你越加码,边际效果越小,最后只剩下疲劳。
理由二:注意力有物理极限
高强度段落要求玩家高度集中。而人的持续高度集中时间,大概在 60–90 秒量级。超过这个,注意力会自己滑落 —— 不是玩家不想集中,是生理上做不到。
这就是「玩着玩着突然犯低级错误」的原因。玩家不是变菜了,是注意力预算用完了。
每 60–90 秒的高强度,配一段 15–30 秒的低强度。
低强度段不需要是「什么都不发生」。它可以是:
- 一段简单的移动 / 探索
- 捡东西、开箱子(有奖励但没威胁)
- 一小段风景 / 剧情
- 一个很简单的战斗(让玩家爽一下,重建信心)
- 一个可选的收集品(可做可不做,玩家自己控制强度)
最后一条很妙:把强度控制权交给玩家,想休息的人可以慢慢找,想冲的人可以直接过。一举两得。
理由三:低谷是消化的时间
玩家在高强度时是执行,在低强度时才有余力理解。
如果你刚教了一个新机制就马上进入高压,玩家没有时间把它变成本能。他会用得很别扭,然后觉得这个机制很烦 —— 而其实只是没消化。
四拍教学:新机制的引入节奏
第 7 章提过这四拍,这里展开。它是任天堂用了四十年的公式,每一拍都不可省。
| 拍 | 做什么 | 强度 | 省掉的后果 |
|---|---|---|---|
| ① 安全展示 | 在没有威胁的地方让玩家见到它、随便试 | 1–2 | 玩家在死了三次之后才明白这是什么 —— 那三次纯属浪费 |
| ② 单独考核 | 只用这一个机制的挑战,难度低 | 3–5 | 玩家不确定自己有没有真的理解 |
| ③ 提高强度 | 同一个机制,要求更高 | 5–7 | 机制没有被「练熟」,后面用不出来 |
| ④ 组合 | 和之前学过的机制混合 | 7–9 | 每个机制都是孤岛,游戏没有复利 |
教「踩敌人」这一件事,任天堂用了大概二十秒:
- ① 安全展示:一只栗宝宝从右边走来。地面是完全平的,没有坑。玩家怎么试都不会死得很惨(最多失去一条命,但没有连带损失)。
- ② 单独考核:一只栗宝宝,前面有个矮台阶 —— 顺手就会跳,跳就会踩到。
- ③ 提高强度:两只栗宝宝一起来。
- ④ 组合:栗宝宝 + 需要跳过的坑,两件事同时管。
整个过程没有一个字的说明文字。第 21 章会用一个 demo 把这套东西量化 —— 你会看到这三条设计开关如何把「学会的比例」从六成拉到接近满分。
四拍是分形的
这个结构在不同尺度上重复出现:
- 一关之内:教一个新机制的四拍
- 一个世界之内:第一关介绍主题、中间几关展开、最后一关组合、Boss 是终极考核
- 整个游戏:前期教基础、中期加机制、后期全部组合
这也解释了 Boss 的真正作用:Boss 是一次考试。它应该考察玩家在这一段学到的所有东西,而不是引入全新的东西。
在 Boss 战里引入一个玩家从没见过的机制。
这看起来很有惊喜感,实际上很糟:玩家在最高压的场合,被要求学一个新东西。而高压恰恰是最不适合学习的状态(见「理由三」)。
结果是玩家死很多次,但学到的不是「我掌握了这个 Boss」,而是「我终于摸清了它的套路」—— 那是记忆,不是掌握。
正确做法:Boss 用的每一个机制,玩家在前面的关卡里都单独练过。Boss 的难度来自组合和压力,不是来自陌生。
Boss 前的那段安静
一个几乎所有好游戏都有、但很少被明说的技巧。
在 Boss 战之前,放一段完全没有威胁的路:一条长走廊、一段电梯、一个存档点、一片安静的空间。
它的作用有四层:
- 生理上:让玩家的注意力预算回满,以最好状态迎接高峰
- 心理上:制造预期。「前面一定有大东西」,这个预期本身就是体验的一部分
- 结构上:给玩家一个明确的存档 / 准备时机
- 对比上:安静之后的爆发,比连续的高压强烈得多
《黑暗之魂》的雾门、《空洞骑士》的长廊、《DOOM》的电梯 —— 都是这个东西。它看起来像是「什么都没发生的浪费时间」,实际上是整段体验里性价比最高的几十秒。
怎么给自己的关卡排节奏
一个非常朴素、但真的管用的方法:
把你的关卡切成 8–12 段(每段 15–60 秒),凭直觉给每段打 1–10 分的强度,写成一行数字。
然后对着上面那个 demo 检查三件事:
- 有没有喘息段(≤3)?一个都没有 = 必须改
- 最长连高(≥7)超过 3 段了吗?超过 = 拆开
- 最后一段是不是最高的?不是 = 结尾会显得虎头蛇尾
这个练习十分钟能做完,但它抓出的问题,玩家要玩十分钟才能感觉到、而且说不清。
关于最后一段
第 3 条值得展开。一关的最后一段应该是这一关的最高峰,紧接着就是结束。
原因是「峰终定律」:人对一段体验的记忆,主要由最强烈的那一刻和结束时的感受决定,而不是平均值。
所以:让高峰尽量靠近结尾,让结尾紧跟在高峰之后。如果你在最难的部分之后还塞了一段平淡的收尾路,玩家对这一关的记忆会被那段平淡稀释掉。
- 一关的结构应该是:起 → 伏 → 峰 → 立刻结束。
- 过关的那一刻要有足够的反馈。因为那是「终」,它会被不成比例地记住。一个漂亮的过关演出,值得你花时间。
- 不要在通关后立刻让玩家做无聊的事(长过场、菜单跳转、加载)。那会污染「终」。
- 反过来:中间平淡一点没关系,玩家记不住平均值。这给了你喘息段存在的许可。
整个游戏的节奏,不只是一关
上面讲的是一关之内。放大一层,整个游戏也有节奏,而它有一些一关之内没有的规律。
| 位置 | 它的任务 | 常见错误 |
|---|---|---|
| 开头 3 分钟 | 让玩家决定继续玩 | 把最平淡的教学关放在这 —— 教学和有趣必须同时发生 |
| 中段 | 展开、加机制、给变化 | 最容易塌陷的地方。新鲜感没了,高潮还没到 |
| 结尾 | 兑现、收束 | 难度突然拔高,或者反过来虎头蛇尾 |
中段塌陷:最普遍的整体节奏问题
玩家的流失曲线通常有两个陡坡:前 3 分钟(没上手)和中段(腻了)。第一个大家都知道要重视,第二个经常被忽略。
中段塌陷的症状:玩家说「玩了一会儿就有点重复」。原因通常是你在中段只是在增加数量,没有增加种类 —— 更多的敌人、更长的关卡、更高的血量,但没有新的东西要学。
对策(成本从低到高):
- 把最好的一个新机制留到中段,而不是全部在开头给完。这是最便宜的一条 —— 只是调整顺序。
- 在中段安排一次「视角切换」:换个场景主题、换个玩法变体(一关限时、一关黑暗、一关不能攻击)。变化本身就是节奏。
- 在中段给一次能力解锁,让玩家重新审视已知的世界(第 17 章)。
做完所有关卡之后,别按你做出来的顺序排。按「最好的那几关分散在哪」重排。
具体做法:给每关打一个「精彩度」分,然后确保:
- 最精彩的一关 不要放在第一关(后面全是下坡)
- 第二精彩的放在中段(撑住那个塌陷点)
- 最精彩的放在接近结尾(峰终定律)
- 第 2、3 关要稳(这时玩家还在决定要不要继续)
重排关卡顺序是零成本的,但对整体体验的改善经常比再做两关还大。
节奏不只是难度
最后一个扩展。「强度」不一定是难度,它可以是任何维度上的张力:
| 维度 | 高强度 | 低强度 |
|---|---|---|
| 难度 | 硬仗、精确跳跃 | 简单的路 |
| 信息密度 | 新机制、复杂局面 | 重复已知的东西 |
| 速度 | 追逐、限时 | 自由探索 |
| 情绪 | 紧张、恐惧、悲伤 | 安全、温暖 |
| 视听 | 密集音乐、强对比色 | 环境音、柔和色调 |
好的关卡会让多个维度的节奏互相错开:难度低谷时给一段信息密度高的(新东西出现),难度高峰时把信息密度降到最低(玩家只需要专注执行)。
这也是为什么 Boss 战的场地通常很简洁 —— 因为难度已经拉满,视觉和信息必须让路。
如果你的关卡是程序生成或分段拼接的,直接把节奏曲线写成配置:
class_name LevelPacing
extends Resource
# 每段的强度(1–10),关卡生成器按它挑选房间模板
@export var intensity: Array[int] = [3, 5, 2, 6, 4, 8, 3, 7, 9, 2]
func validate() -> Array[String]:
var issues: Array[String] = []
var rests := intensity.filter(func(v): return v <= 3).size()
if rests == 0:
issues.append("没有喘息段,玩家会疲劳")
var run := 0
for v in intensity:
run = run + 1 if v >= 7 else 0
if run >= 4:
issues.append("有连续 4 段以上高强度")
break
if intensity[-1] < intensity.max():
issues.append("最高峰不在结尾,收尾会显得虎头蛇尾")
return issues
然后在 @tool 脚本里跑 validate(),问题直接显示在编辑器里。把设计规则写成代码,你就不会在赶工的时候忘掉它们。
本章小结
- 没有低谷,高峰就不成其为高峰。强度是相对于刚才的,一路走高=感受趋于平坦。
- 注意力的生理极限约 60–90 秒;每段高强度后配 15–30 秒低强度。
- 低谷不是浪费,它是消化的时间 —— 高压状态下玩家学不会东西。
- 新机制的四拍:安全展示 → 单独考核 → 提高强度 → 组合。第一拍最常被省,也最不该省。
- 四拍是分形的(关 / 世界 / 全局)。Boss 是考试,不该引入新机制。
- Boss 前的安静:恢复注意力、制造预期、提供存档点、放大对比。
- 峰终定律:一关结构是「起 → 伏 → 峰 → 立刻结束」;过关那一刻的反馈值得花时间。
- 强度不止难度:信息密度、速度、情绪、视听 —— 让它们互相错开。
- 塔防:节奏就是波次编排,而且它是这类游戏最核心的设计工作。标准结构:几波常规 → 一波混合 → 喘息(给建造时间)→ Boss 波。「建造时间」就是这类游戏的喘息段,绝不能省。
- 卡牌 / 肉鸽:节奏由地图路线承担。杀戮尖塔的做法:精英(高峰)→ 休息点(低谷)→ 商店(低谷 + 决策)→ Boss。玩家自己选路线,等于把节奏控制权交给了玩家 —— 这是很高明的一招。
- 模拟经营:节奏来自季节 / 事件周期。星露谷的一天有天然的节奏(早上规划、白天执行、傍晚收尾),一年有四季的大节奏。这类游戏最需要注意的是别让「每天都一样」——那是节奏完全平坦。
- 叙事解谜:节奏 = 谜题难度 + 剧情揭示的交错。经典做法:难谜题解开后立刻给一段剧情奖励(低强度但高信息)。连续两个难谜题之间不给任何叙事,是这类游戏最常见的节奏错误。
- 平台 / 动作:本章的主场。额外一条:把收集品放在喘息段,让想休息的玩家有事做,想冲的玩家可以跳过 —— 一个设计同时服务两种人。