第 19 章
第19章 源代码与纸卡带(约 2000 年)
传真机不再响了。那台机器在完成《雷神之锤》引擎授权协议的最后一次传输之后,被搬进了杂物间,后来被扔掉了,没有人记得它的型号,没有人记得它的颜色,没有人记得它曾经在多少个深夜突然启动,吐出那些决定了数百万美元去向的纸张。但引擎的轰鸣还在继续,它不再需要传真机,不再需要合同,甚至不再需要约翰·卡马克本人。它已经变成了别的东西——一种像地下水一样沉默流动的基础设施,一种被封装进无数个授权协议里的纯粹逻辑,一种可以运行在任何平台上、被任何人移植、被任何人拆解的可复用代码库。1996年,卡马克在什里夫波特的那间办公室里,把《雷神之锤》的源代码打包上传到FTP服务器,一个Quake社群的程序员将其改写成了Linux版本,把修改后的游戏发给了卡马克。他没有起诉他。他让id的员工用这个补丁作为《雷神之锤》Linux版本的基础。
那一年,卡马克也在同一个地方遇见了凯瑟琳·安娜·康,她走进他的办公室,不是为了面试,而是为了告诉他,她可以比他做得更好。她指的是关卡设计。卡马克抬起头,摘下眼镜擦了擦,然后说了一句在此后多年会被反复提起的话:那你试试看。这不是一个浪漫故事的开始,至少不完全是,但它是一个分叉。同一个周末,罗梅罗在达拉斯Galleria塔楼的四十一层,站在落地窗前俯瞰整座城市,身后是Ion Storm的豪华办公室,玻璃幕墙外面是德克萨斯州无边无际的平原,他手里拿着一张五点二五英寸的软盘,那是《Dangerous Dave》的原始版本,1988年他在Apple II上编写的第一个真正属于他自己的游戏。他把那张磁盘放进一个塑料盒子里,锁进抽屉。他后来告诉别人,那是一个护身符。如果我们想要理解这两个动作之间的距离——一只手在键盘上敲下开源许可声明,另一只手把一张软盘锁进抽屉——我们首先必须放弃那种将它们视为对立面的冲动。它们不是对立的。
它们是一个完整的循环,只是这个循环太大了,大到需要二十年的时间才能看清楚它的弧线。卡马克的代码不是被偷走的,是他亲手交出去的。他交出去的时候,甚至没有多想。他只是认为,代码应该被使用,应该被修改,应该被移植到每一个可以运行它的平台上,应该被后来者拆解、重组、优化、抛弃,然后在它的废墟上搭建新的东西。这不是一种慷慨,这是一种哲学。他曾经在Slashdot的访谈里说过,软件专利是可怕的。他说这话的时候,不是站在一个革命者的立场上,而是站在一个工程师的立场上。他看到的不是利润的流失,而是效率的损耗,是无数程序员在重复发明轮子,是因为法律壁垒而无法共享最优解。他想要的是一个可以无限迭代的代码库,一个不断自我完善的系统,一个不再需要约翰·卡马克的世界。这才是他真正的野心——他想要把自己变成光缆,埋在地下,沉默地传输数据,不再被任何人看见,但不可或缺。而罗梅罗想要的东西恰恰相反。
他想要被看见,他想要被记住,他想要站在舞台上,让聚光灯打在他身上,让所有人喊出他的名字。他在离子风暴的办公室墙上挂着自己的巨幅照片,他在《大刀》的广告里把自己塑造成一个摇滚明星式的挑衅者,他把自己变成了《毁灭战士II》的最终首领——邪恶化身,一个倒挂在墙上的巨大头颅,玩家必须用火箭筒轰开它的脑壳。他想要留下痕迹,他确实留下了。只是留下的方式,和他想象的完全不同。2001年,《大刀》发售,评价惨淡,销售崩溃,离子风暴关门,罗梅罗离开达拉斯,那间四十一层的豪华办公室被清空,玻璃幕墙还在,但里面已经没有人了。他后来去了移动游戏领域,做了几款不温不火的游戏,再后来,他做了一件谁也想不到的事情。他重新发行了《Dangerous Dave》的纸卡带。纸卡带。那是一种在Nintendo娱乐系统上使用的物理介质,灰色塑料外壳,里面是一块电路板,插进卡槽的时候会发出咔哒一声,那个声音在1980年代定义了整个游戏文化。
但到了2010年代,纸卡带已经变成了博物馆里的展品,变成了收藏家们花大价钱竞拍的稀有物品,没有人会再买一张卡带回家插进机器里,因为机器已经停产了,电视机已经不再支持那些接口,整个游戏产业已经迁移到了云端、数字下载和移动平台。罗梅罗知道这些。但他还是做了。他找到了一家小型制造商,定制了一批数量极少的卡带,每一张都印着原始的像素艺术封面,每一张都附有一本说明书,说明书的纸张摸起来像是1990年的复印纸,微微发黄,带着一种故意做旧的气味。然后他把这些卡带放在网上出售。它们很快卖光了。那些买下这些卡带的人——他们大多三十多岁,有人四十多岁——他们想要摸到那个东西,想要一个物件,一个可以放在书架上的实体,一个可以证明他们曾经活在那个时代的物质证据。罗梅罗理解这一点。他也许比卡马克更早理解这一点。游戏不仅仅是程序,不仅仅是代码和算法,不仅仅是引擎和渲染管线。游戏是场所,是仪式,是共同记忆。
一张纸卡带承载的不是八个关卡的平台跳跃逻辑,而是整个童年,是放学后和朋友挤在电视机前的时刻,是那个还没有互联网、没有在线对战、没有DLC的时代里,游戏作为一种纯粹的物理体验的存在方式。卡马克的代码可以运行在任何平台上,可以被移植到任何设备上,但罗梅罗的纸卡带只能插进一台老旧的NES主机里,而那台主机正在全世界的车库和地下室里缓慢地生锈。这里有一种深刻的悖论。卡马克将技术推至极致,使之抽象为一种可移植、可复用的纯粹逻辑,他的代码最终变成了游戏工业的基础设施,就像TCP/IP协议或SQL数据库一样,没有人知道它们是谁写的,但每一个上网的人都在使用它们。罗梅罗则将游戏体验拉回感官与手工的源头,他用关卡设计、死亡竞赛和BBS文化证明了游戏不仅是程序,还是身体性的存在,是手握住手柄时的震动,是屏幕闪烁时眼球瞳孔的收缩,是和陌生人在电话线上用二十八点八K调制解调器对战时心脏的剧烈跳动。
他们的路径在物理意义上从未交汇,但如果你把镜头拉远,你会发现它们共同完成了一个惊人的文化循环:卡马克的代码让游戏变得无处不在,罗梅罗的纸卡带让游戏重新变得不可替代。前者是扩张,是殖民,是把游戏铺满整个数字世界;后者是收缩,是考古,是在无限复制的洪流中挖出一小块可以触摸的实体。它们不是对立的,它们是一个完整的呼吸。吸气,呼气。膨胀,收缩。城市化,然后乡愁。这就是《DOOM》的基因。这就是为什么当后来的游戏史学者试图拆解《DOOM》的基因时,他们发现根本无法将引擎与关卡、代码与感官、卡马克与罗梅罗彻底分开。不是因为他们在某一天和解了,事实上他们从来没有真正和解过。卡马克和凯瑟琳·安娜·康在2000年1月结婚,他们的儿子克里斯托弗·赖安于2004年8月13日诞生,这段婚姻持续了二十一年,直到2021年结束。罗梅罗不在宾客名单上。
罗梅罗在2010年代接受采访的时候仍然会提到卡马克的冷漠,他们的关系停留在一种礼貌的、职业性的疏远中,像两颗曾经碰撞过的恒星,各自沿着自己的轨道飞行,越飞越远,引力越来越弱。但他们共同创造的那个东西,已经生长得如此庞大,以至于任何试图剥离其中一半的尝试,都会让整个结构崩塌。你无法想象没有引擎的《DOOM》,那只是一堆像素画和声效文件。你也无法想象没有关卡的《DOOM》,那只是一个空荡荡的渲染框架,一个可以旋转视角但没有任何东西可看的虚空。为什么这种二元性如此不可分割?要回答这个问题,我们必须回到一条更长的因果链上,这条链从1990年一直延伸到2005年,甚至更远。1990年,卡马克和罗梅罗在什里夫波特的湖街公寓里开发《指挥官基恩》,他们白天在Softdisk公司上班,晚上回到公寓,从十点工作到凌晨四点,靠披萨和可乐维持生命。卡马克写引擎,罗梅罗做关卡。
卡马克攻克了横向卷轴在PC平台上的平滑滚动问题,那是当时几乎没有人能做到的事情,他用了不到两周时间。罗梅罗则用那些像素块搭建出了一个明亮的、卡通化的世界,那个世界里有跳跃的音符、绿色的外星人,还有一种任天堂从未在PC上实现过的流畅手感。他们各自做了自己最擅长的事情,然后拼在一起,就成功了。这个模式太成功了,以至于他们把它复制到了《德军总部3D》、《毁灭战士》和《雷神之锤》上。引擎和关卡。卡马克和罗梅罗。逻辑和感官。但我们要问的是:这种分工是从什么时候开始变得不可持续的?答案藏在《雷神之锤》的开发过程中。1995年,卡马克决定全面转向全3D渲染,这意味着他需要重写整个引擎,他需要时间,他需要安静,他需要没有人打扰他。罗梅罗则想要哥特式的城堡,想要动态破坏,想要可以射击的墙壁,想要一个可以真正沉浸其中的黑暗世界。但卡马克的引擎无法支持那些东西。不是他不想做,是算力不够。
当时的Pentium处理器只能勉强跑满三十帧,而每一帧的渲染时间只有十六毫秒,卡马克必须在这十六毫秒里塞进光照计算、纹理映射、深度缓冲和网络同步,他根本没有余量留给罗梅罗的动态破坏。所以他说不行。罗梅罗说好吧。然后罗梅罗的关卡设计变得越来越保守,越来越符合引擎的约束,越来越不像他想要的东西。卡马克越来越沉浸在引擎的优化中,他不再关心关卡设计,他甚至不再玩他们自己的游戏。他玩的是代码。他玩的是如何让那个渲染循环再快零点五毫秒。这种分歧不是性格上的,不是谁对谁错的问题,而是结构性的。当技术发展到足够复杂的时候,引擎和关卡之间的耦合就变得如此紧密,以至于任何一方的变动都会牵动另一方,而总有一方必须在约束下妥协。在《指挥官基恩》时代,引擎和关卡之间的接口是简单而清晰的:卡马克提供一个横向卷轴框架,罗梅罗在框架内放置平台和敌人。
但到了《雷神之锤》时代,引擎已经变成了一个四层架构:渲染层、网络层、物理层、音频层,每一层都有自己的约束,这些约束汇聚到关卡设计上,变成了一道道不可逾越的墙。罗梅罗撞上去了。他很痛。他离开了。但让我们把因果追问再往前推一步。为什么引擎和关卡之间的接口会变得如此复杂?因为第一人称射击游戏正在从一个技术demo变成一个工业产品。1993年,《毁灭战士》的共享软件版本被上传到威斯康星大学的FTP服务器上,一个学生把它下载下来,分享给了他的朋友,他的朋友又分享给了他们的朋友,二十四小时之内,整个大学的网络瘫痪了,因为《毁灭战士》的死亡竞赛模式占用了全部带宽。那个时刻,游戏产业还没有意识到发生了什么。但卡马克意识到了。他意识到,网络不再是游戏的附属品,网络就是游戏本身。所以他开始为《雷神之锤》构建一个全新的网络协议栈,他把TCP/IP的可靠性机制和UDP的速度优势结合起来,创造了一种混合协议,可以在二十八点八K的调制解调器上跑得相对流畅。
他为此花了整整三个月。这三个月,他没有写一行渲染代码,他全部扑在网络层上。而罗梅罗在等。他在等卡马克完成网络层,这样他才能测试他的关卡在多人游戏中的表现,但卡马克的网络层迟迟无法稳定,罗梅罗的关卡测试被一再推迟,整个开发周期被拉长,团队士气开始下降,争吵开始出现。这些争吵不是关于理念的,而是关于时间的。卡马克需要更多时间,罗梅罗已经等不及了。这不是谁的错,这是第一人称射击游戏在从手工作坊转向流水线生产的过程中,必然要经历的阵痛。引擎变得太大,关卡设计变得太依赖引擎,两者的开发周期不再同步,而协调它们需要一种全新的制度能力——项目管理、版本控制、测试自动化、持续集成——这些能力在1995年的id并不存在。没有人知道如何管理一个二十人的团队同时开发一个由四层引擎驱动的全3D游戏。他们是用手工作坊的方式管理一个工业产品,而手工作坊的方式就是:做引擎的人说了算。因为引擎是瓶颈,是稀缺资源,是所有人都在等待的那个东西。
所以卡马克说了算。罗梅罗只能接受,或者离开。他选择了离开。但历史没有在这里结束。历史在一个更长的周期里,以一种比两人都更耐心的方式,重新缝合了他们的遗产。2005年8月19日,卡马克公布了《雷神之锤III》的源代码。那是一个完整的、可编译的、带有详细注释的代码库,包含了卡马克在完全放弃单人剧情后,为纯竞技场游戏打造的所有技术积累:精确的帧率控制、基于弧线的跳跃物理、客户端预测算法、延迟补偿机制。这些技术后来被无数游戏引擎吸收,包括虚幻引擎、起源引擎、寒霜引擎。2007年,卡马克在苹果全球开发者大会上宣布了id Tech 5,那是一个消除了美工纹理内存限制的引擎,允许在像素级别上对整个游戏世界实现独特的定制设计。他站在舞台上,穿着他那件标志性的灰色T恤,声音平稳,没有激情,没有表演,只是陈述事实。他已经把引擎做到了极致。然后他走了。
2011年,他将id出售给ZeniMax,逐步淡出游戏业,转而投身航空航天和人工智能领域。他的代码被封装进一个又一个授权协议,最终成为游戏工业基础设施的一部分,像埋在地下的光缆一样沉默而不可或缺。而罗梅罗在那同一个时期,正在做着一件完全相反的事情。他在2010年代中期重新发行了《Dangerous Dave》的纸卡带,紧接着又发行了《指挥官基恩》的限定版软盘,那是一种三点五英寸的黑色塑料磁盘,容量一点四四MB,上面印着原版封面艺术,装在一个纸盒里,附有一本操作手册,手册的字体是Courier,那种打字机字体,行间距很大,看起来很像是从1990年的打印机里直接吐出来的。他后来还发行了《毁灭战士》的特别版盒装,里面有手绘的地图、概念艺术集和一张原声CD。这些产品卖得非常好。不是因为它们实用,而是因为它们不实用。它们不是游戏,它们是图腾。
它们是那些曾经在深夜拨号上网、听着调制解调器的握手声、等待《毁灭战士》的共享软件下载完成的人们,用来对抗遗忘的武器。卡马克让游戏变得无处不在,罗梅罗让游戏重新变得不可替代。而这正是《DOOM》的完整遗产。它同时是代码和仪式,是光缆和纸卡带,是那个永远不会关闭的虚拟走廊和那个正在缓慢生锈的NES主机。2013年,QuakeCon在达拉斯希尔顿阿纳托尔酒店举办,卡马克发表了主题演讲。他站在巨大的屏幕前,屏幕上是他的犰狳宇航公司的火箭发动机测试画面,他讲了一个小时,讲到火箭发动机的不稳定性,讲到燃料喷射的涡流,讲到计算流体动力学,讲到他在航空航天领域遇到的远比游戏引擎复杂得多的数学问题。然后他停下来,说了一句让全场安静的话:这么多年不务正业的日子业已结束,犰狳航空只剩一口气了。他说的不是他要回到游戏行业,他说的是他失败了。他亲手创建的公司只剩一口气。然后他走下台,被一群记者围住,其中一个人问他,他是否会回到游戏行业。
卡马克没有正面回答。他只是说,他对函数式编程很有兴趣。那个记者愣在那里,不知道该如何接话。但如果你仔细看那段视频,你会看到卡马克的眼神里没有失落,没有沮丧,只有一种平静的、近乎冷酷的清晰。他尝试过,他失败了,然后他继续前进。这和他在1996年放出《雷神之锤》源代码时的表情是一样的。那是一种工程师面对失败时的表情,不是愤怒,不是自责,而是:好吧,下一个版本会更好。但这里的“下一个版本”,已经不再是游戏引擎了。它可能是火箭发动机,可能是人工智能,可能是任何他还没有攻克的技术难题。卡马克的人生就是这样一条直线,从代码到引擎,从引擎到火箭,从火箭到人工智能,他一直在往前跑,从不回头,从不向后看,从不把任何东西当成护身符。他不需要护身符。他已经变成了光缆。而罗梅罗需要。罗梅罗需要那些纸卡带,那些软盘,那些手绘地图,那些说明书,那些装订成册的回忆。
他需要它们,是因为他需要证明自己曾经存在过,需要证明自己曾经是那个站在舞台上的人,需要证明自己曾经让全世界的玩家喊出他的名字。但更重要的是,他需要它们,是因为那些东西——那些原始的、物质的、不可复制的游戏制成品——它们本身就是游戏体验的一部分。它们不是怀旧,不是复古,不是对数字时代的反叛。它们是游戏作为一种文化形式的完整性的证明。游戏不仅仅是你在屏幕上看到的那些像素,它还是你握在手里的那个东西,是那个东西的质感、重量、气味和声音,是你在打开包装盒时撕开塑料封膜的感觉,是你在插入卡带时听到的那声咔哒,是你在读完说明书后第一次按下开始键时的期待。这些体验在数字下载时代被彻底抹去了,但罗梅罗用他的纸卡带把它们重新召唤回来。他不是在卖游戏,他是在卖记忆。而那些记忆,和卡马克的代码一样,是《DOOM》遗产不可分割的一部分。
因为如果没有人记得那些记忆,如果没有人记得在死亡竞赛中第一次杀死对手时的肾上腺素,如果没有人记得用火箭筒轰开邪恶化身的脑壳时的那种快感,如果没有人记得在深夜拨号上网时听到调制解调器握手声时的紧张,那么卡马克的代码就只是一串冰冷的符号,它没有温度,没有意义,没有历史。罗梅罗的纸卡带给了那些代码一个身体,一个可以触摸的身体,一个可以放在书架上的身体,一个可以传给孩子看的身体。这不是在逆反数字时代,这是在对数字时代进行一种必要的补充。卡马克让游戏变得无处不在,罗梅罗让游戏重新变得不可替代。这个循环终于闭合了。但如果我们只是停留在这里,如果我们的论断只是“卡马克和罗梅罗互补”,那我们就错过了更深层的东西。更深层的东西是:这种互补不是他们选择的,而是他们共同创造的那个东西——那个叫做《DOOM》的文化复合体——强加给他们的。
《DOOM》在诞生之初就不是一个单一作者的作品,它是一个杂交体,一个由引擎和关卡、代码和感官、逻辑和仪式拼接而成的嵌合体。卡马克和罗梅罗在创造它的时候,也许并没有意识到他们正在创造一种不可分割的双重性。他们只是各自做了自己最擅长的事情,然后把它们拼在一起。但那个拼在一起的东西,一旦被释放到世界上,就获得了自己的生命,它开始按照自己的逻辑生长、分裂、繁殖,它把卡马克推向更纯粹的技术抽象,把罗梅罗推向更具体的感官体验,它用市场的力量、用社区的力量、用历史的力量,把这两个人推向了两极。他们越走越远,不是因为性格不合,不是因为理念冲突,而是因为《DOOM》本身的结构要求他们走向两极。《DOOM》需要卡马克的虚空,也需要罗梅罗的噪音。它需要极致的逻辑,也需要极致的感官。它需要可以被无限移植的代码,也需要只能插进一台特定机器的卡带。它需要光缆,也需要图腾。它需要那个向前奔跑、从不回头的工程师,也需要那个向后挖掘、收集记忆的考古学家。
它是第一人称射击游戏的全部可能性,而这两个约翰,在彻底分道扬镳之后,各自承担了其中一半。他们不再需要彼此,但《DOOM》同时需要他们两人。这就是历史比人更耐心的方式。它不要求和解,不要求重逢,不要求任何戏剧性的拥抱。它只是等待,等待那些看似分离的轨迹在足够长的周期里显现出它们隐秘的对称性,等待卡马克的代码库被开源、被吸收、被遗忘成基础设施,等待罗梅罗的纸卡带被制造、被出售、被收藏进书架,然后在某一个时刻,当后来的游戏史学者试图拆解《DOOM》的基因时,他们发现那两条线从未真正分开过。1999年,传真机完成最后一次传输,吐出《雷神之锤》引擎授权协议的最后一页。那台机器不会知道,它刚刚见证了一个时代的终结,以及另一个时代的开始。它不会知道,那个在合同上签字的男人——约翰·卡马克——将在此后十年里逐步把自己变成光缆,变得沉默,变得不可或缺,变得不再需要任何人。
它也不会知道,另一个约翰——那个在合同上同样签了字,但已经从id离开的男人——将在此后十年里逐步把自己变成考古学家,变成收藏家,变成记忆的守护者,变成那个在数字洪流中打捞物质碎片的人。传真机只做了它该做的事情:接收信号,打印纸张,然后沉默。但引擎的轰鸣还在继续,那条从1993年《毁灭战士》上传起就存在的虚拟走廊,也从未真正关闭过。它一直在那里,在每一个第一人称射击游戏的关卡里,在每一个由玩家自制的MOD里,在每一个死亡竞赛服务器里,在每一个在深夜打开游戏、选择单人模式、第一次进入那条走廊的玩家的记忆里。它是一条由像素砌成的走廊,墙面是灰绿色的石砖,天花板上吊着笼子,远处有恶魔的咆哮声,脚下是散落的弹药和医疗包,你手里只有一把手枪。你往前走。你不知道前面有什么。你只知道你必须往前走。这就是《DOOM》。这就是两个约翰在密西西比河边的车库里发明的东西,他们发明了第一人称射击,也发明了此后所有天才搭档都要面对的问题——当引擎与摇滚明星不再需要彼此,谁来承担虚空,谁来承担噪音——但他们也发明了一种他们从未预期、也无法控制的遗产:那个问题本身,就是答案。