Welcome to Raph Koster's personal website: MMOs, gaming, writing, art, music, books.
Welcome to Raph Koster's personal website: MMOs, gaming, writing, art, music, books.

Links
Essays
Talks/Interviews
Snippets
Laws
Timeline
Book

Room-based maps

Text muds were inspired by text adventures, which used a room-based model. In this model, a database entry defines a particular node. The node has exits on it, which are unidirectional connections to another node. Generally, the convention is that exits are reciprocated. These are not actually “exits” of course—the term itself presupposes spatiality when there is none. In fact, what they are is logical links between database entries. In other words, they are hypertext links.

In hypertext, there exists a database entry that is a block of text (and eventually, in more sophisticated systems like the modern World Wide Web, pictures and other elements as well). This entry has something very akin to footnotes that mark certain words as logical linkages to other database entries with different contents. This is a concept that is probably familiar to everyone today, but which was truly alien to most people just ten years ago. Perhaps the best way to explain room-based muds is to think of the Web today, wherein every page links to other pages, but exists as an independent entity. There is no concept of a “geography” of the Web—but only because the links are treated as logical links, rather than as spatial connections. In other words, if your links on your homepage were labeled “north” and “up” then you’d get the illusion of spatiality, at least on your own page. Once you get reciprocal connections from the page you linked to, you have a consistent illusion of spatiality. Taking the exit labeled “south” carries you to another node (whose index number in the database may have absolutely no relevance to its alleged geographical location) which has an exit labeled “north” capable of taking you back to the point where you originated. Presto, an illusion of space.

In hypertext authoring systems, such as Eastgate Systems’ Storyspace, the representation of the logical linkages and database entries is in fact termed a “map.” To the right is a screenshot of the Windows version of Storyspace, showing the logical linkages between boxes containing text. The boxes are called “writing spaces” in hypertext lingo, but in muds they are called rooms.  You can see that in Storyspace the linkages are purely logical, and do not imply anything about geographical relationships. But in muds, everything is different—rooms mean a place. This is not a radical invention—it was foreseen by the inventors of hypertext in the late 40’s.[1]

The tricky thing about a room-based model, despite its insistence on being seen as a spatial representation, is that the nodes do not in fact exist in a location on an overall coordinate space, generally speaking (though there have been many, many text muds that have enforced building practices placing nodes in a known location on an in fact nonexistent coordinate grid). A few muds have enforced coordinate locations for their nodes, particularly those muds that have hybrid systems including coordinate-based wilderness spaces. By and large however, room-based models have no consistent scale. Since nodes can represent spaces of arbitrary size, and exits between nodes need not represent directions per se, room-based maps actually lend themselves towards non-Euclidean geometries. For example, while most muds derived from the Diku code base have hardcoded the available exits to cardinal directions, muds derived from the MUSH and MOO families prefer to have exits with descriptive tags that do not represent spatial relationships—or at least, not cardinal directions, but perhaps other conceptual relationships that are spatial in nature. Containment is a particularly popular metaphor; in Julian Dibbell’s book My Tiny Life he describes his “home base” room as a node located “inside” a television set. The link to the node originates in a virtual living room, but the label used on the exit does not suggest adjacency. This type of exit, and the type of exit that allows you to move “in” and “out” or “towards that building,” are termed contextual exits in the mud community. Interestingly (and getting back at our definition of a mud), even when non-Euclidean geometries are played with, the predominant assumption is that their purpose is spatial representation. Consider this mailing list post by mud designer and MUD-Dev mailing list maintainer J. C. Lawrence:

This is one of the reasons that I like contextual exits so much in addition to the base compass directions (where they apply). Just name something the character can see (or knows) is in some direction, and he will move in that direction. e.g. If he's in a street and there's a pub in one side and a store on the other, "pub" takes him one way, and "store" the other.

Further, it also makes it easier to add various forms of disorientation. The character is in a new area, is under a disorientation spell, or is carrying a large lodestone with him? He has no idea of compass directions and any attempt to navigate by compass direction will result in random motion (or at least arbitrary).

One of the implicit advantages of this is that it allows you to later extend your directional command matrix if you decide to make more interesting spaces (such as non-Euclidean) that need their own movement commands as different from the others. It also makes it very easy to extend to orientation support ala "forward", "back", "left", "right", etc, or say given orbital mechanics, "in", "out" "retro", etc.[2]

