第 23 章

跨越太平洋的调试

高桥庆太在东京的办公室里,面对着一份用英文写成的设计文档,已经坐了四十分钟。文档是洛杉矶那边发来的,标题是“Wattam核心交互流程图”,内容是将他过去三个月里描述的所有角色行为翻译成一套逻辑树。每一个节点都标注了触发条件、动画状态、音效反馈和退出机制。握手被分解为七个步骤:接近检测、视线锁定、手臂抬起、手掌碰撞检测、握紧动画、连接确认粒子特效、角色表情切换。他看着“连接确认粒子特效”这一行,手指在触控板上悬停,光标在那个词组上微微颤动。

这是《Wattam》开发的第二年。2016年,他在离开南梦宫之后成立了Funomena,同时在美国旧金山和日本东京设立办公室,试图用双城结构来支撑一个跨国协作的框架。旧金山负责技术与发行对接,东京负责核心设计与美术。这个结构在纸面上是合理的——硅谷有最好的工程师和最活跃的独立游戏社群,东京有他需要的那种审美密度。但纸面上的合理无法翻译成日常工作的合理。

旧金山的工程师在Slack上提问时用英语,东京的美术用日语回复,中间夹着一个翻译,而翻译不是设计师——当一个关于角色动作的讨论需要经过三种角色(工程师、翻译、美术)和两种语言(英语、日语)才能完成时,每一次往返都在损耗一些东西。不是信息——信息可以被准确传递——而是信息的纹理。那些让他觉得“这个动作对了”的微妙质感,在翻译的过程中被磨平,变成光滑的、可执行的、但也失去了温度的技术规格。“连接确认粒子特效”就是这种磨平的产物。

在最初的构想里,两个角色握手时不需要任何视觉反馈——握手本身就是反馈。你伸出手,对方握住,你的手感觉到对方的温度,这就是连接的全部意义。但旧金山的工程师在原型测试中发现,如果没有任何视觉提示,测试玩家会反复尝试握手动作,不确定自己是否“做对了”。工程师的解决方案是加一串粒子——花瓣、星星、或者某种抽象的光点——在握手成功的瞬间从两只手之间迸发出来。这个方案在工程上是合理的,在用户体验设计上也是合理的。

但它不是高桥要的东西。他关掉文档,打开SketchBook,用手指在触控板上画了一个简笔画:两个火柴人握手,没有花瓣,没有星星,只有两只手连在一起。他在图下面写了一行日语:“连接不需要证明。”然后他把这张图贴到Slack上,@了旧金山的工程师和翻译。旧金山的回复在二十分钟后到达——时差的原因,那边刚上班。工程师写了一段很长的英文,翻译把它变成日语发给高桥。大意是:理解设计的意图,但从技术角度,需要一个事件标记来触发后续的角色状态切换。如果没有粒子特效,可以用其他方式——比如手柄震动、或者一个短暂的音效。但必须有一个事件标记。

高桥看着这段回复,意识到问题不在花瓣本身。问题在于他从未向团队解释过“为什么不要花瓣”。他只是在说“不要”,而没有说“因为”。而“因为”需要他用英语、用逻辑、用工程师能够理解的语言说出来。他的英语足够应付日常对话,但不足以表达设计哲学层面的细微差别。

他可以用日语说“つながりは証明するものではなく、感じるものだ”(连接不是被证明的,而是被感受的),这句话在日语里有一种近乎诗意的自明性——つながり(连接)这个词本身就包含了一种不需要外部验证的内在关系。但翻译成英语之后,它变成了“Connection is not something to be proven, but something to be felt”,听起来像是一句励志海报上的标语,而不是一个设计原则。

他决定不回复文字。他在SketchBook上又画了一张图:两个火柴人握手,手的连接处画了一个小小的笑脸。笑脸不是粒子特效,不是音效,不是手柄震动。它是角色的一部分——当握手发生时,角色本身会微笑。这个微笑不需要额外的系统来支撑,它只是角色动画的一个状态切换。工程师要的事件标记有了,但他要的“不证明”也保住了。

他把这张图发到Slack上。旧金山那边沉默了十五分钟。然后工程师回复:技术上可以实现。

笑脸的触发条件可以用握手动画的完成度来判定,不需要额外的粒子系统。

