跳转到主要内容

第三个时代:1989–1995

《AberMUD》像病毒一样蔓延到各大学的计算机科学系。数千台 Unix 机器上出现了它一模一样的副本(或者说化身)。它接连出了四个版本,催生出好几个仿制品,其中最重要的三个是《TinyMUD》、《LPMUD》和《DikuMUD》。

《TinyMUD》于 1989 年问世,作者是卡内基梅隆大学(Carnegie Mellon University)的吉姆·阿斯普内斯(Jim Aspnes)。它有两个主要祖先:《AberMUD》,以及一年前发布的一款 VAX VMS 游戏《Monster》。《Monster》的作者是西北大学的里奇·斯克林塔,它的特别之处在于:它是独立于《MUD1》那一系写成的。它的主要创新是:可以在虚拟世界内部创建这个世界的各种元素。而这一点,在《MUD1》从第二版转向第三版时恰恰被去掉了。

《TinyMUD》基本上是《Monster》的简化版。它虽然仍是一个虚拟世界,却几乎没有任何 “游戏” 成分。玩家可以近乎不受约束地创建新的地点和物件(但这些新东西没什么功能)。《MUD1》和《AberMUD》引以为傲的是大约 400–500 个互不相连的地点,而在 1990 年,《TinyMUD》的一个颇受欢迎的化身《伊兰迪亚》(Islandia),在它存在的短短几个月里就累积了 14,000 个以上的地点。

《TinyMUD》缺少游戏性,这意味着玩家大部分时间都花在创造东西和谈论自己的创造上。

它不是第一个以 “社交” 为主的虚拟世界,但后来的同类世界几乎全部源自它(克莱夫·林杜斯那个构思巧妙的《Void》1 比它早几个月)。《TinyMUD》有意要与当时盛行的《AberMUD》那种见人就砍的风格保持距离;据说它名字里的 “D” 代表 “Dimension”(偶尔也有人说是 “Domain”),而不是 “Dungeon”,这正是若干年后 MUD 与 MU* 这两个叫法分家的根由。

《LPMUD》得名于它的作者、瑞典哥德堡大学(University of Gothenburg)的拉尔斯·彭舍(Lars Pensjö)。他玩过《AberMUD》和《TinyMUD》之后,决定自己写一款游戏,既要有前者的冒险,又要有后者的用户可扩展性。早期 MUD 设计者大多抱有一种傲慢的看法,认为玩家在创造世界这件事上不如自己;拉尔斯的看法正相反:玩家能造出比他本人更好的世界。为此,他开发了一门游戏内编程语言 LPC,让经验足够的玩家不仅能添加物件,还能在游戏运行过程中为它添加强大的功能。

这是一大进步,让许多人领略到编程的妙处,又不像学校里那种传统的编程入门课,动不动就把人脑子烧坏。LPC 设计得相当好,至今仍在广泛使用。

《DikuMUD》诞生于丹麦哥本哈根大学(University of Copenhagen)的计算机科学系(Datalogisk Institut ved Københavns Universitet)。它于 1990 年发布,作者是一群学生朋友:卡特娅·尼博(Katja Nyboe)、汤姆·马德森(Tom Madsen)、汉斯·亨里克·斯泰费尔特(Hans Henrik Staerfeldt)、米凯尔·塞弗特(Michael Seifert)和塞巴斯蒂安·哈默(Sebastian Hammer)。它纯粹是作为一款更好的《AberMUD》来设计的,完全没有参考《TinyMUD》或《LPMUD》。那两款游戏都朝着允许对虚拟世界作即时改动的方向走,而《DikuMUD》的设计者反其道而行,凡是能硬编码的东西一律硬编码。

不过,他们的硬编码写得很出色:《DikuMUD》开箱即可运行,内部结构也组织得非常好。一个水平过得去的 C 程序员很容易就能改动《DikuMUD》的原版代码,做出属于自己的新世界;也可以改数据文件,做出一个外观不同的世界。很多人都这么做了。

结果,从《DikuMUD》这个基础原作衍生出了好几个重要的代码库(也就是独立的 MUD 程序套件),主要有 Circle、Silly 和 Merc。Merc 又派生出了 ROM(Rivers of MUD)、Envy 等等,它们各自还有自己的分支。所有这些都以令人眼花缭乱的子版本数量出现——而且还在不断出现。

《LPMUD》衍生的分支没有那么多,因为 LPC 足够灵活,人们不必自己写游戏引擎就能写出自己的游戏。虽然大多数《LPMUD》偏向战斗,但关键在于(这一点与《DikuMUD》不同),它们并不非得如此 2。

在《AberMUD》催生的三大分支里,《TinyMUD》这一脉大概是最有意思的。《TinyMUD》本身不过是一个概念验证。这款游戏的一个个化身会在某台早已被遗忘的大学 Unix 机器上出现,风风光光地存在短短几个月,然后在人们彼此间的怨气、意兴阑珊,以及被它们塞满的磁盘组的重压下垮掉。那些没有因此终生远离虚拟世界的玩家,会迁往 3 另一个刚起步的《TinyMUD》,循环再度开始,像刀耕火种一样。

