第 13 章
第13章 达拉斯的新宫殿(约 1997 年)
把时钟拨回更早的时候——约翰·罗梅罗坐在屏幕前,那颗巨大的恶魔头颅填满了整个视野。颅骨前额有一道裂缝——那是命中检测点,每一个《毁灭战士》玩家都知道,子弹必须打在那里。他按下开火键,火箭弹呼啸而去,屏幕震荡,邪恶化身开始崩溃。IGN的摄像机正对着他。摄制组在监视器后面等他说话。他指了指屏幕上正在碎裂的恶魔面孔,告诉他们:那颗头,是他的——他的头部扫描模型。
他和卡马克在1991年创立id Software,到1996年做出了《指挥官基恩》《德军总部3D》《毁灭战士》和《毁灭战士II》。在第二部里,他以最终首领邪恶化身的形象出现。他们把罗梅罗的脸扫描进游戏,前额那道命中检测点就是程序员的恶作剧。他还把自己的声音录下来,倒带处理,变成那声扭曲的非人咆哮。2013年,IGN邀请他重玩这款游戏庆祝二十周年。他就坐在这里,重新朝自己的头颅开枪,重新听见那个被倒带的自己。
采访结束后,摄制组收拾器材。一个制片人随口问他:离开id的时候,你觉得自己带走的最重要的东西是什么?
罗梅罗没有回答“代码”,也没有回答“版权”或者“钱”。他靠在椅背上,盯着已经暗下去的屏幕,说了一个词:
确信。
1996年6月22日,《雷神之锤》母盘压制的那个周末,罗梅罗抱着装个人物品的纸箱走出id的黑色玻璃大楼。达拉斯初夏的热浪扑面而来。他上了车,后座上放着《毁灭战士》的海报和一把没拆封的《雷神之锤》典藏版。他发动引擎,但没有立刻开走。他坐在驾驶座上,盯着那座他亲手参与建造的大楼。停车场上的两辆车少了一辆,灰色地毯上的矩形凹痕旁多了一个纸箱的印子。
六周后,他在租来的公寓里打开一本黑色封皮的笔记本,在第一页上写了一行字。那个句子的核心是一个判断:他不再只是引擎的创造者,他要成为游戏核心体验的完全控制者。这句话后面跟着一个破折号,然后是一行他从未对任何人说过的话——
引擎是一种工具,它不该是笼子。
在麦迪逊市郊一处租来的公寓里,卡马克正面对他的源码编辑器,载入《雷神之锤》引擎的下一个渲染模块。罗梅罗的办公室已经空了。阿德里安正在清理那些被丢弃的设计草图,威尔伯处理完了离职文件的最后一份副本。卡马克在注释栏里写下一行字:开始重构光照子系统。他没有写任何关于一个人的句子。引擎不需要知道谁走了。
那个周末,罗梅罗驱车穿过达拉斯北部的收费公路,在Galleria塔楼前停下车。那座玻璃幕墙建筑矗立在达拉斯北部商业区的天际线上,底部连接着全德州最大的室内购物中心之一。一个穿着深蓝色西装的商用地产经纪人在旋转门前等他,手里攥着钥匙和租赁手册。
他们乘电梯上到第十八层。经纪人推开通往空置办公区的玻璃门,两万两千平方英尺的开放空间铺展开来——落地窗从地板延伸到天花板,北侧俯瞰Galleria购物中心的玻璃穹顶,南侧是达拉斯市区模糊的剪影。正午的阳光灌满了整层楼面,光洁的混凝土地板上映出他们的倒影。罗梅罗站在那片空旷的中央,没有跟经纪人讨论每平方英尺的租金。他正在想象霓虹灯的颜色。
经纪人说,上一个租户是一家石油勘探公司,1991年油价暴跌之后撤走了。罗梅罗没有听见。他沿着那排落地窗走,右手虚虚地划过玻璃,在西南角停下脚步,转过身,面对那片空旷得近乎暴力的空间。他开始描述他要在这里摆放的东西——真皮沙发,不是办公室家具目录里的那种,而是你在好莱坞私人放映室里会看到的那种,深棕色,坐下去的时候整个人都会陷进去。
接下来的九十天里,罗梅罗把黑色封皮笔记本的每一页都翻成了一个采购决定。他在达拉斯设计区找到一家进口家具商,定下十二组意大利真皮沙发,颜色从深棕到暗红不等,每组配一张低矮的实木茶几,表面是手工打磨的胡桃木贴面。他雇了一名室内设计师,要他在入口走廊的天花板上安装一条十五英尺长的曲面霓虹灯——四个单词,蓝色光管:Design is Law。
霓虹灯亮起来的那天晚上,罗梅罗一个人站在入口处看了很久。蓝色的光打在他脸上,把他的眼窝照成两道深影。他想起什里夫波特那间湖街公寓的车库,想起他和卡马克在餐桌拼成的临时工作台前通宵编程的日子——凯文在隔壁房间录音效,阿德里安趴在画板上睡着了,汤姆·霍尔的咖啡杯沿总是沾着冷掉的速溶咖啡渣。那是1990年冬天,他们没有暖气,也没有商业计划书。现在他有一整层楼。
他在开放办公区中央划出一块区域,铺上深灰色地毯,摆放四台定制的街机框体,里面装满了他们做过的每一款游戏。在走廊尽头设置了一个全尺寸的桌球台,台呢是军绿色,球杆架是实心橡木。在主会议室里挂上一台六十二英寸的等离子电视——在1997年初,这是一种身份声明。他在自己的办公室里放了一张定制的U形办公桌,黑色花岗岩台面,左侧嵌入一台意式浓缩咖啡机。那台机器是一台La Cimbali双锅炉商用机型,手工抛光的不锈钢外壳,净水系统直接从墙内走了独立管线。三个月里,它从未被关掉过,蒸汽泵的嗡鸣日夜不停。
罗梅罗在《连线》杂志的一篇专访里看到过,好莱坞顶级后期制作公司的工作室里全都摆着这款机器。他不是因为需要咖啡才买它。他买它,是因为它意味着一种从不停止的创作状态——灯亮着,锅炉烧着,某个地方永远有人在写代码、画原画、构建关卡的骨架,即使是凌晨三点,即使整层楼面只有一个人。
这个意象占据了他的大脑。他开始用这层逻辑来构建一切。
他做的第一件事不是招程序员,而是雇了一个办公室经理。她叫凯莉,三十一岁,之前在达拉斯市中心一家科技公关公司做了五年行政主管,简历上列着她经手过的最大单笔采购订单——价值四万两千美元。罗梅罗给她的第一项任务是一份采购清单:三台服务器级PC、二十台顶配开发工作站、五台激光打印机、全层商业级网络接入点和一颗足够驱动不间断创作的UPS电池组。凯莉用三天时间完成了询价,第四天上午把总预算表放在他桌上。他扫了一眼底部的数字,没有还价,只要她再追加一组大尺寸显示器——他不允许任何程序员盯着小屏幕写关卡。
然后他签了支票。
那笔钱的来源是他离开id时保留的股权收益。《雷神之锤》在1996年6月末提交的首周销售报告显示,北美市场发售前七天售出约十二万份,首月销量累计超过四十万份,为id Software在第一个财年内创造了一千二百万美元的净收入。罗梅罗作为联合创始人的股份分红,加上他不曾签署任何廉价买断协议的事实,让他在1996年底离开时,身上揣着一张可以在达拉斯市中心开公司的支票。
但那支票只够盖宫殿的地基。盖宫殿的主体需要另一种东西。它在1997年1月中旬抵达,装在一个深灰色的联邦快递信封里,寄件地址是伦敦温布尔登。信封里是一份发行协议书草案,由英国发行商Eidos Interactive起草,总共四十七页。核心条款列在第十二页第四段:Eidos同意向Ion Storm提供总计一千三百万美元的开发资金,分三期支付,首期预付款四百三十万美元将在双方签署后十个工作日内电汇至达拉斯账户。作为交换,Ion Storm承诺在三年内交付三款PC平台游戏,第一款必须在1997年12月15日之前提交最终母盘,至少支持Direct3D硬件加速,兼容Windows 95和即将发布的Windows 98操作系统,并通过Eidos内部质保部门的全部测试用例。
罗梅罗在那张黑色花岗岩办公桌前读完了整份草案。他用了四个小时,逐页翻看,用铅笔在页边空白处画了十七个感叹号。他不觉得那个截止日期有问题。12月15日——现在是1月,他有十一个半月。1991年他们在Softdisk的合同压迫下,用六个月做出了《指挥官基恩》三部曲,那还是在他们偷来的黑夜里写的代码。十一个月,对他来说不叫期限,叫冗余。他在签名栏里签下了自己的名字,用力很重,几乎把纸背划透。
Eidos的第一笔预付款在1月27日到账。凯莉在邮件里告诉他,银行确认电汇已入账,扣除国际转账手续费和德州营业税预扣之后,实际到账四百零八万七千二百美元。罗梅罗坐在办公室里,听见咖啡机蒸汽阀发出嘶的一声,热水冲进手柄里的研磨粉层,浓缩液沿着导流嘴落进陶瓷杯。他端起杯子,走到落地窗前,望着南边达拉斯市区模糊的轮廓线。
他想到卡马克此刻大概正在麦迪逊的某间安静办公室里,面对一块布满警告信息的编译输出屏幕,修正某个渲染管线里的浮点误差。他们之间的区别不是钱。区别是,卡马克此刻面对的问题有一个确定的答案,而罗梅罗此刻面对的问题数量呈指数增长,且没有一个有答案。
但他不知道这一点。他站在落地窗前,以为自己只需要把宫殿盖好,国王们自然会来。
国王们确实来了。
汤姆·霍尔在一月下旬抵达达拉斯。他在id Software的退场方式是罗梅罗记忆里的一块旧伤疤。《毁灭战士》开发后期,霍尔精心构建的叙事元素被卡马克一条一条从游戏里剥离——文本日志删掉了,情节线索剪断了,他写了六个月的关卡脚本被压缩成一套只在开头和结尾出现的简短文字。卡马克对他说过一句话,至今仍会在霍尔失眠的深夜里复读:故事在一款第一人称射击游戏里,就像色情片里的情节,它存在,但没人需要它。
罗梅罗接到霍尔电话的那天,达拉斯的气温降到了零下五度。霍尔坐早班飞机从加州飞过来,行李只有一个双肩包和一箱设计文档。罗梅罗在Galleria塔楼地下的停车场等他,开着一辆新买的黑色保时捷911卡雷拉。霍尔坐进副驾驶,关上车门,安静了几秒钟。然后他说,你真的在停车场里造了一座电影院。
罗梅罗大笑起来。他已经很久没有这样大笑过了。他踩下油门,保时捷的六缸发动机发出一声低沉的回响,沿着坡道盘旋而上。他带霍尔参观整层办公室的时候,霍尔在那条“Design is Law”霓虹灯下面站了整整一分钟。他的嘴唇无声地动着,重复念着那几个单词。然后他转过身,对罗梅罗说了一句话,声音很轻,轻到几乎被空调送风的低鸣盖过——卡马克永远不会让他挂这几个字,他甚至会觉得这几个字在语法上就有问题。
罗梅罗没有回答。他带着霍尔走进已经布置好的设计区:四张定制的可升降绘图台,每张都配了大尺寸显示器,墙面上钉满了软木板,软木板上还没钉任何东西。霍尔把双肩包放在一张绘图台上,拉开拉链,取出一沓用活页夹装订的文档。封面上手写着标题:《多米诺风暴——设计提要(稿)》。他在那个下午就开始了工作。罗梅罗从会议室玻璃墙后面看着他——伏在绘图台上,铅笔在草图上画出第一组空间布局的轮廓线,台灯把他的影子投在软木板上。那是罗梅罗很久没有见过的东西:一个他信任的设计师,正在构建一个属于自己的世界。
托德·波特在二月初加入。他飞到的那天,达拉斯下了冻雨,整座Galleria塔楼的玻璃幕墙外面结了一层半透明的冰壳。波特在id负责过《毁灭战士》和《雷神之锤》的美术资产制作,但他在公司的最后一年里,职位范围被逐步压缩,最终只剩下怪物模型的贴图重复劳动。他和卡马克在美学承诺上的分歧从一开始就不可调和——波特认为游戏应该有一种视觉上的叙事性,材质应该暗示材质背后的世界,而不是仅仅服务于渲染效率。这个信念在id内部没有生长空间。引擎不关心暗示。
罗梅罗给波特开出的职位是Ion Storm美术总监。波特在办公室里挂了一幅三英尺乘六英尺的《大刀》概念图——用丙烯和水墨混合画在帆布画板上,笔触粗粝,色彩饱和度极高,描绘了一个赛博武士半身像,盔甲裂缝里透出暗橙色的熔岩光芒,背后是四个重叠的不同时代的景观截片。罗梅罗把这幅画挂在他自己办公室正对面的墙上,这样他每次开门都能看见它。
到了三月中旬,Ion Storm的工位已经坐满了十七个人。罗梅罗把他们分成三个并行项目组。第一组由他直接控制,代号“大刀”,核心玩法是时间旅行动作射击,主角带着一把可以穿越四个不同时代的武士刀,在古希腊废墟、中世纪挪威峡湾、内战时期的旧金山废墟和2030年的赛博日本之间切换。第二组由霍尔负责,代号“多米诺风暴”,概念是一个基于物理破坏链的战术潜入游戏,玩家使用连锁反应而不是直接攻击来清除目标。第三组是威尔·洛卡西奥带来的一个小团队,负责一个暂定名为“太空漫游者”的科幻角色扮演游戏原型。
三个项目。十七个人。一个截止日期:1997年12月15日。
罗梅罗对十二月信心十足。他在三月的第二周接受《PC Gamer》杂志电话采访时告诉记者,他们会在圣诞节购物季之前完成《大刀》。它不是一款游戏,而是一次关于游戏可以变成什么样的重新定义。采访刊出之后,Eidos伦敦总部发来了一封措辞克制的邮件,祝贺了他的公关表现,然后附上了一份细化到月的交付时间表。表格里列出了《大刀》在四月、六月、九月和十一月必须具备的可演示里程碑,每一个旁边都标注了对应的Eidos内部审核节点,以及若未通过审核将触发的分期付款暂停条款。罗梅罗把这封邮件转给了凯莉,凯莉把它打印出来,按照他的要求钉在会议室的白板左侧。
但白板右侧已经被他占满了。他用红色记号笔画了一幅《大刀》第一关的关卡流程图,上面标注了四十三个不同的玩家路径分叉点。他画那幅图用了整整一个周末。凯莉后来告诉霍尔,她星期天晚上回办公室取一份遗忘的采购单,看见罗梅罗站在白板前面,右手攥着记号笔,左手端着一杯冷掉的浓缩咖啡,正在第六次修改一个分叉点上的遭遇战触发条件。
霍尔在那段时间里完成了一百二十页的《多米诺风暴》设计文档,打印出来,装订成册,封面覆了一层透明塑料护膜,放在罗梅罗桌上。罗梅罗当天晚上就读完了全本,第二天早上一进办公室,直接走到霍尔的设计区,把文档放在他绘图台上,说了两个字:通过。霍尔抬头看他,问他有没有要改的地方。罗梅罗说,有,但他改不了。霍尔写的那些物理链系统需要引擎支持,而他们现在没有能跑那个的引擎。罗梅罗说这话的时候语气平淡,像在陈述天气。他要霍尔先按这个做原型,引擎跟上来之后再讨论改动。
他没有说的是,Ion Storm根本就没有自己的引擎。他们正在授权使用id Software的《雷神之锤》引擎——是他离开id之前签署的最后一份协议中保留的授权条款,允许他在离职后继续使用该引擎开发商业产品,但授权期限只有十八个月,且不允许对底层渲染管线做任何修改。卡马克在那个条款里加了一条限制:引擎授权部门对任何基于该引擎的修改版本的稳定性评估拥有最终决定权。
这意味着,罗梅罗的Ion Storm至少在技术底层上,仍然拴在卡马克那栋黑色玻璃大楼的地下室里。他可以盖一座宫殿,但地基用的是别人浇筑的混凝土。
他不去想这件事。他把注意力集中在那些他可以控制的事情上——关卡设计、怪物AI的行为树、同伴系统的交互逻辑、时间旅行机制在不同时代的视觉呈现方式。同伴系统是他最骄傲的设计。在《大刀》里,玩家扮演的男主角身边始终伴随着两名AI控制的同伴,一个叫Superfly Johnson,一个叫Mikiko Ebihara。罗梅罗的设想是,这两个非玩家角色不是跟在你身后的包袱,而是有独立战斗逻辑、会记住你的战术偏好、在遭遇战中主动寻找掩体和交叉火力的战术伙伴。他在设计文档里为这个系统写了十七章。第十七章最后一页上有一行铅笔备忘,大意是:这不是引擎功能,这是核心玩法。如果引擎不支持,他们就教引擎怎么做。
波特花了三周时间为Superfly和Mikiko做了高精度的角色模型和贴图,分辨率是当时顶配配置都很难流畅渲染的数值。罗梅罗不在乎。他坚持认为同伴必须看起来像真人,因为玩家必须在乎他们,必须愿意在他们被怪物包围的时候冒险回头去救他们。那是他想要的体验——一种好莱坞能给你的、肾上腺素涌上喉咙的、你必须做出选择的体验。
四月,Eidos伦敦总部派了一个审计小组飞到达拉斯。三个人:一个项目经理,一个财务审核员,一个发行负责人。他们穿着深色西装,在罗梅罗的办公室里坐了整整七个小时,翻阅了所有三个项目的进度文档,检查了开发机的采购发票,核对了工资单上的每一笔支出。
那个叫理查兹的项目经理在翻看《大刀》设计文档的过程中停下了手里的笔。他把那十七章同伴系统文档摊开在黑色花岗岩桌面上,用食指点了点其中一页上的机制描述——同伴实时路径寻找,每秒二十四帧刷新率,独立碰撞检测,任何视角下均不能出现穿模。理查兹问罗梅罗,他是否确定要在圣诞节之前实现这个。他的伦敦腔被会议室里的咖啡机蒸汽声压得很低。
罗梅罗坐在办公桌后面,身体往后仰,真皮椅背发出轻微的嘎吱声。他的眼睛没有离开理查兹的脸。他说他确定。理查兹继续追问:这个系统需要的引擎运算量,仅路径寻找和碰撞检测这两个单元,就可能让一台奔腾166掉到十几帧。罗梅罗打断了他。这是他第一次对Eidos的人提高音量。他说他知道渲染管线的每一个瓶颈在哪里,他参与写了那个引擎的雏形。虽然他现在不碰底层代码了,但他知道它能做什么、不能做什么、和理论上可以做什么。如果理查兹担心资金,审计报告可以自己看,账面上每一分钱都在那里。如果理查兹担心技术,他可以回去告诉他们的技术顾问,测试九月份交付的第一个里程碑。
罗梅罗说到这里,停下来,吸了一口气,把后面那句话吞了回去。他想说的是:如果你担心的是时间表,那你应该去找卡马克谈,他才是那个觉得引擎比人重要的人。但他没有说。他换成了一句更温和但同样不妥协的回应:他们有足够的东西可以在十二月份拿出母盘。
理查兹合上了文档。他没有再追问,但手指在文档封面上敲了两下,那个节奏里有一种不认为会谈已经结束的意味。
审计小组在五点钟离开。凯莉送他们到电梯口,回来的时候手里拿着一份临时开销单——为了招待审计小组,她在楼下购物中心的意大利餐厅订了四人份晚餐,账单贴在开销单的背面。罗梅罗看了一眼,签了字。他坐回椅子上,盯着白板上那幅关卡流程图。四十三个分叉点。他需要每一个分叉点都有同伴交互,需要敌人在不同时代有不同的战斗AI,需要四个时代的关卡在视觉上截然不同、在游戏机制上相互呼应、在技术实现上同时塞进一张光盘里。他需要的东西,和他拥有的时间,正在两个不同的方向上加速驶离彼此。
五月,达拉斯的气温开始上升。Galleria塔楼的中央空调二十四小时运转,但开放办公区西侧总是比东侧热三度,因为落地窗正对着午后的太阳。波特的工作站在西侧,他每天下午从两点到五点必须拉上遮阳帘,否则显示器表面的反光会让贴图色温判断失准。他为Superfly做了一套面部表情动画,二十二组面部肌肉的微调参数全都写在模型注释里,但运行起来之后,Superfly的笑看起来仍然像一种不明原因的抽搐。波特花了三周时间解决这个问题。
艾德里安·卡马克——id的美术总监,和引擎作者没有血缘关系——曾经在《雷神之锤》的角色动画上做过类似的事情,波特知道那些参数是怎么处理的。但艾德里安能直接走进引擎作者的办公室,在他屏幕旁边讨论插值算法和骨骼权重。波特能走进的唯一办公室是罗梅罗的办公室。罗梅罗会给他想要的一切时间、预算和鼓励。但罗梅罗不会改插值算法。
六月的第一个星期三,霍尔在他的设计区里召开了《多米诺风暴》的第一次全组进度评估。到场的除了他手下的四个人,还有罗梅罗和波特。霍尔把一张物理链推演图铺在会议桌上,上面用箭头连接着十六种不同的环境破坏方式——承重墙断裂导致楼板坍塌,坍塌导致燃气管道破裂,燃气泄漏被火花引燃,连锁爆炸触发地下室的备用发电机组损毁——每一个环节都标注了所需的物理计算模块。
罗梅罗听完了整个推演。他问了一个问题:引擎能跑这个吗?
霍尔沉默了几秒钟。他翻到文档的倒数第二页,那里列着该系统对底层物理引擎的性能需求预估:浮点运算峰值约为《雷神之锤》标准物理子系统的八倍,碰撞几何检测需要支持非凸多面体。这两条需求都落在了引擎授权协议禁止修改的范围内。罗梅罗把这一页读了两遍。他抬起头,看着霍尔,说:他们换引擎。
霍尔问换什么。罗梅罗说他还在找。
会议室里没有人接话。空调出风口送风的声音持续了很长时间。最后是波特打破了沉默。他指出,如果换引擎,意味着全部三个项目都要重写底层适配层,美术资产也要重新导出。而现在他们连《大刀》的第一关原型都没跑起来。
罗梅罗站起身,双手撑在会议桌边缘。他说会跑起来的。他们每次都是这样。在Softdisk的时候,凯文说他做不完音效库,他们照样交了《基恩》。在什里夫波特,阿德里安说他的画板坏了,他们用扫描仪扫线稿上色。引擎的问题不是新问题,引擎永远有问题。他们不是靠解决引擎问题才做出《毁灭战士》的——他们是靠不管它。
那是他的信念。那是他从密西西比河边的车库里一路带过来的东西。引擎是工具,工具是用来突破的。如果你在工具面前停下,你就已经输了。
但他忘记了另一件事。那间河边车库里,引擎是坐在他旁边的人写的。他不需要突破他,只需要走过去,站在他身后,指着屏幕上的某一行,说:这里,再加一个条件分支。现在引擎不在他旁边。引擎在麦迪逊,在卡马克的屏幕上,正在被重构成一个更冷酷、更高效、更不需要罗梅罗的存在。
七月中旬,凯莉的采购清单已经累积到了一百四十七项,总金额超过账面上剩余首期预付款的近四分之一。她向罗梅罗提交了一份财务预警备忘录,建议暂缓接下来三个月的非硬件采购,包括第二批定制办公家具和原定安装在主走廊的八盏意大利进口落地灯。罗梅罗在备忘录上签了“批准”,划掉了落地灯,但保留了家具。他写道,设计环境就是设计思维,那条线不能砍。
同一天,Eidos的理查兹从伦敦发来第二封里程碑提醒邮件,附上了一张修改后的交付时间表,把原定九月份的第一次可演示里程碑提前到了八月十五日,理由是Eidos需要预留至少四个月的时间给质保部门做全面测试,以确保十二月的上市档期。罗梅罗看到邮件的时候,正在吃凯莉帮他叫的外卖三明治。他把三明治放下,站起来走到白板前面。四十三个分叉点,每个下面多了两种敌人AI的变体标注。同伴系统还在原型阶段,美术资产完成了大约四成。波特还在跟Superfly的面部表情斗法。霍尔在隔壁房间里写《多米诺风暴》的第三版物理链简化方案,那个方案的推演结果越来越接近一个标准动作射击游戏,而不是他最初设想的那套连锁破坏体系。
罗梅罗擦掉白板右下角的一个日期标注,重新写了一个:8/15。然后他在这行字下面划了三道线,用蓝色记号笔把线框成一个方框。方框旁边,他用红笔写了一个词:跑起来。
七月二十二日凌晨两点,办公室终于空了。只剩下咖啡机的蒸汽泵还在低声嗡鸣,每隔十五秒自动泄一次压,泄压阀发出的嘶嘶声在空旷的楼面里回荡。霓虹灯已经关了。设计区只剩下一盏台灯——霍尔忘记关的——把一沓摊开的草图照成一圈暖黄的光晕。罗梅罗坐在他的花岗岩办公桌前,面前摊开了全部四个时代的关卡总图。他用铅笔在古希腊废墟区和赛博日本区之间画了一条通路连接线,然后停顿了很久。
这条线跨越了三个时间旅行过渡点。如果同伴系统正常工作,Superfly和Mikiko应该在这里实现一个战斗交接动作——从古希腊的短兵格斗AI切换到赛博日本的掩体射击AI——而这一切必须在玩家穿过时间传送门的零点几秒之内完成,没有任何加载画面,没有任何停帧。但他手里的引擎版本不支持AI运行时的无缝切换。这需要热加载一个没有授权修改权限的内存分配表。
他盯着那根铅笔线,盯了很久。然后在旁边空白处写了一行小字:要么引擎学会这个,要么他们做一个不需要引擎学会的。他不知道这句话是什么意思。他只知道他必须让这句话成为一个决定。
凌晨三点十五分,他用座机拨了一个号码。响了七声之后,那边接了起来——是霍尔,声音困倦得几乎不完整。罗梅罗告诉他,他需要霍尔明天早上一进办公室就做一件事:把《多米诺风暴》的物理链文档里所有需要修改引擎的部分标红,然后告诉他,如果那些部分不实现,核心体验还剩多少。
电话那头沉默了大约十秒。霍尔的声音清醒了一点。他说,如果那些部分全都不实现,他的核心体验还剩一个菜单界面和一张说明书。
罗梅罗没有说话。他闭上眼睛,用手指按住太阳穴。咖啡机又在泄压了,嘶的一声,隔着玻璃墙也能听见。他说了一个字:好。他让霍尔明天标红。然后他挂断电话,睁开眼睛,看着面前那张画满铅笔线的关卡总图。四十三个分叉点,四条时间线,两个同伴,一把需要劈开历史的大刀。他在图的左下角空白处,用一种被深夜磨钝的笔迹写下一行字:他们在这里,刀子还没开刃。
他把铅笔放下,靠在椅背上。窗外,达拉斯的天际线浸润在氤氲的水银灯光里,Galleria购物中心的穹顶在远处泛着一层柔和的乳白。他在这座宫殿落成的头几个月里建造了一切:霓虹灯、真皮沙发、花岗岩桌面、意大利咖啡机、十七个人的梦想、三款游戏、一千三百万美金的资本、一个被杂志称为“游戏界好莱坞”的品牌宣言。这些东西全是真实的。它们填满了两万两千平方英尺的空间,也填满了每一个来访记者手里的录音带。
但它们填不满一个漏洞。那个漏洞不在代码里。那个漏洞在一切代码都还没写的地方:在他以为摇滚明星的身份可以替代引擎的核心,在他以为金钱和空间可以置换时间,在他以为他不需要卡马克——甚至不需要学会卡马克已经学会的东西——就能在这个世界上独自建造一座不会坍塌的宫殿。
空调停了。凌晨的节能模式自动关闭了新风系统。整层楼面骤然安静下来,安静到他能听见自己的心跳——和咖啡机锅炉里水沸腾的声音。那台机器还在运转。蒸汽泵仍在循环,指示灯仍亮着绿灯,因为没人按下关闭按钮。它不需要咖啡豆,不需要水杯,不需要任何人。它只是持续地、忠诚地、毫无目的地保持着一种被设计赋予的空转状态。
他站起来,穿过空荡的办公室,走进设计区。霍尔那盏台灯把他摊开的草图照得清清楚楚。《多米诺风暴》封面上的标题旁边,霍尔用铅笔写了一行备注,笔迹很轻,像是不愿意被太多人看见。那行字说,如果物理引擎不成立,这个故事就只剩下一堆炸不了的墙。
他把台灯关掉。整层楼陷入完全的黑暗,除了走廊尽头霓虹灯在电源关闭后的余晖——蓝色光管逐渐熄灭的过程里,留下一道细微的、正在消失的轮廓。而在他桌面上,那份Eidos的交付时间表还摊开着。八月十五日的日期旁边,理查兹用红笔圈了一个记号,下面压着一行传真过来的手写字:请确认第一次可演示里程碑的具体完成百分比,伦敦需要这个数字来做秋季发布会排期。
这行字的笔迹很正式,但那个红色圆圈的墨迹洇进了纸纤维里,像某种正在缓慢扩散、尚未被任何人命名的压强。窗外,达拉斯的天际线边缘泛起了第一层灰蓝。Galleria塔楼的玻璃幕墙开始折射这个城市第一道没有温度的晨光。