这是《Wattam》开发过程中无数次跨语言调试中的一次。每一次都像这样:一个设计直觉在高桥的脑子里以日语的形式存在,它自洽、自明、不需要论证;然后它被抛入英语的工作环境,被拆解、被质疑、被要求提供逻辑支撑;然后高桥被迫找到一种方式,既不牺牲直觉的核心,又让它变得可沟通。这个过程缓慢、痛苦、充满挫败感。但每一次成功调试之后,那个直觉都会变得比他最初理解的更清晰。就像一块粗陶在反复烧制中变成了瓷器——更脆,但更透光。

然而,并不是每一次调试都能找到笑脸这样的解决方案。有些分歧比粒子特效更深。

2017年春天,Annapurna Interactive正式成为《Wattam》的发行商。这家公司在独立游戏圈以“尊重作者”著称,他们发行过的作品包括《艾迪芬奇的记忆》和《画中世界》——都是高度个人化的游戏,商业回报不算巨大,但在评论界获得了足够的声誉来维持公司的品牌定位。

对高桥来说,Annapurna是少数几家他愿意合作的发行商之一。他们的制作人萨拉·林奇在第一次见面时对他说:“我们不会改变你的愿景。”这句话通过翻译传到他耳朵里时,他相信她是真心的。但“不会改变愿景”和“不会质疑愿景”是两回事。

签约之后的第三个月,萨拉发来一份文件,标题是“Wattam玩家旅程映射与目标结构建议”。文件的核心论点很清晰:《Wattam》目前的原型缺乏一个明确的玩家进度弧。玩家进入世界,遇到角色,握手,爆炸,再遇到新角色,再握手。这个过程在最初十五分钟是迷人的,但之后——根据Annapurna委托的可用性测试报告——玩家开始感到迷失。测试数据显示,超过一半的测试玩家在游玩三十分钟后停止了主动探索,转而重复已经做过的动作,或者干脆放下手柄。萨拉的建议是引入一个温和的进度系统:不是经验值或等级,而是某种形式的世界变化。比如,当玩家连接足够多的角色后,世界会从白天进入黄昏,再进入夜晚,每一个时间段解锁新的角色类型。

这样玩家就有了一个隐性的目标——看看夜晚的世界是什么样的——而不需要明确的“任务列表”。高桥读完这份文件时的第一反应是抗拒。进度系统——不管包装得多温和——本质上是一种外部激励。它告诉玩家:你做这件事是为了得到那件事。而在他的构想里,《Wattam》的每一个交互都应该是自足的。握手不是为了解锁新角色,握手就是握手。爆炸不是为了进入下一个阶段,爆炸就是爆炸。一旦引入“为了”,连接就变成了手段,而不再是目的本身。

他在回复萨拉的邮件里写了一段日语,让翻译转成英语。翻译在转译时做了柔化处理——这是翻译的职责,也是翻译的权力——但核心意思保留了下来:“进度系统会让连接变成工作。我不想让玩家在《Wattam》里工作。”

萨拉的回复在二十四小时后到达。她没有争论设计哲学。她发来的是数据:测试玩家的留存曲线、交互频率分布、以及退出游戏后的问卷调查结果。数据本身没有观点,但数据的排列方式构成了一个沉默的论证:如果玩家在三十分钟后停止连接,那么连接的意义就没有传达到。你“连接本身就是意义”,但如果玩家感受不到这个意义,那么它作为一个设计目标就没有实现。

高桥盯着那些数据图表看了很久。他不是不相信数据——在《块魂》的开发中,他也会观察测试玩家的反应,只是那时候的“数据”是非正式的、直觉的、通过单向玻璃看到的肢体语言。现在萨拉给他的数据是量化的、统计的、带着置信区间的。两者的区别不在于真实性,而在于论证的权重。面对单向玻璃,他“那个玩家笑了,所以设计是对的”。面对统计表格,他不能说“那百分之五十三的玩家应该更耐心一点”。但他也不能接受进度系统。

不是因为固执,而是因为他知道——从《块魂》的经验里知道——一旦游戏告诉玩家“你应该做这个”,玩家就会停止做他们自己想做的事。而《Wattam》的全部意义就在于让玩家做他们自己想做的事。