问题在于,玩家在《TinyMUD》里其实做不了什么,只能彼此邀请来欣赏自己最新的作品——那东西其实跟墙纸也差不多。1990 年,一位名叫斯蒂芬·怀特(Stephen White)的玩家决定扩展《TinyMUD》的功能,写出了《TinyMUCK》(muck 是一种 mud)。他以它为模板,随后做出了 MOO(MUD, Object Oriented)。MOO 引入了一门功能完备的脚本语言(这类世界内编程语言 4 都叫作脚本语言),从而把类似 LPC 的能力带给了以社交为主的虚拟世界。MOO 有两个重要的后代:帕维尔·柯蒂斯(Pavel Curtis)的《LambdaMOO》(后来成为记者、学者和社交失意者的最爱),以及经由《CoolMUD》而来的《ColdMUD》(一次打造软件工程级虚拟世界创作系统的尝试)。

MOO 的后代在教育界找到了自己的位置,因为它们易于使用,而且(和《LPMUD》一样)能向青少年演示编程的原理,而不至于把他们的魂吓飞。不过,从《TinyMUCK》里出来的重要代码库家族并不只有 MOO 这一支。

拉里·福德(Larry Foard)在 1990 年年底发布了《TinyMUSH》。“MUSH” 这部分起初并没有什么特别含义,后来才被追认为 “Multi-User Shared Hallucination”(多用户共享幻觉)。《TinyMUSH》代码库引入了若干高级特性,比如事件触发和软件机器人(称为 puppet),两者合在一起为角色扮演提供了便利。因此,《TinyMUSH》的衍生品(称为 MUSHes)大多在本质上是角色扮演性质的:你做什么决定了你是什么,而不是反过来。

撇开历史不谈,MOO、MUSH 以及《TinyMUCK》的其他后代(称为 MUCK)最显著的一点是:它们没有由计算机控制的怪物供玩家去寻找,去(在虚拟世界的语境里)杀掉。这几类虚拟世界的玩家最可能使用 MU* 这个说法,而把 MUD 留给那些确实有计算机控制的怪物可供玩家寻找并杀掉的游戏 5。

因此,虚拟世界的第三个时代是一个大扩张的时期。尝过虚拟世界滋味的人比以往任何时候都多。实际上,1993 年一项针对 NSFnet 骨干网流量的研究显示,略高于 10% 的比特属于 MUD;换句话说,在 World Wide Web(WWW)出现之前,MUD 已占了互联网约 10%!

不过,随之而来的积极后果要少一些。从前,凡是想运营一个虚拟世界的人都必须从基本原理出发自己写一个;而代码库突然成为主流,意味着事情不再如此。你想运营一个虚拟世界,只要下载一个现成的,然后瞧!——一个虚拟世界就成了!虽然在理论上,开发者可以改动所下载内容的任何方面(对《LPMUD》和《TinyMUD》的衍生品尤其如此),但实践中大多数人只是在自己已有的东西上继续添加。这意味着,两个使用同一代码库的世界很可能拥有相同的基本地理和物理规则,只是各自做了许多扩展。有些老手抱怨,这会导致同质化,从而扼杀创造力,但这不是最大的麻烦。真正的麻烦是:如果设计者并不明白,自己最初拿来当起点的那份不完整设计为什么会这样运作(又为什么不那样运作),他们又怎么能确定自己的改动是往好里改?进一步说,他们又怎么能确定自己拿来当起点的那个模板本身没有某种缺陷?

如果只算大学生和业余爱好者,虚拟世界的第三个时代至今仍在延续。如今存在着数千个《LPMUD》、《DikuMUD》、MOO、MUSH 和 MUCK,其中一些的玩家数量相当可观。不过,创新的火炬很快就要交到另一位持炬者手中——商业。


  1. 这些年来,它先后叫过《Void》、《The Void》和《Vortex》,但始终是同一个地方。《Void》在性质上是成人向的,其灵感直接来自第一个这类虚拟世界《The Zone》。 ↩︎

  2. 关于《LPMUD》与《DikuMUD》的比较,见 Rawn Shah 与 James Romine 合著的 Playing MUDs on the Internet. New York, John Wiley, 1995。 ↩︎

  3. 那些能上网的玩家才会这么做。当时上网绝非普遍现象,而且当本地《TinyMUD》关停时,并非每个玩家都能找到另一个落脚处。 ↩︎

  4. 有些世界外编程语言也一样,这一点我们稍后在本章会看到。 ↩︎

  5. 在这种语境里,人们常带着几分傲慢,把 MUD 贬为较低等的游戏形式。MUD 玩家则回敬说,MU* 那伙人是 carebear(爱心熊,指不喜对抗的玩家)。 ↩︎