HyperMUD: Multi User Multi Modal Dialogue Systems
Stan P. van de Burgt
27 december 1994
D R A F T

University of Twente
P.O. Box 217, 7500 AE, Enschede
the Netherlands

email: stan@cs.utwente.nl

1. Introduction

Two popular uses of the Internet are MUDs and WWW, both of which are proven to be quite addictive. World Wide Web (WWW), because of its myriad of information, nicely presented in formatted text, pictures, and sounds, and easy to explore because of its hypertext structure. Multi user games (MUDs) because they enable their players to be creative, play games, explore, and, best of all, interact with real people, possibly in a role-playing situations.

Although MUDs are text based programs, they are still quite popular. Graphical, WWW-like additions, however, could enhance this type of programs, enabling a larger group of people to use it. Adding graphics would, like Mosaic did to hypertext systems, attract a large audience and might lead to another "Killer" application of electronic networks.

In this paper we propose a simple graphical extention to MUD programs by combining it with features of World Wide Web (WWW) browsers. By adding one command to the MUD server/interpreter and integrating WWW browser functionality into the MUD clients, we enable multi user, multi modal interactive dialogue systems, HyperMUDs.

In the following three sections, we will discuss the two ingredients MUD and WWW, we will introduce the neccesary extentions and, we'll address a commercially vialable application of HyperMUDs.

2. Internet software

2.1. Multi User Dungeons

A MUD (Multiple User Dialogue or Multiple User Dungeon) is a computer program (a MUD server) that implements a virtual world (sometimes known as the metaverse as described in SnowCrash). One can step into this world by connecting to a MUD server with an ordinary computer terminal running some clients software (e.g. a simple telnet application).

After connecting to a MUD, one controls a computerized incarnation of oneself (also known as avatar) which can walk around, explore, talk to other people, fight, and even create new areas and objects within this virtual world. The interaction is purely text based: the user issues keyboard commands to control its avatar and reads text on her screen which describes the environment (the current "room"), the objects and people in this room and the actions they perform. When only one user is connected to a MUD, the setting is similar to the well known text adventures.

While interacting with the MUD and with other people connected to the same MUD, a multi threaded, interactive story unfolds. This genre is also known as interactive fiction.

The most common type of MUD is a TinyMUD, written by Jim Aspne in 1989 as a reimplementation of Richard Bartle's original MUD.

There are many different types of MUDs. The Tiny- and Teeny- family of MUDs are more socially orientated; the players on those MUDs tend to gather, chat, meet friends, make jokes, and discuss all kinds of things. The LP- family of MUDs, including Diku and AberMUD, are usually based on roleplaying adventure games; the players on those MUDs tend to run around in groups or alone killing monsters, solving puzzles, and gaining experience in the quest to become a wizard. For a complete and daily updated list we refer to the publication of Paul Gregg [2]

2.2. World Wide Web

The World Wide Web (WWW) can be viewed as a Internet wide hypertext system in which the documents may be distributed over different computers in different locations in the world.

The documents themselves may be plain ASCII files, picture, movie, or sound files, but typically are HTML formatted text file. HTML (Hyper Text Markup Language [4]) is a formatting language loosly based on SGML. With HTML it is possible to include formatted text, pictures, and, hypertext links to other WWW documents.

The hypertext links are specified in the URL (Uniform Resource Locator) format which consist of four elements:

  1. a description of the protocol that is to be used to retrieve the document,
  2. (optionally) the machine on which the document is located,
  3. (optionally) the tcp/ucp port on which the server is listening,
  4. (optionally) the path to the document
The protocol that is typically used to retrieve HTML documents is HTTP (HyperText Transport Protocol), a connectionless, state-less protocol.

3. HyperMUD

Our recipe for a HyperMUD is fairly simple. Take one MUD, e.g. the source code of the LambdaMOO [1], add HTML to all text parts of the MUD and extend this slightly (see section 3.1) for image and sound. After this, add some syntax to the URLs (section 3.2) and finally add one command to the MUD server (section 3.3). Related papers and software can be found in [7].

3.1 Extensions to HTML

HTML can be added to a MUD-like environment in a natural way. Instead of plain 7-bit ASCII that is used as output from MUD servers HTML will be used.