这个僵局持续了将近两个月。两个月里,萨拉没有催促,高桥没有妥协。团队在这段时间里继续开发其他部分——新角色、新地图、新交互类型——但核心问题悬而未决。

Slack上的讨论开始出现微妙的变化。旧金山的工程师在讨论中越来越多地引用萨拉的数据,东京的美术则更倾向于高桥的直觉。两个办公室之间的张力不再是语言层面的,而开始变成认知层面的:什么算“证据”?数据算证据吗?作者的直觉算证据吗?如果一个设计决策的后果无法在发售前被验证,谁有权做最终判断?

2017年6月,高桥飞了一趟洛杉矶。这是他第一次走进Annapurna的办公室。硅谷风格的开放空间,白墙,原木桌面,角落里摆着一棵琴叶榕。

萨拉在会议室里等他,桌上放着两台显示器,一台连着PS4开发机,另一台用来展示设计文档。他们面对面坐下。没有翻译——高桥的英语在过去一年里进步了很多,虽然口音很重,但已经能直接进行复杂的设计讨论。

这种直接对话改变了一些东西。在Slack上,每一句话都是被写下来的,写下来的文字有固定的形状,不容易被撤销或修正。但面对面的对话是流动的——你说一个词,看到对方的表情,然后你可以换一个词。误解可以被即时发现,语气可以被即时调整。

萨拉打开《Wattam》的最新版本,控制着一个方块角色在草地上走。她走到另一个角色面前,握手。两个角色开始跳舞。她笑了。“这很棒。”她说。

“但是?”高桥说。他知道会有“但是”。“但是我不知道我为什么要继续玩。”萨拉放下手柄。“不是‘为什么’意义上的为什么。我知道你的设计意图。我是说,作为一个玩家,我的手指不知道该往哪里走。这个世界很美,角色很可爱,但我需要一个理由——不是一个任务,只是一个理由——去探索下一个角落。”

高桥沉默了一会儿。然后他说:“在你的测试里,那些继续玩的玩家,他们为什么继续?”

萨拉调出一份数据。在测试中继续游玩超过一小时的玩家——大约百分之三十——在事后访谈中给出的理由集中在几个方面:想看新角色、喜欢爆炸的感觉、觉得世界很放松。没有一个理由与“进度”或“成就”相关。“所以百分之三十的玩家不需要理由。”高桥说。“但百分之七十需要。”

“如果我为百分之七十加进度系统,那百分之三十会失去他们的理由。”

萨拉没有反驳。她知道这个逻辑是对的。进度系统不仅会改变百分之七十的体验,也会改变百分之三十的体验——当世界开始暗示“你应该往这边走”时,那些原本喜欢漫无目的游荡的玩家也会感受到那个暗示,他们的自由感会被削弱,即使他们不跟随那个暗示。“所以问题是,”萨拉慢慢地说,“我们能不能给百分之七十一个理由,同时不拿走百分之三十的自由?”

这个问题改变了整个讨论的方向。之前的分歧是二元的:要进度系统还是不要。萨拉的新问题把二元对立变成了一个设计挑战:如何在不引入外部激励的前提下,让更多玩家感受到内在驱动的连接欲望?

高桥没有当场回答。他需要时间思考。但他知道,这个问题的提出本身就是跨文化协作的真正价值所在。萨拉不是要稀释他的愿景——她是在用一种他未曾想到的方式,逼迫他把愿景想得更清楚。

在《块魂》的时代,没有人问他这个问题。南梦宫的市场部不关心玩家为什么继续滚雪球,他们只关心有多少人买了游戏。但现在,一个美国发行商的制作人坐在他面前,用数据和逻辑挑战他的直觉,不是为了否定它,而是为了让它在更多玩家面前站得住脚。

那天晚上,高桥在洛杉矶的酒店房间里翻看《块魂》的旧设计文档——他在离开南梦宫时复印了一部分带出来。文档是日语的,手写的,页角有咖啡渍。他翻到一页,上面画着一个简单的流程图:滚雪球→粘东西→变大→滚更大的雪球。

旁边有一行小字:“プレイヤーは大きくすること自体を楽しむ”(玩家享受的是“变大”本身)。他盯着这行字看了很久。然后他打开笔记本电脑,新建一个文档,开始打字。他用英语写——这是他第一次直接用英语写设计文档,语法有错误,用词有时不准确,但核心意思清晰:

