第 12 章

开发者留下的后门

马特·索森(Matt Thorson)在发布那条推文之前,先删掉了三版草稿。这不是他惯常的工作方式。作为《蔚蓝》(Celeste)的主设计师,索森以精确和克制著称——他的关卡设计文档里几乎没有多余的词,每个平台的间距都经过像素级的计算。

但在2018年2月初的这天晚上,他面对的是一个需要超过设计语言来处理的问题。游戏发售已近两周,速通社区在第三章“旧遗址”发现的那个技巧正在以他预料之中却又超出预料的速度传播。

玩家们叫它“咖啡跳”。索森在自己的测试机上重新加载了那个场景,看着角色以他早就见过的方式卡入墙面,穿过本该在获得攀墙能力后才能翻越的障碍。他已经看过这个画面几十次了。

但这次不同。这次是别人发现的。他写下的最终版本只有两句话。第一句确认了开发团队在测试阶段就已经知晓这个技巧的存在。第二句解释了为什么不修复:“我们意识到,发现这个的人会比我们更懂这款游戏。”

这句话在社交媒体上发出的时间是2018年2月8日。它没有使用感叹号,没有附带表情符号,没有刻意制造传播点。但它在速通社区引发的震动,远超任何精心设计的公关文案。不是因为这句话说了什么前所未闻的内容——事实上,速通者们在过去二十年里一直在用行动论证同一个命题。

而是因为说这句话的人的身份。他不是旁观者,不是评论者,不是事后认可者。他是作者。而作者承认了读者的权威。

这不是一个孤立事件。把它放回2018年初的时间坐标里看,《蔚蓝》的发售恰好落在速通文化经历了一次深刻转变之后。三年前,AGDQ 2015将速通者推上了被数十万人注视的舞台。两年前,《超级马力欧64》的半按A键理论终于完成了十六年的攻坚,证明了速通者对游戏规则系统的阅读可以深入到何等微观的层面。一年前,GDQ的慈善筹款总额突破了千万美元的量级。

速通不再是地下室里的孤独搏斗,它已经获得了某种文化可见性。而可见性意味着压力——也意味着回应。

索森的推文之所以能成为一个标志性时刻,恰恰是因为它把这种外部压力转化为了一个内部决定。他没有说“我们尊重速通社区的创造力”这类笼统的外交辞令。他说的是一个更具体的判断:那些花了数百小时拆解他设计的规则系统的人,在某个局部上,比他自己更理解这套系统。这就是“咖啡跳”事件的真正分量。

它不是一个开发者对玩家社群释放善意的温情故事。它是一个认识论事件。

要理解这一点,需要先回到那个技巧本身。《蔚蓝》第三章“旧遗址”的核心机制围绕着一种名为“咖啡”的临时增益道具展开。拾取后,角色的移动速度在极短时间内大幅提升。在正常流程中,玩家需要先获得“攀墙跳”能力——角色蹬墙后可以再次跳跃——才能通过某些垂直墙面。但咖啡提供的速度加成改变了角色与墙面碰撞判定的交互方式。在极其精确的按键序列下——具体来说,是在拾取咖啡后的特定帧窗口内执行蹬墙跳跃——角色会被游戏物理引擎判定为同时处于“接触墙面”和“离开墙面”两种状态之间。

这个判定间隙极其短暂,大概只有几帧的宽度。但它足够让角色的碰撞体积在那一瞬间穿过墙体。对于速通者而言,这意味着可以跳过整个获取攀墙跳能力的流程。节省的时间以分钟计——在速通的尺度里,这是巨大的优势。

但这个技巧并非玩家偶然发现的漏洞。它在开发团队的质量保证测试阶段就已经被标记。按照游戏工业的标准流程,这类“序列断裂”(sequence break)会被归入需要修复的漏洞清单。修复方式通常很直接:调整碰撞判定的容错范围,或者限制咖啡效果触发时的特定动作。成本不高,效果明确。绝大多数商业游戏都会在发售前或首日补丁中处理掉这类问题。

《蔚蓝》的开发团队没有这样做。这不是因为他们对技术漏洞视而不见。《蔚蓝》的代码质量在独立游戏圈内以精良著称,发售初期的稳定性几乎无可挑剔。这是一个有意识的决定。

索森在后来的一次访谈中提供了更多细节:团队内部讨论过是否修复咖啡跳。讨论的焦点不是技术可行性,而是设计哲学层面的问题。“这个技巧不会影响普通玩家的体验,”索森解释道,“普通玩家不可能偶然触发它。它需要的输入精度太高了。只有那些真正在拆解游戏的人才会遇到它。”

