卷 IV · 数CH 16深度 16/24

难度曲线与关卡节奏

第 7 章讲了难度该有多高,这一章讲难度该怎么起伏。这两件事完全不同,而后者被讨论得少得多。一句话概括:没有低谷,高峰就不成其为高峰。玩家很少是被难度打败的 —— 他们是被「没有间断」打败的。

强度序列喘息段疲劳线四拍教学Boss 前的安静

先排一关

下面这个编辑器把一关切成 10 段,每段有一个强度值。直接在柱子上拖动就能改。

先试试预设里的「全程高压」和「锯齿」,看诊断的差别。

◆ 三个指标
  • 高峰数:强度 ≥ 7 且比左右都高的段。这些是玩家会记住的时刻。
  • 喘息段:强度 ≤ 3 的段。这些是让高峰显得高的东西。
  • 最长连高:连续处于高强度的段数。这是疲劳的直接来源,超过 3 就危险。

注意第三个指标和「难度」是两回事:一关可以整体不难,但因为没有间断而让人疲劳;也可以整体很难,但因为节奏好而让人上瘾。

为什么必须有低谷

三个理由,一个比一个实在。

理由一:强度是相对的

玩家对强度的感知不是绝对的,是相对于刚才的。

一个强度 8 的段落,跟在强度 3 后面 → 感觉是 8。跟在强度 8 后面 → 感觉是 5,因为玩家已经适应了。

这意味着:如果你一路走高,玩家实际感受到的强度是趋于平坦的。你越加码,边际效果越小,最后只剩下疲劳。

理由二:注意力有物理极限

高强度段落要求玩家高度集中。而人的持续高度集中时间,大概在 60–90 秒量级。超过这个,注意力会自己滑落 —— 不是玩家不想集中,是生理上做不到。

这就是「玩着玩着突然犯低级错误」的原因。玩家不是变菜了,是注意力预算用完了。

◆ 一条可操作的规则

每 60–90 秒的高强度,配一段 15–30 秒的低强度。

低强度段不需要是「什么都不发生」。它可以是:

  • 一段简单的移动 / 探索
  • 捡东西、开箱子(有奖励但没威胁)
  • 一小段风景 / 剧情
  • 一个很简单的战斗(让玩家爽一下,重建信心)
  • 一个可选的收集品(可做可不做,玩家自己控制强度)

最后一条很妙:把强度控制权交给玩家,想休息的人可以慢慢找,想冲的人可以直接过。一举两得。

理由三:低谷是消化的时间

玩家在高强度时是执行,在低强度时才有余力理解

如果你刚教了一个新机制就马上进入高压,玩家没有时间把它变成本能。他会用得很别扭,然后觉得这个机制很烦 —— 而其实只是没消化。

四拍教学:新机制的引入节奏

第 7 章提过这四拍,这里展开。它是任天堂用了四十年的公式,每一拍都不可省。

做什么强度省掉的后果
① 安全展示 在没有威胁的地方让玩家见到它、随便试 1–2 玩家在死了三次之后才明白这是什么 —— 那三次纯属浪费
② 单独考核 只用这一个机制的挑战,难度低 3–5 玩家不确定自己有没有真的理解
③ 提高强度 同一个机制,要求更高 5–7 机制没有被「练熟」,后面用不出来
④ 组合 和之前学过的机制混合 7–9 每个机制都是孤岛,游戏没有复利
◆ 世界上最著名的四拍:马力欧 1-1

教「踩敌人」这一件事,任天堂用了大概二十秒:

  1. ① 安全展示:一只栗宝宝从右边走来。地面是完全平的,没有坑。玩家怎么试都不会死得很惨(最多失去一条命,但没有连带损失)。
  2. ② 单独考核:一只栗宝宝,前面有个矮台阶 —— 顺手就会跳,跳就会踩到。
  3. ③ 提高强度:两只栗宝宝一起来。
  4. ④ 组合:栗宝宝 + 需要跳过的坑,两件事同时管。

整个过程没有一个字的说明文字。第 21 章会用一个 demo 把这套东西量化 —— 你会看到这三条设计开关如何把「学会的比例」从六成拉到接近满分。

四拍是分形的

这个结构在不同尺度上重复出现:

  • 一关之内:教一个新机制的四拍
  • 一个世界之内:第一关介绍主题、中间几关展开、最后一关组合、Boss 是终极考核
  • 整个游戏:前期教基础、中期加机制、后期全部组合

这也解释了 Boss 的真正作用:Boss 是一次考试。它应该考察玩家在这一段学到的所有东西,而不是引入全新的东西。

✕ Boss 战最常见的设计错误

在 Boss 战里引入一个玩家从没见过的机制。

这看起来很有惊喜感,实际上很糟:玩家在最高压的场合,被要求学一个新东西。而高压恰恰是最不适合学习的状态(见「理由三」)。

结果是玩家死很多次,但学到的不是「我掌握了这个 Boss」,而是「我终于摸清了它的套路」—— 那是记忆,不是掌握

正确做法:Boss 用的每一个机制,玩家在前面的关卡里都单独练过。Boss 的难度来自组合和压力,不是来自陌生。

Boss 前的那段安静

一个几乎所有好游戏都有、但很少被明说的技巧。

在 Boss 战之前,放一段完全没有威胁的路:一条长走廊、一段电梯、一个存档点、一片安静的空间。

