第 10 章
道德选择的宣言
当测试员的手指在两个选项之间来回移动时,观察室里没有人说话。那个光标在屏幕上停住了,从“帮助村民”移到“帮助松鼠党”,又移回来,像一只在两条岔路之间反复徘徊的动物。这是一个早期的任务原型,场景被临时搭在弗坚边境的一条土路上,玩家扮演杰洛特,面对一队押运物资的村民和一伙自称自由斗士的松鼠党之间的对峙。测试员是入职三个月的质量保障新人,玩过的角色扮演游戏不算少,《博德之门》《旧共和国武士》《上古卷轴3:晨风》都通关过不止一遍。按过去那些游戏的标准,这种任务里的选择应该很容易做出:善良选项还是邪恶选项,光明面还是黑暗面,看一遍对话文本就能判断。
但他没有动。他后来在测试记录里写的是:我不确定自己选择的,到底是不是对的。
巴多夫斯基站在他身后,双臂交叉。他什么也没说,只是在笔记本上写了一行字。那本笔记本后来被收进红队的档案柜,那行波兰语写的是:当玩家开始为自己的选择感到不安时,我们就创造了一个真实的世界。这个时刻并不是凭空出现的。
它从两年前开始的失败里缓慢生长出来。引擎的困境到2003年初已经没有任何自我安慰的余地。BioWare授权的极光引擎擅长的是回合制和半即时制,对于《猎魔人》小说里杰洛特那套快速移动的剑术动作,它几乎没有提供任何原生支持。程序员们试图在引擎里嫁接一套动作系统,修修补补,每次演示都以人物滑步、判定错位和帧率崩溃收场。
二月,推倒重来的决定被正式做出。红队需要自己写引擎。技术归零之后,一个更根本的问题被推到台面:当不再困在别人的框架里时,他们要做的究竟是一个什么样的游戏。答案并不来自某次会议,而来自萨普科夫斯基的小说。
到2003年,波兰语版《猎魔人》已经出版五卷。任何认真读过这些书的人都会立刻意识到,这个系列里没有传统奇幻的善恶对立。没有黑暗魔王,没有需要被摧毁的终极邪恶。杰洛特是个职业猎魔人,他接委托、杀怪物、收钱、离开。
但他总是被卷进比怪物更复杂的事情:人类和非人类之间的种族仇恨,北方王国和尼弗迦德之间的战争,村庄之间的利益纠纷,个人信仰和生存本能之间的撕扯。在小说里,杰洛特每次试图选择那个“更小的恶”,结局往往证明那个选择本身就是一个新的灾难源头。这种道德图景对波兰读者来说并不抽象。它是一个经历过纳粹占领和苏联体制的国家在文学里沉淀下来的直观经验:宏大叙事不可信,绝对的正义不存在,每个人都在灰色泥泞里做选择,而这些选择终将追上来索要代价。
红队的编剧们在2003年春天重新坐下来讨论任务设计时,手里握着的就是这样一个世界观。他们面对的问题可以直接表述为:如何把这个世界观变成游戏机制。从三月底到四月中旬,会议室里的争论没有停过。
编剧组的核心成员大多是二十多岁的波兰年轻人,他们读过萨普科夫斯基,更重要的是,他们理解这些小说在拒绝什么。
在一次讨论中,任务设计师马切伊·什切希尼克说了一句话:如果我们在每个任务里都设置一个善良选项和一个邪恶选项,那我们就背叛了这些书。这句话成了转折点。
当时主流角色扮演游戏的设计范式非常清楚。《旧共和国武士》有光明面和黑暗面,《神鬼寓言》有善恶值系统。玩家的每一次选择都会在一个可见的道德标尺上体现出来,善行加光明值,恶行加黑暗值,数值累积到一定程度,解锁对应的能力和剧情走向。这套系统的优点一目了然:清晰、可预期、回报即时。玩家永远知道自己在做什么。
但红队逐渐意识到,把这套系统放进《猎魔人》的世界是行不通的。因为杰洛特的世界里没有一个客观的道德度量衡。
帮助一个被指控为女巫的女人逃脱村民私刑,这看起来是善行,但如果那个女人确实在森林里与某种邪灵做交易,而那些村民的恐惧并非空穴来风呢?拒绝帮助松鼠党游击队袭击一支帝国运输队,这避免了无辜平民的死亡,但如果那批物资最终被用来镇压非人类种族的聚居区呢?这些问题没有标准答案。
红队的编剧们决定,他们的游戏不会给玩家提供标准答案。这是道德选择系统的第一个设计原则:不设善恶标尺。游戏中不存在任何可以量化的道德值。玩家做了什么,就是做了什么。游戏不会告诉玩家这是对还是错。
但一个直接的问题随之而来:如果没有即时反馈,玩家怎么知道自己的选择产生了影响?答案是延迟后果。
三月下旬,首席编剧阿尔乔姆·科瓦奇克在白板上画了一幅图。那条线从一个节点分出,两条分支各自向前延伸,然后在很远的一个节点上重新交汇。他在交汇处画了一个圈。不是现在。他指着那个圈说。是三小时以后,或者十小时以后。
这就是第二个设计原则:后果延迟。玩家的选择不会在当下给出评判。你帮助了一个人,或者拒绝了一个人,当时的场面可能看不出什么。但几个小时后,当你进入另一个区域,遇到另一群人,他们会用完全不同的态度对待你,原因就藏在你之前做过的某个决定里。一个被放走的罪犯可能在某条小巷里刺杀了一个关键的人物,而你在那时才意识到自己当初的选择造成了什么。
一个被你拒绝施舍的乞丐可能原来是某个地下情报网络的重要线人,他的死亡让一条支线任务直接从游戏中消失。
这种设计在当时极其激进。它意味着任务树的结构不再是简单的分支,而是一个不断分叉、交汇、再分叉的网状系统。任何一个节点的变化都可能影响多条线索。
白板上的图越画越复杂。科瓦奇克用三种颜色的笔标注不同类型的后果:直接影响、人物关系变化、世界状态改变。当他画完时,整块白板上密布着线条和圈点。巴多夫斯基站在白板前看了很久,然后只说了一句:这是唯一的路。
但这条路是有代价的。代价首先体现在文本量上。如果每一个任务节点都有两个甚至三个分支,而这些分支又会在之后产生不同的对话、不同的NPC反应、不同的场景配置,那么文本量将呈几何级数增长。一个线性角色扮演游戏的标准任务可能只需要三到四组对话树,但在延迟后果的网状结构下,同样的任务可能需要十二到十五组。编剧组在四月份做了一次估算。
如果他们要把主线任务和关键支线任务全部按照这个标准设计,总文本量至少需要四五十万词。这个数字今天听起来并不惊人——七年后《巫师3》的剧本达到四十五万字,拥有九百五十个有台词的角色——但那是2003年,红队只有不到一百人,其中专职编剧不超过十个。四五十万词意味着每个人平均要负责四五万词,而且这些词不是写小说,是写可交互的、多分支的对话树。每一段对话文本都要考虑到不同选择下的不同语气、不同信息量、不同情感基调。同一个人物,在玩家之前帮助过他时和背叛过他时,说出来的话应该完全不同。
更大的麻烦是本地化。CD Projekt是靠本地化起家的,他们太清楚一个好游戏在糟糕的翻译下会变成什么。道德选择系统的分支结构意味着本地化的工作量翻倍——不是简单的两种语言转换,而是要在目标语言中同样保持对话的灰色质感和情感细腻度。波兰语版某个分支里一个角色听起来既愤怒又无奈,英语版、德语版、法语版的对应分支也必须传达出同等的复杂情感。
这种对文本深度的执着,后来在《巫师3》的开发中达到了顶峰:剧本同时用波兰语和英语写作以减轻本地化困难,游戏被本地化为15种语言,共有500名配音演员参与配音。
测试成本的膨胀让所有人更加沉默。质量保障部门负责人在一次会议上列出了一组对比数据:标准线性角色扮演游戏的任务在测试时需要验证的功能路径大约三到四条。带有延迟后果的网状任务,功能路径轻易就能膨胀到十几条甚至更多。
而红队还在同时开发自己的引擎。这意味着测试人员不仅要验证任务逻辑的正确性——分支是否触发、后果是否兑现、对话是否匹配——还要同时验证引擎本身的稳定性。任何一个环节出错,整个链条都会断裂。
而在延迟后果的设计下,错误不会当场暴露。它可能要数小时的游玩之后才显现:一个本该出现的人物没有出现,一个本该触发的对话没有触发,一个世界状态的变化没有发生。这种错误的排查成本,远高于即时反馈系统中常见的任务阻塞。
到了六月份,项目经理做了一份粗略的工期估算。按照现有的网状设计目标,开发周期至少需要三到四年。公司的现金流能否支撑那么久,没有人能给出肯定答案。
压力从会议室传导到了每个人的办公桌上。深夜加班时,编剧们常常在茶水间碰到引擎组的人。
引擎组正在从底层搭建渲染器和物理系统,缺乏足够文档和工具支持,几乎每一步都在试错。两群人的疲惫在那个夏天是相通的,但彼此之间的沉默里有一种更深的张力。
引擎组冒着巨大风险把一个已经搭建一半的游戏推倒重来。如果他们用两年写出一个可用的引擎,却发现游戏的设计目标已经把任务逻辑压垮了呢?反过来也一样。编剧们把任务设计推向极高,但如果引擎根本撑不起这种网状计算量呢?
这种张力贯穿了整个夏秋两季。但它也在逼迫每个人重新思考自己到底在做什么。
持续的焦虑中,一个东西反而越来越清晰:他们不是在做一款更好的《上古卷轴》,也不是在做一款更聪明的《博德之门》。他们做的本就不该是那些东西。他们只有一个西方大厂难以复制的优势——把萨普科夫斯基的世界观内化到这种程度,用自己长大的那片土壤里带出来的道德直觉,去构建一套完全拒绝简单判断的叙事系统。
这个判断不是来自某一次会议。它从无数个具体的设计争议里生长出来。七月中旬,编剧组讨论了一个支线任务。
那个任务后来在成吨的修改中被删掉了,但它内部的争议成了设计准则的一次重要锤炼。任务发生在威伦的沼泽地带,一个名叫汉娜的草药师被当地村民指控为女巫。证据只有一条:她住的地方太靠近沼泽,而且村里的孩子进过沼泽之后病了。村民要求杰洛特除掉她。汉娜愿意付钱让杰洛特保护她。玩家也可以选择猎魔人的职业中立立场,拒绝双方,转身离开。
这三种选择都会产生后果。除掉汉娜,会发现沼泽中的水源污染其实是上游一个废弃矿场排放的化学物质造成的,与汉娜无关。保护汉娜,愤怒的村民会袭击她的草药房,烧掉她赖以生存的全部药材,她最终不得不离开沼泽,或者死在反抗中。转身离开,这些都不会发生,但几天后会听说村子里的孩子又病了。
讨论中,一个年轻编剧问:哪一个选择是对的?科瓦奇克抬起眼睛看着他。那个夏天他几乎每天睡不到六个小时,眼袋很深,但声音很稳。
这就是重点。他说。没有对的。那个年轻编剧花了大约十秒钟才完全理解这句话。然后他拿起笔,把“对的”从自己的设计笔记上划掉了。
类似的讨论发生在那个夏天几乎每一个任务的设计过程中。一个关于松鼠党伏击事件的支线,在六次修改后变成了一个让玩家必须面对两难困境的局面:一方是帝国军队,另一方是松鼠党游击队。选择向帝国军队告密,伏击被挫败,但帝国部队会在搜查松鼠党据点时屠杀所有非人类俘虏,其中有一些人只是普通的精灵难民。选择保持沉默,伏击成功,一支帝国车队被摧毁,但车队上有一批本该送往瘟疫区的药品也随之消失。
六月下旬,巴多夫斯基把整个设计团队叫进一间会议室。他没有长篇演说。他只是站在白板前面,把过去两个月他们讨论过的所有任务名称列出来——大概四十多个。然后他拿起红色马克笔,在每一个任务名后面画了圈、叉或问号。
圈代表那些已经按照灰色道德标准重新设计并通过至少一次内部审查的任务。叉代表还需要推倒重来。问号代表方向尚不明确。画完后,他退后一步,让所有人看那块白板。圈不到一半。
沉默持续了很久。每个人都在心里计算:这意味着多少额外的工作量,多少额外的修改,多少额外的测试。
沉默的尽头,房间后排传来马切伊·什切希尼克的声音。把叉和问号留给我们。他说。这是我们在波兰才能做的事。
这句话在当时并没有被赋予太多意义,但它将在之后两年的时间里反复回响。那个夏天,红队做出的不是一个简单的设计选择,而是一种身份认同。他们承认自己在技术和规模上无法与西方大厂正面竞争,于是选择了一条只能由他们走的路——把道德复杂性做成游戏的语法本身。不是装饰,不是可选旁支,而是全部的语法。
九月,初步的设计文档形成。那份文档第一页上印着一段话,后来人们说那是巴多夫斯基在某个深夜写下的:我们的游戏不是关于成为英雄。它是关于成为一个人,在一个不给人提供完美选择的世界里,做出选择,然后承担后果。
文档下发到各个部门之后,质量保障负责人把巴多夫斯基叫住了。你知道这意味着什么吗?知道。我们没办法完全测试。我知道。质量保障负责人沉默了几秒钟,点了点头。他转身走了两步,又停下来,回头说:但我们也没办法测试真实世界,不是吗?
十月份之后,文本工程的规模逐渐显现出来。编剧组从原来的几个人扩充到十几个人。新来的人有的来自大学文学系,有的来自本地化团队,还有一个人之前在华沙一家文学杂志做编辑。他们被要求做的第一件事不是写对话,而是精读萨普科夫斯基的小说。整理小说中每一个涉及道德困境的场景,分析萨普科夫斯基如何处理后果的延迟性和人物面对选择时的心理状态,然后提炼成一套编写规则。这套规则后来被叫作道德结构指南。它是一个不断更新的内部文件,从对话写作的语调到任务分支的逻辑规则,总共十几页。其中有一条被反复强调:在每个任务的关键选择节点上,必须确保至少两个选项在道德上都是有缺陷的。完美的选项不应该存在。如果编剧在某一刻发现自己在写一个“明显更好”的选项,他必须停下来,重新设计。这条规则逼疯了不少人。一个入行不久的编剧曾经在深夜的工作站前几乎崩溃。
他在做一个关于精灵遗迹的任务,玩家在某个阶段需要面对一个两难:牺牲一个人类同伴以换取进入遗迹的钥匙,或者放弃进入遗迹以保护同伴。他发现自己在无意识中把保护同伴写成了一个更温暖、更能让玩家感觉良好的选项。当他按照规则重新修改时,才意识到自己有多依赖那种舒适感。他重写了整整七遍。第七个版本里,保护同伴意味着放弃进入遗迹,但遗迹中藏有的古代精灵魔法卷轴可能帮助北方王国抵御即将到来的瘟疫;牺牲同伴意味着进入遗迹拿到卷轴,但那个同伴是一个有孩子的人。第七稿提交后,科瓦奇克在审阅意见里只写了一行字:可以了。这一遍终于没有好人。年底,巴多夫斯基和伊温斯基之间有过一次严肃的压力沟通。开发经费消耗速度比预期快得多。自研引擎的进度落后于计划。网状任务设计的文本成本让预算表上的数字变得刺眼。伊温斯基从华沙体育场集市卖盗版光盘起家,对数字的敏感是小商贩式的精确——他知道每一笔支出离红线还有多远。但他没有让编剧组削减设计目标。
他只问了巴多夫斯基一个问题:你确定这条路能让我们不一样吗?巴多夫斯基没有长篇论证。他只回答了两个字:确定。伊温斯基从口袋里掏出一支烟,没有点燃。他把烟放在桌上,像是在做一个标记。好。他说。那就继续。那个没点着的烟和那两个字,在2003年12月的一个晚上,为即将到来的两年半开发周期定了基调:不是乐观,不是自信,而是认清代价之后的不退缩。那个冬天,一个关于巫师起源的小型任务终于被完整地做出来,并通过了第一轮内部测试。任务涉及一个被遗弃的猎魔人训练基地。玩家在其中发现一些关于猎魔人历史的线索,在任务最后,需要面对两个选项:销毁这些可能被用于制造新猎魔人的危险知识,或者保留这些知识以便猎魔人的技艺不至于灭绝。这两个选项的后果——影响后续某些特定对话的可用选项,以及某些NPC对玩家的态度——被设计成在之后三四个小时甚至更长的流程中逐步显现。
他们很快发现,延迟后果系统的真正困难,不在于技术实现,而在于叙事节奏的控制。一个后果如果在三小时后才显现,玩家必须能够在那一刻回忆起自己当初的选择——不是记住每一个细节,而是记得自己做出选择时的感受。这意味着编剧必须在后果触发的场景中埋入足够的情感锚点,一种微妙的呼应,让玩家在看见后果时,心里同时浮现出当时的犹豫、不安或自我说服。这种呼应不能太直白——不能让人物把往事直接说出来,那会破坏沉浸感——但也不能太隐晦,否则玩家根本意识不到因果联系。编剧组在九月到十一月之间做了大量试验。他们设计了几个小任务,让测试人员游玩,然后观察他们是否在后果出现时自发地联想到之前的决定。最初的测试结果令人沮丧。只有不到三分之一的测试者能够准确识别出延迟后果的因果链。大多数人要么完全忘记了之前的决定,要么把后果归因于另一个不相干的选择。有一个测试任务涉及一个被关押的精灵铁匠。玩家可以选择释放他、处决他,或者把他交给当地治安官。
三种选择会在不同时间点产生后果。释放铁匠,他会在后续任务中出现在一个精灵抵抗组织的据点里,为玩家提供一件定制的武器。处决他,抵抗组织在得知消息后会在某个路口伏击玩家。交给治安官,他会被押送到附近的城市受审,而那个城市的审判结果反过来影响后续某个支线任务的对话选项。测试反馈表明,玩家最容易识别的是处决线——因为伏击是一种强烈的负面反馈。释放线次之——武器是一种直接的奖励。但交给治安官这条线,几乎没有人能准确追踪到因果。等到审判的消息传来时,大多数玩家已经忘记了那个铁匠。
巴多夫斯基对这个结果的反应出乎意料地平静。他说,如果玩家能轻易追踪所有因果,那就不是真实世界了。真实世界的因果本来就是模糊的,你永远不知道今天的某个决定会在哪一天以什么方式回来找你。他说这话时,会议室里有人轻轻叹了口气——不是放松,而是理解。一种更深层的理解:他们正在建造的系统,不是为了让玩家获得掌控感,而是为了让玩家体验一种更接近真实生活的道德处境。在这种处境中,后果不是惩罚,也不是奖励,而只是存在。你做了选择,然后世界因此而改变,仅此而已。但巴多夫斯基随后补充了一句:我们需要让玩家至少能识别出部分关键因果。模糊不是不可知,而是需要玩家花一点力气去拼凑。这句话重新定义了设计方向。编剧组开始为每一个延迟后果设计“识别线索”——一段独特的对话措辞、一个重复出现的意象、一个特定人物在命运改变前后的对比。这些线索像细线一样埋在任务文本中,让那些足够细心的玩家能够将因果链串联起来,而其他玩家则可能只是隐约感到某种东西在起作用。
这种分层设计在《巫师》系列后来的作品中逐渐成熟,但它的起点,就在2003年秋天那个会议室里——当巴多夫斯基说出“模糊不是不可知”这句话时,红队事实上敲定了道德选择系统的第三个设计原则:后果可识别,但不可预测。
文本量的问题在十一月被重新摆上台面。项目经理更新了统计数字。按照目前的任务设计密度,如果要在2005年底前完成所有主线任务和核心支线任务,编剧组需要每月产出至少两万词经过内部审查的文本。这个数字并不包括本地化、修改和废弃的版本——只算最终确定进入游戏的那部分。而两万词在网状任务结构下意味着什么,只有编剧组自己最清楚。一个线性任务的两万词,相当于一个中篇小说。一个网状任务的两万词,相当于同一个中篇小说再乘以七到八种不同的分支走向,而且每一个分支都必须保持叙事质量。这种对文本规模和质量的双重压力,在《巫师3》的开发中达到了新的高度:根据处理配音和录音的Side公司的说法,最终游戏的剧本达到了45万字,拥有950个发言的角色。编剧组里有一个叫阿格涅什卡·什钦斯尼亚克的年轻女性,她之前在克拉科夫一所大学研究波兰战后文学。她加入红队时,对游戏叙事几乎一无所知。但她对萨普科夫斯基小说里的人物心理有非常敏锐的理解。十一月的某一天,她在工作组内部提出一个想法:与其为每一个分支写完全不同的对话,不如为每一个核心人物建立一套“道德人格档案”。这套档案规定这个人物在面对不同情境时的行为逻辑和情感反应模式。
有了这个档案之后,编剧在处理分支时就知道,这个人物在玩家帮助过他时会说什么,在玩家背叛过他时会说什么,不是因为编剧凭空想象,而是因为这个人物的内在逻辑指向了这些反应。这套方法后来被整个编剧组采纳,并显著提高了写作效率。
参与测试的人被要求记录自己的感受:选择时是什么感觉,几个小时后对自己的决定有没有变化,意识到后果时是否后悔过。反馈收上来之后,巴多夫斯基看到了他想要的东西。几乎所有测试者在做出选择时都犹豫了。一半以上的人在选择之后至少后悔过一次。在后悔过的人中,有几个写了几乎相同的话:如果再来一次,我可能还是会这么选。不是因为确定自己做对了,而是因为那个选择反映了他们自己是谁。深夜的办公室里,一个编剧还在修改一段对话。那是主线任务中的一个关键场景,杰洛特需要决定是否向一个人物透露某个会改变其命运的信息。剧本最早的版本中,这段对话有三个选项。现在它被扩展到了五个。不是为了让戏更多,而是因为经过六轮修改后,编剧发现原来三个选项中有一个在道德上过于干净——它让玩家太容易觉得自己的决定是正义的。他需要把那种干净磨掉。他穿着一件旧卫衣,桌面上散放着萨普科夫斯基小说的波兰文原版,翻开的那一页是《命运之剑》的结尾。
显示器的蓝光打在他脸上,房间里除了键盘敲击没有别的声音。他删掉一整段对话,重新打了一行。删掉。又打一行。反复了十几次之后,最后留在屏幕上的那段文本里,杰洛特的话少了一个解释性的从句。窗口外,华沙进入后半夜。公司所在的那条街上已经没有别的灯光。这栋建筑的上层在推倒重来的几年里一直亮到凌晨的情况并不少见,但今夜的那种安静不太一样。它不是筋疲力尽后的沉寂,而是方向已定之后的沉淀。屏幕上的光标闪动。那个编剧最后审视了一遍对话框里的五条选项,确认每一条都有自己的道德重量和缺陷。然后他保存文档,关掉编辑器。游戏的最终剧本此时还远未完成,四五十万词的目标在2003年的冬夜里看上去仍然像一座不可企及的峭壁。但至少他们知道自己正在往上爬。