This does off course pose requirements on the client software, the viewers. In the old situation one could log on to a MUD server using a simple telnet program (although this is not a prefered way of communicating on a crowded MUD). When HTML is produced by a MUD, this set-up cannot be used anymore. To get the desired results, a special HyperMUD browser is needed that interprets HTML and displays it in a attractive way

Adding HTML to a existing MUD is relatively simple. The bulk of the work is to convert descriptions of rooms, objects, and players, as well as built-in utterances of the MUD server into HTML.

The HTML will be used primarily to format the descriptions and utterances and less for included pictures. Pictures will primarily be used to show the environment (rooms), objects, and possibly players, in a separate part of the browser's screen. A simple set-up would be an application window divided into two subwindows, one displaying the (continues flow of) text, which is connected as a telnet session to the HyperMUD server, and one displaying a picture of the room.

The updates in the image window are controlled by HTML sequences in the text window as shown below:

<img src="URL" OPTIONS>

The URL is replaced by the URL of the picture to be shown (typically a HTTP to a GIF or JPEG file on the MUD server machine). The OPTIONS is one or more of:

window=main
display in main image window (default).
window=inline
display the image in-line (like WWW browsers).
window=float
display in a (new) floating window.
window=impose x=N y=M
the image is imposed on the main image window at position (N, M). Negative values are relative to the right an lower margin of the image respectively.
id=windowid
the window identifier of a (new) floating window, used in click events (section 3.3 below).
command=show
the image is (re)displayed.
command=hide
the image (and its floating window) is hidden.
command=reload
the image is reloaded from the image source.
effect=none
the image is shown directly (default).
effect=fadein
the image is faded in.
More effect may be defined in a later version of this HTML extension.

Note that:

  1. images may be fetched and displayed at any point in time as the HTML stream from the telnet connection may at any time instruct the HyperMUD browser to display an image by issueing a <img> command.
  2. although most images will reside on the MUD server machine, this is by no means obligatory. One can imagine that image of players, for example, would reside on the player's machine.
Example <img window=main src="/loc/dining.jpg"> <h1>Dining Room</h1> This is the dining room. To the south there's a small closet. To the east is the main hall. There's an old table here with six chairs. <img window=impose x=50 y=-20 src="/obj/sbook.png"> A small booklet is lying on the table.

Another attractive modality in the continues HTML stream of the telnet connection is sound. Sounds are controlled by the following extension:

<snd src="URL" OPTIONS>

Here, the URL typically is a audio file (u-law, WAV, SND, ...), while there's only one option defined.

control=play
start playing the sound file until the end is reached or the HyperMUD issues an off command (below).
control=stop
stop playing any sound currently playing.
control=loop
start playing the sound file and restart whenever the end is reached.
The latter can be used to create a background soundtrack.

Example

<img window=main src="/loc/hall.jpg"> <h1>Main Hall</h1> This is the main hall. To the west there's the dining room. To the east is the kitchen. <snd src="/snd/clockticks.au" control=loop> A standing clock is ticking nearby.

3.2. Extensions to the URL syntax

