The Third Age: 1989–1995
AberMUD spread across university computer science departments like a virus. Identical copies (or incarnations) appeared on thousands of Unix machines. It went through four versions in rapid succession, spawning several imitators. The three most important of these were TinyMUD, LPMUD, and DikuMUD.
TinyMUD, by Jim Aspnes at Carnegie Mellon University, arrived in 1989. It had two main ancestors: AberMUD, and a VAX VMS game called Monster that had been released a year earlier. Monster (by Rich Skrenta at Northwestern University) was unusual in that it was written independently of the general MUD1 hierarchy. Its main innovation was the facility to create elements of the virtual world from within the world itself. This was something that had been removed from MUD1 in the switch from version II to version III.
TinyMUD was basically a stripped-down version of Monster. Although still a virtual world, it had practically no “game” aspect to it at all. Players could create new locations and objects (but not much functionality) almost with impunity. Whereas MUD1 and AberMUD had boasted around 400–500 discrete locations, a popular 1990 incarnation of TinyMUD called Islandia racked up over 14,000 of them in the few months of its existence.
The lack of game in TinyMUD meant that players spent most of their time creating things and talking about their creations.
Although not the first primarily “social” virtual world (Clive Lindus’ cleverly conceived Void 1 beat it by a few months), it was the one from which virtually all subsequent such worlds sprang. TinyMUD was deliberately intended to be distanced from the prevailing hack-and-slay AberMUD style, and the “D” in its name was said to stand for “Dimension” (or, occasionally, “Domain”) rather than “Dungeon;” this is the ultimate cause of the MUD/MU* distinction that was to arise some years later.
LPMUD was named after its author, Lars Pensjö of the University of Gothenburg, Sweden. Having played both AberMUD and TinyMUD, he decided he wanted to write his own game with the adventure of the former and the user-extensibility of the latter. Whereas most early MUD designers were of the haughty opinion that players weren’t as good at world creation as they, Lars believed the opposite, that players could build a better world than he could himself. To this end, he developed an in-game programming language called LPC that allowed players of sufficient experience to add not only objects, but also powerful functionality to the game as it ran.
This was a major advance, and introduced many people to the wonders of programming without frying their brains in the manner that conventional academic learn-to-program courses tend to do. LPC was sufficiently well designed and is still very much in use today.
DikuMUD was created at the Department of Computer Science at the University of Copenhagen (Datalogisk Institutved Københavns Universitet), Denmark. Released in 1990, its authors were a group of student friends: Katja Nyboe, Tom Madsen, Hans Henrik Staerfeldt, Michael Seifert, and Sebastian Hammer. It was designed purely as a better AberMUD, and made no reference to either TinyMUD or LPMUD. Whereas these other two games had moved toward allowing on-the-fly changes to be made to the virtual world, DikuMUD’s designers went in the opposite direction and hard-coded everything they could.
However, they hard-coded it very well: DikuMUD ran “out of the box” and was organized very well internally. A reasonable C programmer could easily modify the original DikuMUD code and produce a new world of their own, or change the data files to create a differently-appearing one. Many did.
As a result, several major codebases (standalone MUD program suites) were created from the basic DikuMUD original, the main ones being Circle, Silly, and Merc. Merc spawned ROM (Rivers of MUD) and Envy, among others, and these in turn had their own spinoffs. All appeared—and continue to appear—in a dizzying number of sub-versions.
LPMUD did not inspire quite so many offshoots, because LPC was flexible enough to allow people to write their own games without writing their own game engines. Although most LPMUDs are combat-oriented, critically (and unlike DikuMUDs) they don’t have to be 2.
The TinyMUD family tree is perhaps the most interesting of the three main AberMUD- inspired branches. TinyMUD itself was little more than a mere proof of concept. Incarnations of the game would appear on some long-forgotten university Unix machine, enjoy a few short months of brilliant existence, and then collapse under the weight of acrimony, apathy, and full disk packs that they caused. Those players who weren’t put off virtual worlds for life would then migrate 3 to another nascent TinyMUD and the cycle would repeat, slash-and-burn style.
The problem was that players couldn’t actually do much in TinyMUDs except invite one another to admire their latest piece of what might as well have been wallpaper. One player, Stephen White, decided in 1990 to extend the functionality of TinyMUD and wrote TinyMUCK (muck being a kind of mud). Using this as his template, he then produced MOO (MUD, Object Oriented). MOO introduced a fully functional scripting language (as such in-world programming languages 4 are called) and thus brought LPC-like capabilities to social-oriented virtual worlds. MOO had two important offspring: Pavel Curtis’ LambdaMOO (which was to become a favorite of journalists, academics, and social misfits) and, via CoolMUD, ColdMUD (an attempt to create a software-engineering quality virtual world authoring system).
MOO’s descendants have found a niche in the educational world, as they are easy to use and (like LPMUDs) can demonstrate the principles of programming to youngsters without scaring the wits out of them. They were not, however, the only important codebase family to come out of TinyMUCK.
Larry Foard released TinyMUSH later in 1990. The “MUSH” part originally didn’t mean anything special, but was later retrofitted as “Multi-User Shared Hallucination.” The TinyMUSH codebase introduced several advanced features, such as event triggering and software automatons (known as puppets), which together facilitated role-playing. Consequently, most of the derivatives of TinyMUSH (known as MUSHes) are role-playing in nature: What you do defines what you are, rather than the reverse.
From a non-historical perspective, the significant property of MOOs, MUSHes, and other descendants of TinyMUCK (known as MUCKs) is that they don’t have computer-controlled monsters for players to seek out and, within the context of the virtual world, kill. Players of these classes of virtual worlds are the ones most likely to use the term MU*, reserving MUD to mean those games that do have computer-controlled monsters for players to seek out and kill 5.
The third age of virtual worlds was thus a period of huge expansion. More people sampled virtual worlds than ever before. Indeed, a study of traffic on the NSFnet backbone in 1993 showed that just over 10% of the bits belonged to MUDs; in other words, before the advent of the World Wide Web (WWW) MUDs constituted some 10% of the Internet!
There were fewer positive consequences, however. Whereas in earlier times anyone who wanted to run a virtual world would have to write one from first principles, the sudden preponderance of codebases meant that this was no longer the case. If you wanted to run a virtual world, you simply downloaded an off-the-shelf one and voila!—one virtual world! Although in theory developers could change any aspect of what they had downloaded (particularly for LPMUDs and TinyMUD derivatives), in practice most people simply built on what they already had. This meant that two worlds using the same codebase would probably have the same basic geography and physics, with multiple extensions. Although some old-timers have complained that this leads to homogeneity and thereby stifles creativity, that’s not the main bugbear. Rather, it’s that if designers don’t understand why the partial design they begin with does what it does (and doesn’t do what it doesn’t do), how can they be sure their changes are for the best? Come to that, how can they be sure the template they begin with isn’t itself flawed in some way?
Were only undergraduates and amateur enthusiasts considered, the third age of virtual worlds is still very much upon us. Several thousand LPMUDs, DikuMUDs, MOOs, MUSHes, and MUCKs exist, some of them with impressive numbers of players. However, the torch of innovation was soon to be picked up by a different bearer—business.
Its name over the years has been variously Void, The Void, and Vortex, but they’re all the same place. Void is adult in nature, and was directly inspired by the first such virtual world, The Zone. ↩︎
For a comparison between LPMUDs and DikuMUDs, see Rawn Shah’s and James Romine’s, Playing MUDs on the Internet. New York, John Wiley, 1995. ↩︎
Those that had Internet access would. It was by no means universal at the time, and not every player could find another home when his or her local TinyMUD was shut down. ↩︎
So are some out-of-world programming languages, as we’ll see later in this chapter. ↩︎
In this context, MUDs are frequently dismissed somewhat haughtily as inferior game forms. Players of MUDs reciprocate by calling the MU* brigade carebears. ↩︎