“《Wattam》的进度不是‘解锁新东西’。进度是‘发现连接的新方式’。玩家不需要被告知去哪里。玩家需要被展示:你可以用这些方式连接。然后他们自己决定去哪里。”

他在下面列了一个清单,不是任务清单,而是“连接方式清单”:握手是连接。堆叠是连接。一起爆炸是连接。爆炸后碎片散落一地,然后另一个角色走过来,把碎片捡起来,拼回原形——这也是连接。跳舞是连接。唱歌是连接。什么都不做,只是站在一起看日落——这也是连接。

这个清单后来成为《Wattam》最终版本的核心结构。游戏没有进度系统,但有一个隐性的“连接词典”——玩家在游戏过程中会自然地尝试不同的连接方式,每一次尝试都会带来一个微小的惊喜(一个微笑、一段动画、一个声音),这些惊喜不是奖励,而是连接本身的自然延伸。就像握手时掌心传来的温度不是对握手的奖励,而是握手的一部分。

第二天,高桥把这份文档带到Annapurna的办公室。萨拉读完,沉默了几秒。然后她说:“这可以工作。”

“我知道。”高桥说。“但我们需要在游戏里让玩家知道这些连接方式存在。不是教程——你说过不要教程——但某种形式的提示。”

高桥想了想。“角色可以示范。一个角色做动作,另一个角色回应。玩家看到,就会想试。”

“示范不是教程?”

“示范是邀请。教程是指令。”

萨拉点了点头。这个区别在英语里和在日语里一样微妙——invitation和instruction之间的边界有时候比designer和player之间的边界更难定义——但她理解了他的意思。教程告诉玩家“你应该这样做”。示范告诉玩家“你可以这样做”。

两者的区别不在形式,而在语气。而语气,正是高桥整个设计语法的基石。从洛杉矶回到东京后,高桥在团队内部做了一次调整。他把“连接词典”的概念翻译成日语——这一次是他自己翻译,不需要中间人——然后在白板上画了一张图。图的左边是“连接方式”,右边是“角色的回应”。

握手→微笑。堆叠→摇晃。爆炸→碎片。重建→拥抱。每一个连接方式都对应一个角色的情感回应,这些回应不是粒子特效,不是音效提示,不是UI弹出窗口,而是角色动画的一部分。“玩家不需要被告知他们做对了。”高桥用日语对东京的团队说。“玩家需要看到角色在回应他们。回应就是全部。”

旧金山的团队通过视频会议接入。工程师问了一个技术问题:如果角色的回应是动画驱动的,那么当多个角色同时回应时,动画系统怎么处理优先级?这个问题是纯技术层面的,但它触及了设计的核心——在《Wattam》的世界里,没有“优先级”这个概念。如果一个角色同时与三个角色连接,那么三个回应应该同时发生,即使这在动画系统里意味着三个动画会重叠、碰撞、产生不可预测的视觉效果。高桥的回答是:让它们碰撞。不可预测是好的。

这个回答在旧金山那边引发了一些担忧。工程师习惯了可控的系统——输入A产生输出B,如果A和C同时输入,系统需要有规则来决定是B还是D。但高桥要的是一个不可控的系统,或者至少是一个不完全可控的系统。他要的是角色们在连接时产生的那种混乱的、即兴的、像幼儿园小朋友第一次见面时的那种嘈杂的快乐。这种快乐无法被动画状态机精确管理。工程师花了三周时间重新写了动画混合系统。

新系统允许多个动画在同一角色上叠加,叠加的权重由连接发生的顺序和持续时间动态计算。结果是一种微妙的视觉混沌——角色们握手时身体会微微晃动,堆叠时下面的角色会做出夸张的“被压扁”的表情,爆炸时碎片飞散的方向每次都不同。

这些效果不是手调动画能做到的,也不是纯粹的程序生成,而是两者之间的某个点:系统提供了可能性空间,动画师在这个空间里放置了具体的动作,玩家的行为触发了不可完全预测的组合。这个过程——从“不要花瓣”的直觉,到“连接词典”的概念,再到“不可预测的动画叠加”——花了将近一年。一年里,《Wattam》从一个简单的握手模拟器变成了一个复杂的连接实验室。

