第 2 章
从实验室到校园网
如果我说,电子游戏在诞生之初,不是商品,而是礼物——这个判断听起来像是在刻意美化一段技术史。通常的叙事模型是这样的:一项新技术出现,企业家发现商机,产品进入市场,消费者购买,产业形成。这个模型解释了很多行业,但它解释不了电子游戏的起源。在1960年代中期,当《太空战争》的代码开始从麻省理工学院向外扩散时,没有任何人在买卖它。没有人给它定价,没有市场调研,没有商业计划书。它是以一种在今天看来几乎不可思议的方式传播的——程序员们把它当作一份礼物,送给了其他机构的同行。我们要理解这件事,就必须先理解一个在今天已经消失的制度安排:DECUS。DECUS,全称是数字设备公司计算机用户组(Digital Equipment Corporation Users' Society),1961年由DEC公司成立。表面上看,这就是个用户俱乐部,类似今天某个品牌汽车的车友会。但在1960年代的计算技术生态中,DECUS承担的功能远远超出了联谊和交流。
它是一个程序共享网络的核心节点。要理解为什么这个组织如此重要,我们需要回到当时的软件观念。今天,我们习惯把软件当作独立的产品——你买一台电脑,然后单独购买操作系统、办公软件、游戏。但在1960年代,这个观念还不存在。软件不被视为可以单独销售的商品,它被看作是硬件的附属品。你买了一台PDP系列的计算机,DEC公司会随机器提供一些基本的系统程序和工具程序,仅此而已。如果你想用计算机做更多的事,你需要的程序从哪里来?答案是:自己写,或者从其他用户那里获取。这就是DECUS存在的理由。它建立了一个机制:会员们把他们编写的程序贡献出来,存入DECUS的程序库,其他会员可以免费获取这些程序。这是一种礼物经济——我贡献我的代码,不是因为我能从中赚钱,而是因为我知道当我需要别人的代码时,别人也会同样贡献出来。这种伦理不是写在章程里的条文,而是那个时代计算技术社群的默会共识。计算机太昂贵了,能够接触到它们的人太少了,这些人形成了一个天然的圈子。
在这个圈子里,分享知识和技术,既是一种互助,也是一种身份认同。《太空战争》就是在这样的生态中传播的。1962年,拉塞尔和他的同伴们在MIT完成了这个游戏。它立即成为PDP-1计算机上最受欢迎的演示程序。DEC公司很快意识到了这一点。当DEC的销售人员向潜在客户展示PDP-1的功能时,他们往往会运行《太空战争》——还有什么比两艘太空船在屏幕上互相射击更能展示这台机器的实时交互能力和图形显示性能呢?于是,DEC公司自己做了一个决定:他们把《太空战争》的代码放进了DECUS的程序库。这不是一个商业决策。DEC没有试图把《太空战争》包装成产品出售,他们把它当作一个免费的演示工具。但这个决定产生了深远的历史后果:任何购买了PDP系列计算机的机构,只要加入了DECUS,就可以拿到这份代码。代码的物理形态,在今天看来充满了那个时代的质感。它被存储在打孔纸带上——一卷窄窄的纸带,上面排列着一行行圆孔。
每一个孔的位置对应一个二进制位,有孔是1,无孔是0。一整卷纸带,就是由成千上万个这样的孔组成的程序。要复制一份《太空战争》,你需要一台纸带打孔机,把原版纸带上的信息读取出来,再打出一卷新的纸带。这个过程缓慢、机械、充满仪式感。纸带在打孔机里咔嗒咔嗒地前进,每秒钟只能处理几十个字符。复制一份完整的游戏代码可能需要几十分钟。后来有了磁带。磁带更快,存储密度更高,但逻辑是一样的:程序是一串可以物理复制的东西。你可以把它装进信封,通过邮政系统寄到另一个城市,甚至另一个大陆。斯坦福大学的人工智能实验室拿到了。卡内基梅隆大学拿到了。加州大学伯克利分校拿到了。英国的剑桥大学拿到了。每一卷纸带或磁带抵达一个新的机构,就意味着那里的一台PDP计算机可以运行《太空战争》了。但“运行”这个词,掩盖了实际过程的复杂性。问题在于,DEC生产的不止一个型号的计算机。《太空战争》最初是为PDP-1编写的。
PDP-1是一台18位字长的机器,拥有一个圆形显示屏,指令集和硬件架构都是特定的。但DEC后来推出了PDP-6、PDP-7、PDP-10等后续型号,这些机器的字长可能不同,显示屏可能不同,输入设备可能不同。把PDP-1上的程序拿到PDP-6上运行,不是简单的复制粘贴——它需要重新编写大量代码,适配新的硬件。这就是为什么《太空战争》的传播,同时也是一个不断被改写的历史。当一个斯坦福的程序员拿到MIT的代码,他看到的不是一个可以立即运行的游戏,而是一份需要重新编译、调试、修改的源代码。在这个过程中,他不可避免会想:我能不能加点什么东西?MIT的版本只有两艘船、一个星空背景、基本的牛顿力学模拟。它没有重力,因为两艘船在空旷的太空中战斗,不需要考虑行星引力。但斯坦福的程序员可能会想:如果加入一颗恒星呢?如果这颗恒星的引力会影响飞船的轨迹呢?
这个想法不是自上而下的设计指令,而是程序员在使用和修改代码时自然产生的念头——我有了一个更好的主意,我要把它做出来。于是,斯坦福的版本有了重力选项。你可以选择打开或关闭一颗位于屏幕中央的恒星的引力。引力打开之后,游戏的策略完全变了。飞船不再只是直线飞行和转向,它必须考虑引力的拉扯。飞得太靠近恒星,你会被吸进去,坠毁在恒星表面。但熟练的玩家可以利用引力——靠近恒星时加速,利用引力弹弓效应甩出一个弧线,从意想不到的角度攻击对手。这个功能不只是增加了一个变量,它改变了游戏的空间感和战术深度。伯克利的版本可能加了别的东西。有人想出了隐形功能——按下某个键,你的飞船从屏幕上消失几秒钟。对手看不到你,只能猜测你的位置,朝可能的方向开火。这个功能引入了一个全新的维度:信息不对称。在标准的《太空战争》中,双方都能看到对方的全部状态——位置、速度、方向。但隐形打破了这种对称性,把猜测和欺骗变成了策略的一部分。
还有跃迁空间——按下另一个键,你的飞船随机跳跃到屏幕上的另一个位置。这又是一种不同的策略工具:当你陷入劣势时,你可以赌一把,随机跳走,寄希望于新位置比旧位置更有利。但这个功能的风险在于,你不知道会跳到哪儿——可能跳到恒星附近被引力捕获,可能跳到对手的弹道上正好撞上鱼雷。这些变体,每一个都是由不同机构的程序员独立添加的。然后,他们把这些修改后的版本再次提交到DECUS程序库,或者通过DECUS通讯告知其他用户。DECUS通讯是DECUS发行的定期刊物,上面刊登技术文章、程序使用说明、问题解答、新版本公告。有人在通讯中描述了如何在PDP-6上实现恒星重力模拟——包括汇编语言中重力计算的实现方式、显示程序的修改方法以及已知的问题。其他机构的程序员读到这篇文章,可能会写信给作者,索要一份新的纸带。或者,他们会在自己的版本中实现类似的功能,但采用不同的算法。这就是一个分布式的、协作式的设计过程。
它没有项目经理,没有设计文档,没有版本控制系统。它依靠的是邮件、纸带、DECUS通讯和程序员之间的个人通信。每一个修改都是一种对话——我对你设计的回应,我对你提出的改进,我认为这个游戏还可以这样玩。我们需要停下来,认真审视这个过程的意义。通常的叙事会把电子游戏的进化描述为一系列天才的单独发明——某个设计师灵光一现,创造了一个新类型,然后市场跟进。但这个叙事模型解释不了《太空战争》的变体是如何产生的。那些添加了重力、隐形、跃迁空间的程序员,他们不是在发明新类型,他们是在参与一场对话。他们看到了一个现有的设计,觉得有趣,但不够满意,于是动手修改。他们的修改被其他人看到,又引发新的修改。这个过程的驱动力不是商业竞争,而是智力上的好奇和社群的认可。这就是为什么游戏在学术场域中形成了最初的公共领域。这个概念来自哲学家哈贝马斯,原意是指18世纪欧洲资产阶级在咖啡馆、沙龙、报纸上形成的理性讨论空间,一个介于私人领域和国家权力之间的场域。
在这里,人们通过公开的、理性的讨论形成公共舆论。把《太空战争》的传播放在这个框架里看,你会发现类似的结构:一个由技术精英组成的社群,通过DECUS这样的制度平台,进行着关于游戏设计的公开讨论和实践。这个讨论不是市场驱动的——没有人在里面赚钱——而是由共享伦理和智力趣味驱动的。这种公共领域的性质,塑造了早期游戏文化的三个基本特征。第一个特征是非商业性。没有人试图通过修改《太空战争》获利。那些添加了新功能的程序员,他们得到的是同行的认可和尊敬,而不是金钱。当你看到斯坦福版本的重力功能出现在剑桥的版本中,你会感到一种满足——你的想法被别人接受了,它成为了这个共享遗产的一部分。这种满足感是真实的,它驱动着人们继续贡献。第二个特征是可迭代性。游戏被视为一种可以不断修改的媒介,而不是一个完成的产品。今天的游戏产业中,版本是一个严格的商业概念——1.0版本之后是2.0,中间有补丁和DLC。
但在1960年代的学术计算环境中,版本是一个流动的概念。没有人宣布哪个版本是最终版。每一个机构的版本都是不同的,每一个版本都在不断变化。这种可迭代性意味着游戏永远不会完成,它始终处于一种开放的、可以被重新想象的状态。第三个特征是跨机构的设计对话。当斯坦福的程序员添加了重力,伯克利的程序员添加了隐形,MIT的原作者们会看到这些修改。他们可能会觉得某个修改很好,把它整合进自己的版本;也可能会觉得某个修改偏离了游戏的本质,拒绝采用。这种对话不是面对面的会议,而是通过代码、纸带、通讯文章进行的。它跨越了地理距离和机构边界,形成了一种松散的、但确实存在的设计共同体。这三个特征,在商业游戏产业兴起之后,大部分被遮蔽了。商业逻辑要求产品有明确的版本号、版权归属、利润预期。修改权被收归开发者或发行商手中,玩家只能消费,不能修改。
但在1970年代末到1980年代,当个人计算机开始普及,一种新的共享文化会在不同的技术条件下重新出现——共享软件、开源运动、模组社区,都可以追溯到这段早期的历史。共享的基因没有被消灭,它只是潜伏下来,等待新的表达形式。不过,在强调共享文化的创造力时,我们不能忽视一个尖锐的限制:这场盛宴的门票极度昂贵。一台PDP-1计算机的价格大约是12万美元。这是1960年代初的12万美元,按照购买力折算,大约相当于今天的一百万美元。PDP-6更贵,PDP-10更贵。能够购买这些机器的,只有少数资金充裕的大学、政府研究机构和大型企业。整个1960年代,全美拥有PDP系列计算机的机构数量,可能只有几百家。这意味着,能够接触到《太空战争》的人,始终局限在极少数技术精英内部。我们可以做一个粗略的估算。假设全美有200家机构拥有PDP系列计算机,每个机构平均有10个能够接触到机器的人——这已经是很乐观的估计了。
那么,整个美国能够玩到《太空战争》的人,不超过2000人。实际数字可能更小。这些人几乎全部是大学的研究人员、研究生、工程师,他们拥有技术背景,熟悉编程,习惯于用命令行操作计算机。他们不是普通玩家,他们是技术社群的成员。这个数字与潜在的大众市场之间的差距,是惊人的。1960年代,美国人口接近两亿。电视已经普及到绝大多数家庭,好莱坞电影每年吸引数亿人次的观众,流行音乐产业正在经历爆炸式增长。娱乐工业正在成为战后美国经济的重要部门。但在同一个十年里,电子游戏的玩家总数可能不到一万人。它完全不在大众文化的视野之内。这个差距不是偶然的。它根植于技术本身的门槛。要运行《太空战争》,你需要一台价值十几万美元的计算机、一个专门的机房、经过培训的操作员、稳定的电力供应和空调系统。这些条件,只有机构才能提供。个人拥有一台计算机,在1960年代是不可想象的——计算机是房间大小的设备,而不是可以放在桌上的个人设备。这就形成了一个内在的张力。
一方面,共享文化促进了丰富的创新,游戏在学术场域中不断变异、演化,证明了它作为一种媒介的潜力。另一方面,极高的硬件壁垒把这种潜力锁在了一个极小的圈子里。那些在深夜的机房里玩《太空战争》的研究生们,他们可能隐约意识到,自己正在参与某种新事物的诞生。但他们也可能同时意识到,这种新事物要走向更广阔的世界,需要的不是更好的代码,而是完全不同的技术基础和经济模式。这个张力在1960年代后期变得愈发明显。DECUS网络中的《太空战争》传播得越广,就有越多的人看到这个游戏的魅力,也就有越多的人意识到它的局限。你修改了代码,添加了很棒的新功能,你把它寄给另一个机构的同行,他回信说太棒了——然后呢?这个游戏仍然只能在他所在的计算中心的机房里运行,只能在深夜机器空闲的几个小时里被少数人玩。它无法抵达那些没有计算机的人。1971年,一个叫诺兰·布什内尔的人看到了这个张力,并试图用商业手段解决它。
他设计了一款叫《计算机空间》的投币式街机游戏,直接借鉴了《太空战争》的玩法——两艘飞船在星空背景下互相射击,有重力和跃迁功能。布什内尔把游戏装进了一个专门的柜子里,投币25美分就可以玩一局。他在尝试把学术计算中心里的体验,移植到大众能够接触到的场所——酒吧、游戏厅、购物中心。《计算机空间》在商业上失败了。它的操作太复杂,普通人看不懂控制面板上那些按钮的用途,规则也太难理解。但这个失败本身是有意义的:它证明了,把学术场域中的游戏直接搬到大众市场是行不通的。大众需要更简单的操作、更直观的反馈、更低的学习成本。这个教训,布什内尔在1972年用《乓》成功地回应了——但那已经是另一个故事了。回到1960年代中后期,DECUS网络中的《太空战争》传播还有一个重要的维度:它催生了第一批跨地域的玩家社群。当斯坦福和伯克利都有《太空战争》可以玩的时候,两个学校的学生之间会产生一种自然的竞争。谁玩得更好?有没有可能让两个学校的人同时玩同一局游戏?
这个想法在技术上是极其困难的。PDP计算机之间没有联网——计算机网络的前身ARPANET要到1969年才建立第一个节点。但确实有人尝试过。有记录显示,在ARPANET建立的早期,一些节点上的程序员试图通过远程登录的方式,让一个人在一台机器上运行游戏,另一个人从另一台机器上通过网络发送指令。这种尝试非常原始,延迟很高,经常断线,但它指向了一个未来的方向:游戏可以不只是本地机器上的活动,它可以连接不同地点的人。这种跨地域的连接,在当时更多是通过非技术手段实现的。比如,一个研究生从斯坦福毕业,到卡内基梅隆大学工作。他带着《太空战争》的纸带,也带着在斯坦福学到的技巧和经验。到了新的地方,他可能会发现这里的版本和他熟悉的版本不同——可能多了一个他没见过的功能,也可能少了一个他喜欢的功能。他会怎么做?他会开始修改,把他认为好的功能加进去,把他认为不好的功能去掉。人员的流动,带动了代码的流动和设计的流动。还有DECUS的年度会议。
在这些会议上,来自不同机构的人会聚集在一起,交流技术问题,展示新的程序。可以想象——虽然我们没有详细的会议记录——在这些会议的间隙,有人会在机房演示他修改过的《太空战争》版本,其他人围在旁边观看、评论、提建议。这些面对面的交流,补充了纸带和通讯文章的非面对面交流,使得这个设计共同体更加紧密。正是在这些交流中,一个观念开始萌芽:游戏可以是一种表达媒介。今天,我们说游戏是一种媒介,这已经是一个常识。但在1960年代,这个观念并不显然。对大多数程序员来说,《太空战争》是一个有趣的编程练习,是展示机器性能的演示程序,是深夜放松的娱乐。它当然很有趣,但它和表达——表达思想、情感、观点——有什么关系?但当你看到不同的人对这个游戏做出不同的修改时,你会开始意识到,每一个修改都反映了修改者的某种判断。添加重力的人,可能认为原版游戏的太空太空了,需要更多的空间结构和战术深度。添加隐形的人,可能对信息战、欺骗、心理博弈感兴趣。
添加跃迁的人,可能喜欢随机性和风险管理的元素。这些修改不仅仅是技术上的改进,它们是设计者的价值观和趣味的体现。更进一步,有些人开始把《太空战争》本身视为一种表达工具。1960年代后期,正值越南战争升级、反战运动高涨的时期。在那个时代氛围中,一个模拟两艘飞船互相摧毁的游戏,其暴力性并非完全中性的。太空战争中的爆炸是无声的、抽象的——船体变成一片散开的光点,然后新的船重新出现。这种抽象性,恰恰是计算机媒介的特性:它不呈现血腥和惨叫,它呈现规则和后果。有人开始意识到,这种特性使得游戏有可能成为思考冲突、策略、后果的工具,而不仅仅是娱乐。这个观念——游戏作为表达媒介——在当时还非常微弱,只存在于少数人的头脑中。但它是一个种子。当商业游戏产业在1970年代兴起之后,这个种子会被暂时掩埋,被市场的逻辑覆盖。但它不会死。在1980年代的独立游戏、1990年代的艺术游戏、21世纪的严肃游戏中,它会一再地发芽。
现在,让我们把目光收回到1960年代中后期的具体历史时刻。DECUS网络中的《太空战争》传播正在持续。纸带和磁带在邮政系统中旅行,从一个机房到另一个机房。程序员们在深夜修改代码,添加新功能,写信给远方的同行。一个基于共享伦理的公共领域正在运转,它产生着丰富的创新,也面临着无法逾越的硬件壁垒。这个局面,用一组数字可以看得更清楚。1965年,全美拥有PDP系列计算机的机构大约在100到200家之间。到1970年,这个数字可能增长到了几百家,但不会超过一千家。美国人口接近两亿,其中数千万人是潜在的娱乐消费者。能够玩到《太空战争》的人,与可能对它感兴趣的人之间,横亘着数量级上的鸿沟。这卷在DECUS网络中流传的纸带,它承载的不只是一个游戏。它承载着一个矛盾:一个极其成功的共享实践,被锁在一个极其昂贵的硬件生态中。这个矛盾不会自行消解。它需要一种外部的力量来打破——这种力量,将在下一个十年以商业化的形式到来。
但在商业化到来之前,还有另一个演化路径需要展开。当《太空战争》在PDP系列计算机上不断变异的同时,另一些程序员开始思考一个不同的问题:计算机能不能模拟更复杂的系统,而不仅仅是两艘飞船的对抗?能不能模拟一座城市的交通、一个生态系统的演化、一个国家的经济?这个思路,将把游戏从对抗引向模拟,从太空战斗引向资源管理,从《太空战争》引向它的一个奇特的后代。1969年,贝尔实验室的一个叫肯·汤普森的程序员,正在一台PDP-7上写一个游戏。玩家驾驶一艘飞船在太阳系中航行,访问行星和卫星,管理燃料和资源。这个游戏后来被命名为《太空旅行》。汤普森写这个游戏的初衷,部分是因为他想玩一个不同类型的太空游戏——不是战斗,而是探索。这个游戏的开发过程,意外地催生了Unix操作系统和C语言。我们停在这里。1960年代中后期,《太空战争》通过DECUS网络传播到全美和欧洲的学术机构。
它形成了一个基于共享伦理的公共领域,产生了丰富的设计变体,催生了第一批跨地域的玩家社群和设计对话。游戏开始被少数人视为一种表达媒介。但这一切,都发生在一个极小的技术精英圈子里。全美能够接触到这些游戏的人,不超过几千人。共享文化的繁荣与硬件门槛的高耸,构成了这个时期的核心张力。一卷纸带可以跨越洲际,却无法跨越阶级。