In practice of course, all room-based systems can be described via a map very similar to the Storyspace screenshot. Consider Figure 2, which is a picture of the original design notes for a portion of MUD1, laid out by Richard Bartle. As you can see, it looks in many ways similar to a holographic version of the Storyspace interface. This is the way in which players of room-based systems tend to map the spaces they inhabit, and it is an accurate representation. The nodes themselves are written as room names or identifying numbers, and lines are drawn between the nodes that represent the logical links between locations. But the nodes themselves have no size and do not truly abut one another. The link between nodes does not convey any particular sort of distance.

It is not uncommon to see, therefore, cases of map building on text muds wherein the map, when drawn on a rigid grid, folds over itself. On LegendMUD for example (which offers a convenient example because of its mimicry of real-world geography), it takes only six or so rooms to represent crossing the entire Pacific Ocean—yet it also takes six rooms to walk the length of the Abbey of St. Denis, and six to walk the length of the Isle of Dogs in London, and six more to travel from Spain to France. Similarly, you may well move one node to the east, move one south, and head west, but not find yourself on the street where you began, because nodes do not have fixed size on the grid.

Room-based systems are the mainstay of text muds, although several have attempted continuous maps instead. This is largely because the blocks of text in mud descriptions are generally database entries of one sort or another, and are associated with a particular index number—the number of the node. Thus you hear of builders on muds needing “100 room numbers” to build their area. What they mean is 100 unique database entries that create 100 nodes in a room-based system.

Typically nodes are collected in groups, usually authored by a single individual, all the nodes in a set themed together, with commonality in descriptions, creature population, etc. These collections of connected nodes are generally termed either zones or areas based on the nomenclature of the mud in question. This division is largely so that associated data that needs to be used in an area-wide fashion can be applied to all the rooms in the area. A prime example is the name of the geographical region the collection of nodes purports to depict. Thus it is that we hear of mud areas named “the forest of Haon-Dor” or “Midgaard.” The area in this case also has its own database of objects and characters that are found within the environment. In a more sophisticated system, it may be possible to subdivide the area as well—one nomenclature for this is “area” for the complete collection of nodes and “yell zone” or “zone” for the subdivision. A mud that has zones within areas can use them to set boundaries on whether certain events (such as yells, hence the term) are audible, essentially as a form of display culling; or can use them to curtail the automatic AI movement of creatures within the zone.

As a result of these practices, room-based systems usually break naturally into areas that are self-coherent, but the overall maps are rarely coherent across areas. Since authorship of the areas is generally by different people, and muds tend to accrete over time and without a strong central creative vision, mud worlds designed with a room-based model are rarely coherent fictional settings. Instead, they are an odd patchwork of radically different styles and themes. Since object and creature definitions for a given area are generally part and parcel of the area, a deer found in one area may vary wildly from a deer found in another area, even if they are on the same mud. This also leads to standard database procedures, such as resetting the state of creatures on the map, to often be done on a zone-wide basis.[3]

Another, subtler factor involved here is that zones are generally linked to one another with only a few exits. In other words, room-based models with zone-by-zone building often resemble large-scale versions of a node diagram themselves. The different areas generally only touch at specific single links between nodes that happen to cross area boundaries. These are generally referred to as the entrance to an area, of course. It is rare to find an example of building where even the most basic of geographical principles are observed; two areas featuring empty plains may well abut, but there’s liable to be no linkages between the plains proper, with the only access from one to the other being at the road.

So, nodes have no spatiality, merely relationships to linked nodes. The fact that a node system is used for the granularity of the world map does not, however, preclude spatiality and coordinate systems within a given node. There exist text muds that have made use of coordinate systems within each given mud room, thus allowing a series of spatial relationships between objects that are at the same node. Some mud “wilderness systems”[4] are based on similar systems. In a system like that, the purpose of a node is really for culling information: deciding which data needs to be sent to which players. The output of the mud server to a given client is largely based on which node the player’s avatar object happens to be located in.

Since culling is a major concern in the display of graphical scenes, it should be no surprise that room-based systems are alive and well in graphical environments. The Realm, originally developed by Sierra and now run by Codemasters out of Yosemite Studios, for example, used carefully hand-drawn graphical backdrops for every room, but was still essentially a room-based system like any other mud. In a case like this, the pretty pictures substitute for the text description of the room, but everything else is substantially the same. In some of the earliest graphical incarnations such as Illusia,[5] this was carried to the extreme that the graphical display was literally a static pre-rendered picture with no dynamic elements whatsoever. If you wanted to know whether another player was in the same space, you had to resort to the mud’s text output.