每一个连接方式都经过了类似的跨语言、跨专业、跨认知框架的调试。调试的过程从来不是线性的:直觉被抛入质疑,质疑逼迫论证,论证催生新的直觉,新的直觉再次被抛入质疑。这个循环每一次转动都在消耗时间和预算,但也在每一次转动中把高桥的设计语法推向更清晰、更本质的层面。

然而,有一个问题始终没有被调试掉。这个问题不是技术层面的,也不是设计层面的,而是更根本的:当连接是唯一的交互目标时,游戏什么时候结束?在《块魂》里,结束条件是清晰的:雪球滚到足够大,国王说“够了”,关卡结束。但在《Wattam》里,没有“足够大”的标准。玩家可以连接所有角色,然后呢?游戏应该结束吗?如果结束,怎么结束?如果不结束,玩家留在世界里做什么?

这个问题在团队内部引发了最激烈的一次争论。东京的美术认为游戏应该有一个明确的结局——所有角色手拉手围成一个圈,然后世界变成一颗星星,升上天空。旧金山的工程师认为应该有一个循环结构——连接所有角色后世界重置,但保留某些“记忆”,让玩家在第二次循环中发现新的连接方式。

Annapurna的制作人则担心另一个维度:如果游戏没有结局,评测者可能会批评“内容不足”;如果游戏有结局但太抽象,玩家可能会困惑。高桥在这个问题上的态度反复变化。有一段时间,他倾向于东京美术的方案——围成圈,变成星星。

这个画面在他脑子里是清晰的:所有角色——桃子、马桶、寿司、方块小人、戴礼帽的绅士——手拉手围成一个圈,然后世界开始旋转,越转越快,最后变成一颗星星,在夜空中闪烁。这个结局在情感上是完整的,在视觉上是壮观的,在逻辑上——好吧,在逻辑上它说不通。为什么手拉手会让世界变成星星?

但高桥不在乎逻辑。他在乎的是那个画面带来的感受。但旧金山的工程师提出了一个实际问题:如果游戏有结局,玩家在结局之后还能回到世界吗?如果不能,那些想继续探索的玩家会不满。如果能,结局就失去了“终结感”。这是一个技术问题,但也是一个设计哲学问题:一个关于连接的游戏的结局,应该是连接的完成还是连接的延续?2018年秋天,高桥做了一个决定:游戏没有结局。或者说,游戏的“结局”不是一个事件,而是一种状态。

当玩家连接了所有角色之后,世界不会结束,不会重置,不会变成星星。所有角色会继续存在于世界里,继续可以做任何连接动作。

玩家可以离开游戏——放下手柄,关上屏幕——但世界继续存在。连接不会因为玩家的离开而中断。角色们会继续握手、堆叠、爆炸、重建,在玩家看不见的地方。这个决定的灵感来自一个完全不相干的领域。高桥在读一本关于天体物理学的科普书时,看到一句话:“宇宙没有边缘,只有膨胀。”他被这句话击中了。连接没有边缘,只有膨胀。每一次握手都是一次膨胀——不是空间的膨胀,而是关系网络的膨胀。这个网络可以无限扩展,不需要一个“结局”来闭合它。他把这个想法写成了一页纸的设计笔记,发给萨拉。萨拉读完后的回复很短:“这很美。但评测者会问:游戏有多少小时的内容?”

这是发行商的本能——把设计决策翻译成市场语言。高桥理解这种本能。但他也意识到,在这个问题上,他无法妥协。不是不愿意,而是不能。《Wattam》如果有一个明确的结局,它就变成了一个关于“到达”的游戏——玩家到达了某个点,游戏说“你完成了”。

但高桥要的是一个关于“存在”的游戏——玩家存在于某个世界里,连接发生或不发生,世界继续。到达和存在是两种完全不同的时间体验。到达是线性的,存在是循环的。到达需要终点,存在不需要。

萨拉最终接受了这个决定。不是因为她被说服了,而是因为她知道这是高桥的作者签名——那个让她签下这个项目的、独特的、不可替代的东西。她的工作是保护这个东西,同时让它在市场上存活。有时候这两者是矛盾的,但在这个具体的决定上,她选择站在保护这一边。2019年12月,《Wattam》在PlayStation 4和Epic Games Store同步发售。首发价格十九美元九十九美分。