The semantics of selecting (clicking on a) an URL is in current WWW browsers in most cases definable as "show/play this to me". Since MUDs have a richer command language, we propose to extend the URLs with a notation that reflects this functionality. We suggest to add the mud: protocol type with the following notations.
mud:commands
The browser issues the commands to the HyperMUD it is currently connected to. The commands are separated by slashes. Example: if the player selects the hyperlink mud:n/ne/nw, the browser will send the three commands "n", "ne", and "nw" in that order to the HyperMUD.
mud://host:port/
If the host:port is different from the current mud, the HyperMUD browser will transfer to another mud. If it is the same host, or if the host and port are left out (mud:///), the browser issues a "home" command. Note that currently, there is no default port for MUDs.
mud://host:port/commands
This combines the previous two and has the same effect as a mud://host/ followed by a mud:commands.
The commands above can for example be used by the HyperMUD to associate a movement command to a description or to a region of a picture (e.g. "ne" to a door), or to associate an "examine object" to the short description of an object.

Example

You're in a closet. The closet is dimly lit. Behind you is a <a href="mud:n">door to the dining hall</a>. In front of you is <a href="mud:examine sign">sign</a>. Below it, there is a <a href="mud://somewhere.edu:5000/">little red button</a>.

There's a <a href="mud:take coin">coin</a> on the floor.

3.3. Extensions to the MUD server

The adaptions to the MUD server software are modest. In order to support pointing and grabbing in images using mouse clicks, the server should support the following command:
click x y windowid
Whenever the HyperMUD player click on a image, the relative co-ordinates together with the image identification is send to the server. The server software in turn then sends a click event to the object hierarchy, in the following order:
  1. Players. Default semantics: examine player.
  2. Objects Default semantics:
  3. Background
How these events are actually implemented is up to the MUD developer.

3.4. Restrictions

The extentions proposed in the previous sections are powerful. So powerful that some restrictions are to be enforced by the server software to protect the inocent visitor of a mud.

First, each description or utterance should be checked for on syntax. Each opening tag should be followed by a closing tag in the same piece of text. This prevents formatting errors when for example a description contains a <b> and not the associated </b>, which would render the rest of the story in boldface.

Second, some HTML constructs should be disallowed in user utterances and in descriptions that a user can set (e.g. a self-description). A good example is the mud: annotation which could be used to make another user do things he or she did not intent to do, as for example in: Goodbye all, I'm leaving, all who love me <a href=mud:bye>follow me!</a>. Other examples are <snd> commands and <img> commands refering to the main window.

Some achitects of a MUD should of course be able to add the HTML contructs mentioned above. These "builders" should get special priviliges for it from the MUD owner.

3.5. a Typical HyperMUD browser

To access a HyperMUD and all of its features, one needs special HyperMUD client software, a HyperMUD browser. A simple telnet application could of course still be used to browse the MUD with a text-omly interface, if one skips all HTML commands. The GUI of a HyperMUD browser typically consists of one main window split in several parts, as shown in figure 1.

Fig 1: In the closet
The three main parts are: The browser in figure 1 also features a button bar with some frequently used commands like east, west, north, south, home, etc. As described in sections 3.2 and 3.3, when the user clicks on the image, a click x y main command is send to the HyperMUD server, and when the user selects a mud:-type hypertext link, the associated command is send to the HyperMUD server.

4. Commercial perspective

World Wide Web started as a tool for disclosing research reports, and gradually shifted towards more commercial applications. After being used to display research oriented, informative, or personal information, it soon was used to display catalogues and company information. Currently it is being transformed into an interface to "shops" that are accessible through the internet.

HyperMUDs could walk the same road: First they will be used by people who like to experiment and play with new software. Then some HyperMUDs will emerge as a new generation of MUDs multi user adventure games. Then at some point a more commercially oriented HyperMUD will see the light.

A commercial HyperMUD could for example be a shop, where one can walk from department to department, "touch" merchandise and look at it from different angles, change its color or texture, and decide whether to buy it.

Sales persons could inhabit the HyperMUD site to assist consumers in their choices and answer their questions. Some of these functions could be automated using natural language processing (NLP) software components (see Mauldin's article on "chatting" programs visiting current generation of MUD sites [6]).

Visitors of current commercial WWW sites are in a way quite passive, or at least not creative. He or she just browses through large amounts of text and pictures, and the only freedom he or she experiences is the freedom of selection.

Visitors of commercial HyperMUD sites in contrast have a real interaction with sales persons and other visitors.

5. Conclusions

In this paper we introduced a composition of two popular internet applications known as MUDs and World Wide Web (WWW). The resulting application, called HyperMUD, combines the multi modal and multi media features of WWW with the multi user, interactive, and creative nature of MUDs.

The HyperMUD application is basically a piece of WWW client software to which some telnet code is added. The HTML semantics are slightly changed for image display, sound, and interaction between client and server.

HyperMUDs could be one of the next killer applications of the internet, which provide vehicle for a new type of multi user games and for interactive shopping applications.

References

[1] Pavel Curtis, "LambdaMOO source code", 1994.
[2] Paul Gregg, Doran's Mudlist, December, 1994.
[3] The Hypertext Transfer Protocol (HTTP)
[4] Tim Berners-Lee & Dan Connolly (eds), A specification in hypertext
[5] Uniform Resource Locators
[6] Michael L. Mauldin, "ChatterBots, TinyMuds, and the Turing Test Entering the Loebner Prize Competition", in National Conference on Artificial Intelligence, 1994, 16-21. [7] C. Reilly, MOO-WWW Research Directory