它的作用有四层:

  1. 生理上:让玩家的注意力预算回满,以最好状态迎接高峰
  2. 心理上:制造预期。「前面一定有大东西」,这个预期本身就是体验的一部分
  3. 结构上:给玩家一个明确的存档 / 准备时机
  4. 对比上:安静之后的爆发,比连续的高压强烈得多

《黑暗之魂》的雾门、《空洞骑士》的长廊、《DOOM》的电梯 —— 都是这个东西。它看起来像是「什么都没发生的浪费时间」,实际上是整段体验里性价比最高的几十秒。

怎么给自己的关卡排节奏

一个非常朴素、但真的管用的方法:

▶ 动手:给你的关卡打分

把你的关卡切成 8–12 段(每段 15–60 秒),凭直觉给每段打 1–10 分的强度,写成一行数字。

然后对着上面那个 demo 检查三件事:

  1. 有没有喘息段(≤3)?一个都没有 = 必须改
  2. 最长连高(≥7)超过 3 段了吗?超过 = 拆开
  3. 最后一段是不是最高的?不是 = 结尾会显得虎头蛇尾

这个练习十分钟能做完,但它抓出的问题,玩家要玩十分钟才能感觉到、而且说不清。

关于最后一段

第 3 条值得展开。一关的最后一段应该是这一关的最高峰,紧接着就是结束。

原因是「峰终定律」:人对一段体验的记忆,主要由最强烈的那一刻结束时的感受决定,而不是平均值。

所以:让高峰尽量靠近结尾,让结尾紧跟在高峰之后。如果你在最难的部分之后还塞了一段平淡的收尾路,玩家对这一关的记忆会被那段平淡稀释掉。

◆ 峰终定律的实用推论
  • 一关的结构应该是:起 → 伏 → 峰 → 立刻结束。
  • 过关的那一刻要有足够的反馈。因为那是「终」,它会被不成比例地记住。一个漂亮的过关演出,值得你花时间。
  • 不要在通关后立刻让玩家做无聊的事(长过场、菜单跳转、加载)。那会污染「终」。
  • 反过来:中间平淡一点没关系,玩家记不住平均值。这给了你喘息段存在的许可。

整个游戏的节奏,不只是一关

上面讲的是一关之内。放大一层,整个游戏也有节奏,而它有一些一关之内没有的规律。

◆ 三个特殊位置
位置它的任务常见错误
开头 3 分钟 让玩家决定继续玩 把最平淡的教学关放在这 —— 教学和有趣必须同时发生
中段 展开、加机制、给变化 最容易塌陷的地方。新鲜感没了,高潮还没到
结尾 兑现、收束 难度突然拔高,或者反过来虎头蛇尾

中段塌陷:最普遍的整体节奏问题

玩家的流失曲线通常有两个陡坡:前 3 分钟(没上手)和中段(腻了)。第一个大家都知道要重视,第二个经常被忽略。

中段塌陷的症状:玩家说「玩了一会儿就有点重复」。原因通常是你在中段只是在增加数量,没有增加种类 —— 更多的敌人、更长的关卡、更高的血量,但没有新的东西要学。

对策(成本从低到高):

  1. 把最好的一个新机制留到中段,而不是全部在开头给完。这是最便宜的一条 —— 只是调整顺序。
  2. 在中段安排一次「视角切换」:换个场景主题、换个玩法变体(一关限时、一关黑暗、一关不能攻击)。变化本身就是节奏。
  3. 在中段给一次能力解锁,让玩家重新审视已知的世界(第 17 章)。
◆ 一条排关卡顺序的实用启发

做完所有关卡之后,别按你做出来的顺序排。按「最好的那几关分散在哪」重排。

具体做法:给每关打一个「精彩度」分,然后确保:

  • 最精彩的一关 不要放在第一关(后面全是下坡)
  • 第二精彩的放在中段(撑住那个塌陷点)
  • 最精彩的放在接近结尾(峰终定律)
  • 第 2、3 关要稳(这时玩家还在决定要不要继续)

重排关卡顺序是零成本的,但对整体体验的改善经常比再做两关还大。

节奏不只是难度

最后一个扩展。「强度」不一定是难度,它可以是任何维度上的张力:

维度高强度低强度
难度硬仗、精确跳跃简单的路
信息密度新机制、复杂局面重复已知的东西
速度追逐、限时自由探索
情绪紧张、恐惧、悲伤安全、温暖
视听密集音乐、强对比色环境音、柔和色调

好的关卡会让多个维度的节奏互相错开:难度低谷时给一段信息密度高的(新东西出现),难度高峰时把信息密度降到最低(玩家只需要专注执行)。

这也是为什么 Boss 战的场地通常很简洁 —— 因为难度已经拉满,视觉和信息必须让路。

⚙ Godot 落地:把节奏做成可编辑的数据

如果你的关卡是程序生成或分段拼接的,直接把节奏曲线写成配置:

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。玩家自己选路线,等于把节奏控制权交给了玩家 —— 这是很高明的一招。
  • 模拟经营:节奏来自季节 / 事件周期。星露谷的一天有天然的节奏(早上规划、白天执行、傍晚收尾),一年有四季的大节奏。这类游戏最需要注意的是别让「每天都一样」——那是节奏完全平坦。
  • 叙事解谜:节奏 = 谜题难度 + 剧情揭示的交错。经典做法:难谜题解开后立刻给一段剧情奖励(低强度但高信息)。连续两个难谜题之间不给任何叙事,是这类游戏最常见的节奏错误。
  • 平台 / 动作:本章的主场。额外一条:把收集品放在喘息段,让想休息的玩家有事做,想冲的玩家可以跳过 —— 一个设计同时服务两种人。