“真正在拆解游戏的人”——这个表述值得被仔细审视。它暗示了一种分类法:玩家不是铁板一块的群体,而是分布在从“体验内容”到“拆解系统”的光谱上。速通者位于这个光谱的极端位置。他们的行为模式不是消费内容,而是阅读规则。而当一个读者对文本的阅读深入到作者未曾预见的层面时,谁对文本拥有更权威的解释权?索森的回答是:在某些时刻,是读者。

这个回答不是凭空产生的。它的前提条件需要往前追溯至少十五年。2003年,《塞尔达传说:时之笛》的任意代码执行(ACE)被发现时,任天堂的反应是沉默。那不是认可的沉默,而是不承认其存在的沉默。在任天堂的官方话语体系中,玩家通过操纵内存指针来执行任意代码的行为根本不属于“玩游戏”的范畴。它是系统被破坏后的异常状态,不值得被讨论。这种态度代表了那个时代主流开发商的共识:速通是玩家单方面的行为,与游戏设计无关。

开发者生产规则,玩家遵守规则。任何偏离这条路径的行为都是规则的失效,而非规则的延伸。

这种共识在之后的十年里缓慢松动。部分原因是速通社区的规模和技术深度已经无法被忽视。当《超级马力欧64》的玩家花费十六年时间证明半按A键可以节省零点几秒时,他们实际上完成了一项任何质量保证团队都不可能完成的研究——不是因为QA团队不够专业,而是因为没有任何商业开发周期会允许对一个按键的输入精度进行长达十六年的持续测试。速通者提供的是一种开发者无法自行获得的知识:对游戏系统在极端条件下的行为的完整测绘。

2015年AGDQ之后,这种知识开始获得更广泛的可见性。当Cosmo Wright在数十万观众面前完成《风之杖》的屏障跳跃时,观看者看到的不仅是一个技巧的成功执行。他们看到了一个此前不可见的过程被推到了舞台中央:一个人如何用数年时间学会阅读一套规则系统的每一个缝隙。这种阅读行为本身获得了表演性。

开发者注意到了。2017年,《空洞骑士》(Hollow Knight)的开发团队Team Cherry发布了一次更新。更新日志中有一条措辞不同寻常的说明:“修复了‘暗影冲刺取消’技巧中允许玩家跳过部分战斗场景的漏洞。但保留了‘下劈弹跳’在特定墙体上的额外高度判定,因为我们知道有人依赖它。”

“因为我们知道有人依赖它”——这又是一个认识论声明。Team Cherry不仅意识到了速通者的存在,而且将这种意识纳入了设计决策的考量框架。他们修复了一个技巧,却保留了另一个。选择的标准不是技术上的便利性,而是对玩家社群行为模式的理解。“下劈弹跳”在速通路线中的应用已经相当成熟,修复它会破坏大量已有的路线规划。而“暗影冲刺取消”相对较新,尚未在速通策略中占据核心位置。Team Cherry的决策实质上是在进行一种成本收益分析:修复一个漏洞所节省的“设计完整性”,与破坏速通者已有知识体系所造成的损失之间,哪个更大?他们选择了保留后者。

这不是孤例。同一年,《死亡细胞》(Dead Cells)的开发商Motion Twin在游戏的早期访问阶段加入了一个内置计时器。这个计时器的功能简单到几乎简陋:它只记录从游戏开始到结束的现实时间,没有分段计时,没有最佳成绩记录,没有任何社交分享功能。但它的存在本身就是一个信号。

把它放在菜单里,意味着开发者承认“以最快速度通关”是玩这款游戏的合法方式之一——不是被容忍的偏差行为,而是被设计接纳的选项。到了2018年,《蔚蓝》发售时,这种趋势已经积累了一定的动量。《蔚蓝》本身在设计层面就为速通者提供了多重便利:章节之间的过渡动画可以跳过,过场对话可以快速推进,游戏内部记录着每章的通关时间和死亡次数。这些功能对普通玩家而言是便捷性设计,对速通者而言则是基础工具。

但咖啡跳的保留超越了工具层面。它不是为速通者提供便利,而是为速通者保留了可能性——一种偏离设计路径但具有技术深度的可能性。

索森的推文将这种实践上升为了明确的话语。他说“发现这个的人会比我们更懂这款游戏”时,他承认的不只是一个具体技巧的合法性。他承认的是速通者作为读者的权威——在某些局部,他们的理解深度可以超越作者。