Metacritic媒体评分七十五,用户评分六点八。Steam首月销量估算在一万到两万份之间。这些数字对于一个开发周期跨越五年、团队规模一度超过十人的项目来说,不算成功。Annapurna没有公开表达失望——他们的商业模式允许一部分项目作为“声誉投资”存在——但数字本身是沉默的,也是诚实的。游戏发售后,高桥在东京的办公室里待了一周,读评测,看玩家视频,刷Twitter上的反应。

评测大致分为两类。一类评测欣赏游戏的独特性,用词包括“纯粹”“温暖”“独一无二”。另一类评测批评游戏缺乏深度,用词包括“重复”“空洞”“不知道在玩什么”。同一个设计——取消失败状态、拒绝进度系统、让连接成为唯一的存在方式——在不同的评测者那里产生了截然相反的判断。不是“有人喜欢有人不喜欢”那种正常的意见分布,而是更根本的:他们玩的仿佛是两款不同的游戏。高桥意识到,这不是评测者的问题。这是设计语法的问题。

《Wattam》的语法要求玩家放弃一些他们在其他游戏中被训练出的期待——对目标的期待、对反馈的期待、对“做对了”的确认的期待。对于那些能够放弃这些期待的玩家,《Wattam》是一次解放。对于那些不能或不愿放弃的玩家,《Wattam》是一个空洞。游戏本身没有变,变的是玩家带进游戏的东西。

这个认知让高桥感到一种奇怪的平静。不是因为他不关心销量——他关心,团队关心,Annapurna关心——而是因为他终于理解了自己在做什么。他不是在做一个“所有人都喜欢的游戏”。他是在定义一种语法。语法从来不是所有人都喜欢的。有些人觉得英语的冠词系统很自然,有些人觉得它毫无必要。

但语法一旦被定义,它就成为了一种可能性——后来的作者可以在这种语法上写作,修改它,颠覆它,或者把它和别的语法杂交。这才是他真正留下的东西。2020年初,疫情开始在全球蔓延。高桥在东京的公寓里隔离,每天收到来自旧金山团队的Slack消息——那边也在隔离。

Funomena的双城结构在物理上被切断了,但奇怪的是,协作并没有变得比之前更困难。他们已经习惯了远程工作,习惯了时差,习惯了在Slack上把直觉翻译成逻辑。疫情只是把这个习惯推到了极致。

四月,他收到一封邮件,来自那个在2017年离开项目的东欧程序员。邮件很短,说他隔离期间玩了《Wattam》,花了三个小时把所有角色连接了一遍,然后在游戏里坐了很久,什么都不做,只是看着那些角色在草地上走来走去。他说他终于理解了高桥当年说的“连接不需要证明”是什么意思。不是通过论证理解的,而是通过坐着看那些角色时的一种感觉。

高桥回复了一个字:谢谢。然后他关掉邮件,打开Unity。新项目的空白场景在屏幕上展开。一个方块小人站在原点,没有帽子,没有草地,没有可以连接的对象。他盯着那个小人看了几分钟,然后开始打字。第一行代码是:当玩家靠近时,小人微笑。不是粒子特效,不是音效反馈,不是进度条。只是一个微笑。他知道这个微笑在大部分镜头角度下几乎不可见。

他知道如果这个游戏最终做出来,评测者可能会问“这游戏的目标是什么”。他知道萨拉——或者另一个萨拉——会发来玩家测试数据,显示百分之多少的玩家在微笑发生时光标移开了屏幕。这些他都知道。但他也知道另一件事。

在《Wattam》发售后,没有一个评测提到那个微笑。没有一个玩家在论坛上讨论它。那个零点三秒的、几乎不可见的微笑安静地存在于代码的某个角落,只在特定的镜头角度下出现。但它是存在的。它在那里。它证明了在所有的翻译、时差、预算会议和用户测试报告之后,有些东西没有被磨平。有些东西不需要被解释。有些东西只需要在那里。

高桥保存了代码,关上电脑。窗外,东京的夜晚正在变成黎明。他站起来,走到阳台上,做了一套拉伸运动。楼下的街道空无一人——疫情让这座城市变得安静。远处,天空从深蓝变成浅灰,再变成淡粉。没有花瓣飘落,没有星星闪烁,没有叮咚声。只有光在变化。光不需要证明自己是光。它只是亮起来。