This was actually a step backward from the level achieved by Habitat back in 1985, which was arguably the first graphical mud, and which also used a room-based system with a side view like The Realm. Habitat was later renamed to WorldsAway and ran on CompuServe for quite some time. In Habitat there was accurate depiction of the characters in the room, and a delightful comics-derived convention was used to display player’s speech: the text bubble. This device, which serves to unify the words spoken by players and the pictures portraying the environment in a very direct manner, was ignored by other mud developers for over a decade, until resurrected by Ultima Online, albeit in substantially different form. Overall, however, it is instructive to put screenshots of BSX muds, Habitat, and The Realm side by side.

Other systems from the same time period as Illusia are more sophisticated. Lyra’s Underlight for example, used a room-based system in which the links between rooms were literally displayed as colored portals hanging on walls. However, each room was a full 3d environment in which other participants in the space could be seen as avatars.

The largest-scale use of a room-based system to date in a graphical environment is probably Verant’s EverQuest. In this mud, entire zones (and that is the term that they use) are essentially rooms, each with its own repop schedule and set of item database entries, etc. The room-based nature of the design is betrayed by the fact that travel from one zone to another must be done by traveling through small chokepoints. This delay is incurred in part so that the geometry of the next zone can be loaded into memory; arguably, it is a design error to allow people to see into the space occupied by the next zone, but then whip the rug out from under them when the zone loads with a significantly different landscape than what they had expected. EverQuest’s reliance on zones is so extreme that they only cull network traffic on a zone basis, which is less, for example, than almost any other 3d based game (in which line of sight and distance are used for culling) and less than what many text muds do with yell zones. Obviously, within each room or zone, the game makes use of a continuous map.

I’ve talked about “culling” here several times. In saying that, I mean the decision made by the server as to what information to send a player. When you are in an IRC channel, there is no culling taking place: everything spoken within the channel goes to you. However, the server is actually handling messages for many other channels simultaneously—it is selectively sending you only the messages that apply to you—that is, the ones for the channel in which you are participating. In other words, what defines an IRC channel is shared experience. The same is true of mud rooms—what defines them is shared experience. There are very real bottom-line consequences to defining the extent of this shared experience, as bandwidth usage rises exponentially depending on how many individuals you wish to have a shared experience together.

The great advantage to areas, zones, and room nodes, of course, is exactly what makes them less convincing at portraying coherent fictional spaces. They are extremely expandable, and it is easy to open a new area, and attach it into the larger map. Since there was no exit there previously, it literally does not matter what may have allegedly existed beyond the mountain range (or other artificial barrier) that served as metaphor for the lack of links in a particular cardinal direction. Thus it is easy to add continents, new areas, backfill into previously built areas, play tricks with areas that move, etc. A notable example of the latter exists on LegendMUD, wherein a traveling carnival moves around the world by the simple expedient of severing the old links between its nodes and the rest of the game, and adding new ones in the new location. A common trick is to make a “boat” move across an ocean by playing similar tricks, changing the links on a time schedule.

 



[1] In fact, they foresaw a lot more than that. Vannevar Bush envisioned a device called the “memex” (using the then-obvious technology of microfiche) that contained hyperlinked and indexed files containing all the world’s knowledge. Ted Nelson took it further and saw it as Project Xanadu—a ubiquitous wireless means of accessing the now-computerized memex. In both cases, there was talk of spatial metaphors.

[2] From an email message on the MUD-Dev mailing list on Jan 9th, 2000. I have corrected some of the spelling errors that were the result of hasty typing.

[3] See the chapter entitled “Game Data” for further of discussion of reset models.

[4] A term for automated systems permitting the description of many nodes using only a few discrete database entries. Usually these involve embedding coordinate spaces inside of nodes, or using random factors to create large amounts of nodes. These techniques are generally only applied to wilderness areas of the map, hence the term.

[5] It may be a misnomer to term this an early incarnation of a graphical mud. Produced by veteran players of Neverwinter Nights on AOL, Illusia has not, as of this writing, yet launched. But it was announced and screenshots displayed on the Internet during the extremely fertile period that the first generation of commercial graphical muds was being developed, circa 1996.

Child's Play


A Theory of Fun
for Game Design

Cover of A Theory of Fun

Press

Excerpts

Buy from Amazon


After the Flood

Cover for After the Flood CD

Available on CD
$14.99


More stuff to buy

Gratuitous Penguin 2006 Wall Calendar

Gratuitous Penguin 2006 Wall Calendar
$18.99


Receive CafePress Updates!

LegendMUD

click here to visit the Legend website

"The world the way they thought it was..."