这个判断需要被谨慎对待。它很容易被浪漫化为“开发者与玩家共同创作游戏”的美好叙事。但实际情况更为复杂。

速通者理解游戏的深度,建立在对规则系统的极端拆解之上。这种拆解行为的本质是工具性的:它不关心设计意图,不关心叙事主题,不关心美学体验。它只关心一件事——输入如何通过规则系统转化为输出,以及这个过程如何被优化到极限。

当一个速通者在《蔚蓝》中执行咖啡跳时,他并不是在与索森的设计意图进行对话。他是在与《蔚蓝》的物理引擎代码进行对话。他对这款游戏的“理解”是高度专门化的——它覆盖了碰撞判定的帧级行为,但可能完全忽略了对游戏叙事层面的任何关注。

索森承认的正是这种专门化的权威。他说“比我们更懂”时,“懂”的对象有明确的限定范围:不是懂这款游戏的全部,而是懂这款游戏在被推向极限时的系统行为。这是一种有限度的承认,但它的限度恰恰构成了它的可信度。

这种承认的后果是多重的。最直接的后果是:咖啡跳成为了《蔚蓝》速通的标准技术之一。在随后的几个月里,速通者不断优化这个技巧的执行精度和路线整合方式。

Any%类别的通关时间被压缩到了三十分钟以下——这个数字在游戏发售初期是不可想象的。而每一次时间的大幅压缩,都部分依赖于咖啡跳提供的路线捷径。

更深层的后果在于规则边界的模糊化。传统上,速通社区对“合法技巧”与“作弊”的区分建立在一个隐含的前提上:游戏代码是固定的参照物。任何利用游戏自身代码实现的操作都是合法的,任何通过外部工具修改代码的操作都是作弊。这条界线虽然在实际执行中有许多灰色地带——比如控制器宏的争议、模拟器降速的争议——但它的基本原则是清晰的:你不能修改游戏本身。

但开发者的介入改变了这个前提。当Team Cherry在更新日志中明确表示“保留某个技巧作为补偿”时,他们实际上把设计意图重新引入了判断框架。一个技巧是否合法,不再仅仅取决于它是否利用了游戏代码本身的可能性,还取决于开发者是否“认可”它。如果开发者主动保留了一个漏洞,那它就不再是漏洞——它是功能。

如果开发者在后续补丁中修复了另一个漏洞,那它就不再是合法技巧——它是已被修复的错误。这种判断框架将权力从速通社区转移到了开发者手中。而开发者使用这个权力的标准是不透明的。Team Cherry保留“下劈弹跳”而修复“暗影冲刺取消”,是基于什么原则?是技术深度?是对速通路线的影响程度?还是纯粹的直觉?他们从未给出过系统性的解释。

这就为后续的争议埋下了伏笔。如果开发者的意图可以决定一个技巧的合法性,那么当开发者没有明确表态时——这是绝大多数情况——速通者应该如何判断?如果一个技巧被开发者无意中保留,它算不算“被认可”?如果一个技巧在某个版本中存在但在后续版本中被修复,速通者应该使用哪个版本来进行记录竞争?这些问题在2018年还没有成为危机的导火索。但它们已经开始在社区讨论中浮现。

《蔚蓝》速通社区的版面上出现过这样的争论:某个玩家发现了一个新的穿墙技巧,但触发条件比咖啡跳更苛刻,且明显利用了物理引擎的一个边界情况——角色在受到伤害击退的同时执行特定输入,导致碰撞体积被错误地重置。这个技巧是否应该被接受?一部分玩家认为它和咖啡跳属于同一类别:都是利用游戏代码的内在行为,都没有修改游戏本身。另一部分玩家则指出关键区别:咖啡跳是被开发者明确认可的,而这个新技巧没有获得类似的背书。争论没有达成共识。

这正是索森推文所开启的新局面中最微妙的部分。开发者承认速通者的权威,反过来也将开发者自己的权威重新引入了速通规则的制定过程。这是一种辩证的关系:速通者通过证明自己比开发者更懂游戏的某些局部,赢得了开发者的尊重;但这种尊重一旦以具体决策的形式表达出来——保留这个、修复那个——就重新确立了开发者作为最终仲裁者的地位。到2019年,这种模式已经扩散到了相当数量的独立游戏中。

