# 第三个时代：1989–1995

LLMS 索引： [llms.txt](/dvw/llms.txt)

---

《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》[^9] 比它早几个月）。《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》不同），它们并不非得如此 [^10]。

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

问题在于，玩家在《TinyMUD》里其实做不了什么，只能彼此邀请来欣赏自己最新的作品——那东西其实跟墙纸也差不多。1990 年，一位名叫斯蒂芬·怀特（Stephen White）的玩家决定扩展《TinyMUD》的功能，写出了《TinyMUCK》（muck 是一种 mud）。他以它为模板，随后做出了 MOO（MUD, Object Oriented）。MOO 引入了一门功能完备的脚本语言（这类世界内编程语言 [^12] 都叫作脚本语言），从而把类似 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 留给那些确实有计算机控制的怪物可供玩家寻找并杀掉的游戏 [^13]。

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

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

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


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

[^10]: 关于《LPMUD》与《DikuMUD》的比较，见 Rawn Shah 与 James Romine 合著的 Playing MUDs on the Internet. New York, John Wiley, 1995。

[^11]: 那些能上网的玩家才会这么做。当时上网绝非普遍现象，而且当本地《TinyMUD》关停时，并非每个玩家都能找到另一个落脚处。

[^12]: 有些世界外编程语言也一样，这一点我们稍后在本章会看到。

[^13]: 在这种语境里，人们常带着几分傲慢，把 MUD 贬为较低等的游戏形式。MUD 玩家则回敬说，MU* 那伙人是 carebear（爱心熊，指不喜对抗的玩家）。
