你的三个数偏移、抖动、走位 —— 游戏从不告诉你是哪一种
「Just OK」这四个字里,藏着至少三种完全不同的失败。
偏移是一个常数:你每次都早 30 毫秒 —— 改一个设置就没了。抖动是随机误差:你忽早忽晚 —— 只有这一项需要练。走位是一条斜线:你开头好好的,越打越偏 —— 说明你在跟自己走,不是跟音乐走。
这一章的 demo 会敲 32 拍,把你的三个数量出来。接下来二十二章,全部围绕这三个数展开。
「Just OK」的信息量太低了
节奏天国的评价系统很克制:一关打完给你一个粗粒度的结果,最多再补一句「有点早了」之类的提示。作为游戏这没问题 —— 它不想让你去优化毫秒,它想让你去找感觉。
但作为一个想变强的人,这个反馈几乎没法用。它告诉你「不够好」,却不告诉你三件最要紧的事:
- 你是一直偏,还是时好时坏?
- 你是从头就偏,还是越打越偏?
- 你那几下大失误,是手没跟上,还是数错了位置?
这三个问题,对应三个可以分别测量、分别下药的数。
偏移(bias)= 误差的平均值。你系统性地早或晚。
药:校准。改一次设置,永久生效,一秒都不用练。
抖动(jitter)= 误差的标准差。你忽早忽晚。
药:练。而且这是全书唯一真正需要练的一项。
走位(drift)= 误差对拍号的斜率。你越打越偏。
药:练内部的钟。你现在跟的是自己,不是音乐。
三个数彼此独立 —— 一个人完全可以「偏移很大但抖动极小」(那是个好消息,一次校准就变强),也可以「偏移为零但抖动巨大」(那说明你根本没稳过,只是早晚各半互相抵消了)。
量一次
下面这台机器会响四下预备拍,然后跟着敲 32 拍。请按你平时的手感来,不要刻意修正 —— 我们要量的正是你平时的样子。
32 拍不是随便定的。第 3 章会讲清楚为什么:敲得越少,量出来的偏移越不可信。32 拍是「不至于烦」和「勉强够用」之间的折中。
散点图里那条虚线是回归线。它如果是斜的,你就有走位;它如果是平的、点又挤在中间那条绿带里,恭喜你。
散点图怎么看:四种形状
那张散点图值得你学会读。横轴是「第几下」,纵轴是误差(负在上方 = 早,正在下方 = 晚),中间那条绿带是判定窗。四种病在图上长成四种一眼可辨的形状:
# 把点画出来,病就自己现形了
① 云 · 均匀散在 0 附近,只是散得宽
● ● ●
● ● ● ● → 纯抖动。手不稳,没别的毛病。
● ● ●
② 整团上移 · 形状很紧,但整团离开了中线
● ●●● ●
●●● ● ●● → 纯偏移。手很稳,只是停在错的地方。
───────────── 0
③ 斜线 · 从中间开始,一路滑出去
●●
●●● → 走位。你的钟和音乐不是一个速度。
●●●
●●●
④ 两团 · 大部分在中间,几个点飞得极远
●●●●●●
───────────── 0
● → 认错格。那几下不是手慢,是敲到了隔壁。
●
大多数人是几种的混合。读图的顺序建议是:先找有没有飞得特别远的点(④),再看整团有没有偏离中线(②),再看有没有斜(③),最后才看它散得宽不宽(①)。这个顺序和后面「怎么办」的处理顺序是一致的 —— 因为前面几种更好治,也更容易被误当成最后一种。
第一个数:偏移,以及它的误差棒
偏移是最好对付的一个数,因为它是个常数 —— 常数可以被减掉。
但这里有个几乎所有人都会踩的坑:你量到的偏移,本身也带着误差。它的不确定度(标准误)等于「抖动除以敲击次数的平方根」:
偏移的误差棒 = 抖动 / √n (假设你的抖动是 30ms)
敲 8 下 → 偏移量到 ±10.6ms
敲 16 下 → 偏移量到 ±7.5ms
敲 32 下 → 偏移量到 ±5.3ms
敲 64 下 → 偏移量到 ±3.8ms
敲 128 下 → 偏移量到 ±2.7ms
想把误差棒压到 ±2ms,得敲 225 下。
这张表有一个非常实际的后果:如果你只敲了十几下就去改设置,你多半是在追噪声。你以为「今天偏了 5ms」,其实那 5ms 完全在误差棒之内 —— 明天再量一次,它可能变成 −4ms,而你什么都没做。
音游圈里有一种常见的仪式:每次开机先花几分钟「调一下偏移」。
如果每次只量十几下,这个仪式在统计上等价于掷骰子。你不是在校准,你是在给随机波动赋予意义,然后跟着它上下折腾。
正确的做法是:一次量够(几十下起步),记下来,然后很久都不要再动它。真正需要重新校准的场合只有三种:换设备、换显示模式、换了差很多的速度(第 17 章会说明为什么)。
第二个数:抖动,而且必须先扣掉走位
抖动是误差的标准差。它衡量的是「你有多不稳」,也是唯一一个真正需要练出来的量。
但计算它有一个不显然、却很要命的细节。如果一个人只是稳定地越打越快,他的误差序列会是一条漂亮的斜线 —— 每一下都很「准」地比上一下早一点点,没有任何随机成分。可是你如果直接对这条斜线求标准差,会得到一个很大的数。
于是一个走位问题,被误诊成了抖动问题。而这两者的药完全相反:走位要练内部的钟,抖动要练动作本身。诊断错了,接下来几周的练习就全浪费了。
所以这本书的引擎里,抖动一律取回归残差的标准差 —— 先把那条斜线减掉,剩下的才叫抖动。验证脚本里用一个已知参数的合成受试者检查过这件事:
合成受试者:起手偏 −30ms,抖 20ms,每拍多走 1.5ms
诊断器给出:起手偏移 −38.4ms
抖动 19.1ms ← 对上了
走位 1.57ms/拍 ← 对上了
如果不扣走位直接求标准差:35.0ms
→ 把一次稳定的加速,虚报成了将近两倍的手抖。
这是整本书里第一个「工程细节改变结论」的例子,后面还会遇到好几个(第 16 章的变速积分、第 5 章的时钟对齐)。
诊断的精度决定练习的方向。如果你手上只有一个笼统的「不准」,你只能笼统地多打几遍;如果你手上有三个正交的数,你每次练习都能知道自己在动哪一个。
第三个数:走位,一条能算出速度的斜线
走位的单位是「毫秒每拍」。它听起来小得可笑 —— 每拍才偏 1.5ms,谁在乎?
在乎的原因有两个。
第一,它会累积。1.5ms 每拍,32 小节(64 拍)之后累计 96ms —— 已经接近一个十六分格的宽度了。你在一首歌的开头好好的,到中段整个人对不上,就是这么来的。
第二,它可以被翻译成一个你能听懂的量:你心里的速度是多少。
走位 → 你以为的速度
音乐是 120 BPM,一拍 500ms
你每拍多走 1.5ms → 你心里的一拍是 501.5ms
→ 你心里的速度是 119.64 BPM
你不是「不准」,你是在用一个错误的速度稳定地走。
这个视角很重要:有走位的人往往手非常稳,他们的抖动可能比别人还小。他们的问题不在手上,在那个网格上 —— 他们把网格架好了,但架的位置一直在慢慢滑走,而他们没有用音乐去校正它。
那些「伴奏很稀疏」的关卡,就是走位的重灾区。伴奏密集的时候,音乐每隔几百毫秒就帮你校正一次,你的走位来不及累积;伴奏一稀疏,校正的机会没了,斜线就开始长。
更狠的是那些中途安静下来的段落 —— 那几秒里,音乐完全不校正你,走位以原速累积,等音乐回来的时候你已经偏出去半格了。第 7 章有一整章在处理这件事,而且有一个专门的自测。
第四种病:认错格
前三个数都是「几十毫秒」量级的。还有一类失误,量级完全不同。
如果你的误差超过了半个格子,那么严格来说,你已经不是「打偏了」—— 你是打在了旁边那一格上。这两件事在数据上长得像,在原因上毫无关系。
# 120 BPM,十六分网格 一格 125ms 半格 62.5ms ← 超过它,就是敲到隔壁格了 「勉强」窗 100ms 注意:半格(62.5ms)比「勉强」窗(100ms)还窄。 也就是说,在十六分密度下, 「勉强算中」的范围已经盖过了隔壁那一格 —— 游戏可能给你判中,但你打的其实是另一个音符。
demo 里那一行「敲到隔壁格 N 次」就是在数这件事。如果这个数不为零,先别练手,去第 9 章和第 13 章 —— 你需要的是重新数一遍这段的位置。
按这个顺序处理,因为收益是递减的:
1. 先看「敲到隔壁格」。不为零 → 这是位置问题,练手无效,去卷 II 和卷 III。
2. 再看走位。绝对值超过 0.5ms/拍 → 去第 7 章,练静默续拍。
3. 再看偏移。超过两倍误差棒 → 去第 5 章校准,十分钟白拿几个百分点。
4. 最后才是抖动。这一项没有捷径,但它也是唯一一项练了就一定会涨的。
把这四步倒过来做(先埋头练手)是最常见的时间浪费方式。
两个人,同样的「Just OK」
为了让这四个量的差别落到地上,看两个虚构但很典型的玩家。他们在游戏里拿到的评价一模一样,三个数却完全相反:
| 偏移 | 抖动 | 走位 | 隔壁格 | 该练什么 | |
|---|---|---|---|---|---|
| 小 A | −48ms | 18ms | 0.1 | 0 | 什么都不用练。去校准,十分钟解决。 |
| 小 B | +2ms | 52ms | 0.2 | 0 | 校准毫无用处。老老实实练稳,卷 II。 |
| 小 C | −5ms | 16ms | 2.4 | 0 | 手比谁都稳。问题在钟,去第 7 章。 |
| 小 D | −3ms | 21ms | 0.1 | 6 | 三个数都漂亮。他只是数错了地方,去第 9、13 章。 |
四个人,四条完全不同的路。如果只看游戏给的评价,他们会做同一件事:再打一遍。其中三个人会白白浪费掉这段时间 —— 小 A 打一百遍也修不掉那个 −48ms,小 C 打一百遍只会把他那台走得偏慢的钟练得更牢,小 D 打一百遍是在把一个错误的位置刻进肌肉里。
顺带说一句最容易被误读的一格:小 B 的偏移是 +2ms,看起来「很准」。这个数其实什么也没说 —— 一个人如果一半时候早 50ms、一半时候晚 50ms,平均值同样接近零。偏移接近零只意味着「你没有系统性倾向」,不意味着你稳。稳不稳只看抖动。
抖动里面还能再拆一层
三个数是这本书的诊断骨架,但抖动这一项其实还可以再拆。
想象一下你跟着节拍器敲。你脑子里有一台钟负责决定「什么时候该动」,而从「决定要动」到「手指真的落下去」,还要经过一段传导与肌肉收缩 —— 这段路本身也有波动。于是你观测到的抖动,是两种噪声叠在一起的结果:一个是钟不准,一个是手不准。
这两种噪声,练法完全不一样:钟不准要练「在心里维持网格」,手不准要练动作本身。而它们居然是可以分开量的 —— 运动噪声会在相邻的两个间隔里留下一个特征签名(一个负的自相关),顺着这个签名可以把两者反解出来。
这件事需要「你连续敲很多下、而且中间没有外部参照」的数据才做得了,所以它放在第 7 章的静默续拍里。那一章的 demo 会告诉你:你不稳的那部分,有多少是钟的锅,有多少是手的锅。
三个数怎么变成分数
最后交代一下这三个数的用途 —— 它们不是自我感觉,它们能直接算出你的成绩。
一个人反复去够同一个时间点,误差近似服从正态分布。给定你的偏移和抖动,再给定判定窗口有多宽,命中率就是一个可以积分出来的确定值。下一章会把这件事算给你看,而且会算出一个很多人不相信的结论:
把偏移修掉(什么都不用练),命中率能从 72.5% 涨到 81.8%;而「一整段全中」的概率,会涨四百倍以上。
这个反差之所以成立,是因为「全中」是一连串独立事件的连乘。单次命中率涨一点点,连乘几十次之后就会被放大成一个巨大的倍数。而恰恰是「全中」这件事,决定你能不能拿到那关的最高评价。
多久体检一次
不要每天量。三个数是能力指标,不是每日心情 —— 它们变化得很慢,而单次测量的噪声却不小(前面那张误差棒的表已经说明了这一点)。
建议的节奏是:
- 每周一次,用同一个速度、同样敲 32 拍,记下三个数。只看趋势,不看单次波动。
- 换设备、换显示模式之后立刻重量一次。这时候变的是偏移,而且可能变很多。
- 练某一项之前和之后各量一次。这是唯一能证明「这个练法对我有用」的办法 —— 否则你只能凭感觉,而感觉在这件事上出了名地不可靠。
把数字记在一个地方(备忘录、便签都行)。三周之后回头看那一列抖动,你会得到这本书能给你的最好的东西:一个不靠感觉、也不靠游戏评价的、你自己在变强的证据。
本章治的是:四种病的分诊台。它本身不治任何一种,但没有它,后面二十二章你都不知道该翻哪一页。
带走一句话:「我打不好」不是一个可以处理的问题。「我的抖动是 42ms、走位 1.8ms/拍」是。