《速降王者》(Descenders)是一款极限运动题材的自行车速降游戏,由RageSquid开发。它在2019年脱离早期访问正式发售时,菜单中已经内置了一套完整的速通支持系统。游戏不仅提供实时计时器,还允许玩家设置分段计时点,自动记录最佳成绩,并在界面上显示与最佳成绩的实时差距。这些功能的设计标准已经接近速通社区常用的第三方计时工具LiveSplit——但它们是游戏原生的。RageSquid的设计师在开发日志中解释过这个决定的由来:“我们在早期访问阶段注意到玩家自发组织速通比赛。他们用手机拍摄屏幕来记录时间,用外部软件来管理分段。我们想,为什么不让这些直接成为游戏的一部分?”

这个解释的务实语气值得注意。它没有使用任何关于“认可速通文化”或“尊重玩家创造力”的修辞。它把问题框定为一个实用的设计选择:玩家已经在做这件事了,提供工具让这件事更容易做,是合理的功能开发。这种务实态度本身就是一个信号:速通已经从一种需要被特别对待的边缘行为,变成了一种被视为理所当然的游戏方式。

同样的趋势出现在《武士刀·零》(Katana Zero)中。Askiisoft在游戏内加入了速通模式——不仅是计时器,还包括跳过所有过场对话的选项、在每个关卡结束时显示精确到毫秒的通关时间、以及一个专门为速通设计的排行榜系统。这些功能的开发成本不低,但Askiisoft认为值得。值得的原因是什么?一个解释是市场性的:支持速通可以延长游戏的寿命和可见性。当普通玩家完成了游戏的主要内容后,速通社区继续生产着与游戏相关的内容——直播、录像、讨论、路线优化。这些内容维持着游戏在社交媒体和视频平台上的存在感。

《蔚蓝》在发售两年后仍然保持着稳定的在线讨论量,其中相当大的比例来自速通社区不断刷新的记录和不断发现的新路线。但这个解释不够充分。如果只是为了市场营销效果,开发者完全可以在游戏发售后被动地回应速通社区的发现——修复他们希望修复的漏洞,保留他们不介意保留的漏洞,而不需要主动在游戏中内置速通工具。主动内置意味着额外的开发成本,以及一种更根本的姿态。

这种姿态在《空洞骑士》的一次更新中表现得最为清晰。2019年8月,Team Cherry发布了《空洞骑士》的“神居”(Godmaster)内容更新。这次更新中加入了一个Boss连战模式——玩家需要连续击败多个强化版的Boss,中间没有任何存档点或恢复机会。这本身就是对速通技能的一种极端考验。但Team Cherry在更新日志的一条注释中走得更远:“我们调整了‘水晶冲刺’在特定墙体上的交互判定,以确保之前发现的速通路线仍然可行。我们意识到这些路线已经成为社区知识的一部分,破坏它们是不负责任的。”

“不负责任的”——这个词的选择几乎带着道德判断的意味。Team Cherry不是在说修复漏洞会“让玩家不高兴”或“不利于社区关系”。他们说的是“不负责任”。这意味着他们将自己视为某种知识的保管者,而这种知识并不完全属于他们。速通社区发现的路线、优化的策略、积累的经验,构成了一套独立的知识体系。Team Cherry承认自己对这套体系负有某种义务。

这就是索森那条推文所开启的逻辑链条的延伸:开发者不仅承认速通者比自己更懂游戏的某些局部,而且承认这种“更懂”赋予了速通者某种权利——对他们所发现的知识的权利,对他们所建立的实践的权利但这种权利的边界在哪里?2020年,《我的世界》Java版的速通社区爆发了一场震动整个文化圈的争议。一位名为Dream的知名内容创作者提交了一份1.16版本的速通记录,声称自己在随机生成的世界中以极快的速度完成了游戏。

审查团队使用统计学方法分析了他的游戏数据,发现他获得关键交易物品的概率严重偏离了随机分布的预期值——偏离程度相当于在数百万次模拟中才会出现一次。争议最终以Dream承认使用了修改过的游戏版本告终,但它揭示的问题远比一起作弊事件更为深远。

Dream争议的核心技术细节将在本书后面的章节中得到详细处理。但在这里需要指出的是它与本章主题的联系:Dream为自己辩护的论点之一,正是“开发者没有明确禁止这种做法”。他指出,《我的世界》的开发方Mojang从未发布过关于速通规则或版本使用的官方声明。在这种沉默中,Dream认为,任何游戏内可实现的操作都应该被视为合法。

这是一个危险的论点,但它的危险恰恰来自本章所描述的趋势的反面。当开发者开始主动为速通者留后门、内置计时器、在更新日志中注明保留哪些技巧时,他们实际上建立了一种新的规范:开发者的意图是判断合法性的相关因素。但这种规范的必然推论是:当开发者保持沉默时,合法性就变得模糊不清。这种模糊性并非理论假设。2009年,当《摩尔庄园》这款儿童网页游戏因运营谣言而陷入风波时,其开发商上海淘米不得不公开澄清以稳定玩家社群。这一事件虽与速通无关,却揭示了开发者与玩家之间信息不对称所引发的信任危机——当官方沉默或信息不明时,玩家社群的猜测与恐慌便会自行填补真空。

大多数游戏开发者对速通的态度仍然是沉默。他们不修复也不保留,不认可也不否认,只是任其发生。《我的世界》的Mojang就属于这一类。在Dream争议之前,没有任何人能够引用Mojang关于速通的官方立场——因为不存在这样的立场。

那么,一个利用游戏代码内在行为但未被开发者明确认可的技巧,应该被视为合法的速通策略,还是应该被视为需要被排除的漏洞利用?这个问题没有简单的答案。而它的复杂性正是本章所描述的历史进程的直接产物。

当速通者与开发者的关系从“破解-修复”的对抗进入“阅读-回应”的对话阶段后,双方都获得了新的权力,也承担了新的责任。速通者的发现获得了被开发者认真对待的可能——但开发者的回应也获得了影响速通规则边界的效力。2018年2月8日,马特·索森发布那条推文时,他可能没有预见到这些复杂的后果。他的本意是表达对一个具体技巧的判断,以及对发现它的玩家的尊重。

但这个判断一旦成为公共话语的一部分,它就超越了具体情境,开始参与塑造一个更大的规范框架。索森后来在一次游戏开发者大会(GDC)的演讲中回到过这个话题。他没有直接讨论咖啡跳,而是提出了一个更普遍的问题:开发者应该如何对待那些比自己更深入理解游戏系统的玩家?他的回答既不是浪漫化的赞美,也不是防御性的排斥。“认真对待他们,”他说,“这意味着承认他们提出的问题是有道理的,即使这些问题让你不舒服。”

这句话指向了本章的核心论断。速通者用二十年的时间证明了一件事:他们是最认真的读者。他们阅读的不是游戏的叙事、美术或情感体验,而是游戏的规则系统——那套由代码定义的、精确到每一帧的因果机制。他们的阅读方式是反复测试、精确测量、穷举可能、优化路径。这种阅读方式产生的知识,在某些局部上,确实超越了开发者的设计意图——不是因为开发者不够聪明,而是因为没有任何开发周期允许对一个跳跃按钮的半按状态进行十六年的研究。

当开发者开始为这些读者写作时——当他们在代码中留下只有这些读者才能发现的后门,当他们在更新日志中注明哪些技巧被保留作为补偿,当他们在菜单中内置计时器和排行榜——他们承认了这种阅读行为的价值。但这种承认不是单向的馈赠。它是一种对话的开始,而对话意味着双方都要接受对方声音的影响。开发者保留一个漏洞,意味着他们认可了速通者对游戏系统的某种解读;开发者修复另一个漏洞,意味着他们拒绝了另一种解读。

每一种选择都在微妙地重塑着“什么是合法速通技巧”的边界。这条边界在接下来的几年里将变得越来越重要。2019年到2021年间,随着工具辅助速通(TAS)技术的普及、模拟器使用的规范化争议、以及Dream事件引发的统计学审查革命,速通社区将被迫面对一系列关于规则、证据和信任的根本问题。这些问题之所以棘手,部分原因正在于本章所描述的历史转变:当开发者不再是沉默的背景,而是积极的对话参与者时,“什么是游戏允许的”这个问题的答案不再仅仅由代码决定,也开始由意图、对话和协商决定。

这不是一个需要被解决的问题。它是一个需要被持续应对的局面。2018年1月25日,《蔚蓝》正式发售的那天,马特·索森和他的团队在温哥华的办公室里看着社交媒体上的第一批玩家反应。他们知道咖啡跳在那里,在第3章的那面墙后面,等待被发现。他们不知道谁会第一个发现它,不知道发现会花多长时间,也不知道发现后会引发什么样的连锁反应。但他们做出了选择:不去碰它。这个选择本身是一个回答——对二十年来速通者用行动提出的那个问题的回答。“我们在听,”它说,“而且我们承认,你们有时候比我们看得更清楚。”

这不是故事的结局。它是对话的开始。而对话,从来不会按照任何一方的意图直线前进。