Understanding MUDs

by Deborah L. Snead

1. Introduction - What are MUDs

The term MUDs has various definitions which include but is not limited to Multi-User-(Dungeon, Dialogue, Dimension) and so on. Essentially a MUD is just a role playing game in which users on the Internet can log on as different characters, explore rooms, communicate with other players, and solve puzzles. There are many different kinds of MUDs and here is a brief description of a few of them (taken from http://www.lysator.liu.se:7500/no/mud/faq/faq1.html ).

The Tiny- and Teeny-family of MUDs are usually more 'social' in orientation; the players on those MUDs gather, chat, meet friends, make jokes, and discuss things.

The LP- family of MUDs are based on roleplaying adventure games. In these, your character runs around killing monsters, finding money, and making experience in the quest to become a wizard.

DikuMUDs and AberMUDs are a bit like LPMUDs, except that LPMUD wizards have access to a very powerful programming language with which they can add more sections to the database.

MUCKs or MUSHes extend the TinyMUD programs by including a usable programming language.

MOOs have an object-oriented programming language, and are more 'social' in nature.

UnterMUDs can connect to each other directly, and have both a scripting language and a programming language.

BSXMUDs are LPMUDs with simple graphics.

In order to play a MUD you can use the 'telnet' command to connect to a server running the game on some Internet port, but it is more user friendly to use a client program like say BSXMUD, MUD.el, TinyTalk, or TinyFugue. Each MUD client offers different features but in general a MUD client will allow you to do some of the following and more (taken from the MUD FAQ at rudolf.ethz.ch/pub/mud):

Hilite - place some text in bold letters to make them stand out

Logging - records MUD dialogue and saves it to a file

Gag - allows some text to be suppressed

Triggers - Supports events which happen when certain actions on the MUD occur (e.g. waving when a player enters the room).

The basic commands needed in a MUD are movement and speech. There are several commands for speaking like say 'msg', shout 'msg', tell 'player' 'msg', converse and so on. Other variations exist like whisper 'player' 'message', and page 'player' 'message' and quite a few aliases and shorthand commands. 'Converse' is a convenient command for holding long conversations because you stay in conversation mode until stopped by the '**' symbols.

Movement commands vary as well. Each room in a MUD has a list of exits which are normally directions (north, south, east, west). One can either move in that direction by typing 'east', for example, or use a series of commands like move 'direction', goto 'direction', enter 'object', leave 'object'.

Once you master movement and speech, you may then move on to more creative commands like emotions. Some MUDS have a defined 'soul' for your character which has many predefined emotions like blush, cry, and laugh, or you can use the emit 'msg' command and express your own.

2. Building Features into MUDs

Overall, building new features into MUDs like rooms or objects is not that complicated. It is the social environment of the MUDs that can make things difficult. Each MUD has a set of developers who are given 'wizard' or 'god' status. In many MUDs this means you the player are allowed to do as much as they allow you to do. Typically you must convince these administrators that you have either 'earned' wizard status through attaining a certain score or skill level or by proving that you are skillful enough to build new features. On the other hand, some MUDs allow you to build at any time as long as you follow the guidelines of the MUD theme. In that case you simply must get the permission of the person to whom your addition will be attached to.

Here are three basic commands (DIG, CREATE, and DESCRIBE) and their syntax taken from the UglyMug (UM), TinyTIM (TT), and TinyMUSH (TM) manuals. Note their similarity. (UglyMug is a derivative of TinyMUD and TinyMUCK).

UM Syntax: "@create 'name' [ = 'description' ]" Creates a thing with the specified name and specified description.

TT @CREATE 'Name of Object' [= 'Value'] Example @CREATE Large Ice Cream Sundae

TM @create 'name' [='cost'] Creates a thing with the specified name. (and creation cost)

UM Syntax: "@dig 'name'" Creates a new room with the specified name and displays its ID number @dig Kitchen=This is a labroratory for breeding new life forms @dig Living Room=Judging by the organic matter on the floor...

TT @DIG 'Name of Room' [= 'Exit' [,'Return Exit']] Creates a new Room in the TinyTIM world, with 'Exit' linking to it from your current location. 'Exit' is given in the syntax exit1;exit2;exit3;...etc.

TM @dig[/'switches'] 'name' [= 'exitlist' [, 'exitlist'] ] Creates a new room with the specified name and displays its number. Example: @dig Kitchen = Kitchen;k;north;n,south;s : will dig a room called Kitchen, and open an exit called 'Kitchen' in your current room. The ; symbol means that you may enter the exit by typing 'k', 'north' or 'n' also. This command also opens the exit 'south;s' from 'Kitchen' back to where you are.

UM Syntax: "@desc[ribe] 'object' [ = 'description' ]" "'object'" can be a thing, player, exit, room, command, or variable specified as "'name'" or "#'number'" or "me" or "here". This sets the description a player sees when they use the command "look 'object'". Without a description argument, it clears the message. For an exit this is the message a player sees when they try to look through the exit.

TT @DESCRIBE 'Object' = 'Description' @DESCRIBE will set the DESC Attribute on an Object. @DESCRIBE sets the Description of Rooms, Players, Exits, and Things. The Description of an Object is what a Player or Thing will see when it LOOKs at that object. Example: @DESC Rock=It is a cold, heartless mineral.

TM @describe 'object' = 'description' Sets the description for 'object', which others see when they look at the object. Examples: 'object' @desc vase = You see a delicate Ming vase. 'exit' @desc elevator = There is an elevator to the east.

So, as you can see, once you learn a vocabulary set of commands, it is not very difficult to jump from one MUDdom to the next.

3. Bottlenecks

One of the most frustrating bottlenecks a particular MUD has is its lag time. This is the time between when a command is initiated and the desired ouput appears. There can be many reasons for this lag which include, the load on the system and its resources due to the number of users connected and the network connection itself. In either case, the lag time makes it difficult to carry out a normal conversation, unless it is being held by a party of two. Any group larger than that will find the conversation difficult to follow. Another source of difficulty related to this is the type of client program being used. With the ordinary 'telnet' connection the commands given by people on the MUD constantly clutter the screen while you try to type in your own commands. This can be very annoying unless you are an extremely fast typist which many of us are not. A solution to this problem is to use one of the client programs mentioned earlier which allow you to devide the screen, highlight text and so forth.

The 'help' screens on a MUD are very important. In fact, if not properly orchestrated 'help' can actually be a hindrence to the enjoyment of the experience. In too many instances have I found that a command was listed as a a topic to get help on but when the 'help command' was initiated the response was something like 'command not found' etc. This type of negative interaction can be a big deterrent for the average newbie or new MUD-user. A related frustration in the learning process is the inaccessibility of certain commands. It is understandable that a MUD has to have some kind of order or at least have someone to manage or maintain it like a 'wizard' or 'god' but it is also exasperating to read about a particular command in the help menu and not be allowed to use it because of your 'level' or 'score' or simply because the fascist powers that be won't allow you to.

Movement through the MUD can be difficult as well. It is not uncommon to find a MUD that does not have obvious exits. Sometimes the description of a room is quite long with its exit points buried deep inside the text. This is tedious at best when one is trying to move quickly through each room. In addition to this, not all MUDS have a map you can follow so it's easy to get lost especially if the layout of the MUD is rather complexed.

4. Graphical MUDs

The number of graphical MUDS on the Internet is growing. Two mentioned here are BSX-MUD and Crossfire.

BSX-MUD is a graphical LP-MUD written by Bram Stolk for X-windows, hence the name. You need a client program in order to run it which can be found at

ftp://ftp.lysator.liu.se/pub/lpmud/bsx filename: bsxclient.tar.gz

and the World Wide Web home page for it is located at

http://www.lysator.liu.se:7500/mud/bsxmud.html

The client will connect you to the one and only server at robin.lysator.liu.se 7475 in Sweden. There are also client programs for the Amiga, Machintosh, and MS-DOS, PC platforms. One could also use 'telnet', but not all the details of the MUD are described in the text.

The MUD itself works quite well and allows you to move your character around using both the typical movement commands of textual based MUDS and by allowing movement around your viewing screen with the arrow keys. There can be about a half second lag but with practice one can orient themselves to this delay. It also uses the other commands which are familiar to us such as for communication (say, tell, shout, converse, and so on). In essence it is similar to a textual based MUD except it uses graphics in a separate window while you type in commands in another window.

For more information you may contact the author at stolk@fwi.uva.nl.

According to the manual page Crossfire is a 'multiplayer graphical arcade and adventure game made for the X-Windows environment'. The game's original author was Frank Tore Johansen and the current maintainer is Mark Wedel, but has a host of contributors to the program source. The source code can be found at the following FTP site:

ftp.ifi.uio.no:/pub/crossfire (129.240.82.2)

and a couple World Wide Web home pages for it are located at

http://www.ifi.uio.no/~frankj/crossfire/index.html http://www.cm.cf.ac.uk/Crossfire

There is also a mailing list one can subscribe to by sending mail to the address that follows. In the subject header type 'subscribe'.

crossfire-request@ifi.uio.no

According to Mark Wedel (master@rahul.net), here are a few servers that are currently running Crossfire:

sonja.math.virginia.edu 13326 running version: 0.90.5 corpse.ecst.csuchico.edu 13326 running version: 0.90.5 scotch.berkeley.edu 13326 running version: 0.90.5 fermat.dartmouth.edu 13326 running version: 0.90.5

Connecting to the game is a little complicated unless you use the cross client. If using telnet, Peter Mardahl (peterm@soda.Berkeley.EDU) describes this method for connecting to the game:

>xhost coke.csua.berkeley.edu

>xset +fp tcp/coke.csua.berkeley.edu:13325

>telnet coke.csua.berkeley.edu 13326

Trying 128.32.131.73 ...

Connected to coke.csua.berkeley.edu.

Escape character is '^]'.

set font

add alfven.eecs.berkeley.edu (you use YOUR machine here)

Crossfire is a much more complicated game to learn to play than BSX or other MUDS. Movement around the MUD varies depending on your personal choice. This can include a series of keystrokes (Ctrl/Shift keys), use of the arrow keys, or using the mouse buttons. It's also difficult to get help on certain commands. In fact it is easier to download the documentation on run time commands than it is to use the help menus. Some commands are familiar like 'shout' and 'tell' but the execution of some commands are different if using the game window versus the command window, etc. However, Crossfire does allow you to 'bind' commands to certain keys for fast execution. Other than those few initial difficulties, Crossfire works very well and has very good animation.

The University of Central Florida -- Cyberspace Campus

by Belinda Asbell and Grant Simmons

I. UCFC's Purpose

The University of Central Florida -- Cyberspace Campus was begun as a group project for a course offered by the real Univeristy of Central Florida, Virtual Reality Tools (CAP 4932/5937), as taught by Dr. J. Michael Moshell. Our goal is to design an implement a Multi-User Simulation Environment (MUSE) that will allow experimenters to conduct research in the field of education. We want to know how people would interact in such an environment, and if this medium would be suitable for educational instruction and research purposes.

UCFC is running on a Sparcstation running SunOS 4.1.3, using TinyMUSH 2.0.10 p6 as the MUSE server software.

II. Connecting to UCFC

To connect to UCFC, telnet to longwood.cs.ucf.edu, port 10080. You will see the welcome screen for UCFC. If you have an existing character, type "connect ". If you don't have a character, you can look around by typing "connect Guest guest". This will connect you to the Guest character. You can apply for a new character by emailing mudadmin@longwood.cs.ucf.edu with your requested name.

A sample session follows: ================================================================================ % telnet longwood.cs.ucf.edu 10080 ------------------------------------------------------------------------------ Welcome to University of Central Florida - Cyberspace Campus (UCFC)! ------------------------------------------------------------------------------ "connect " connects you to an existing character.

"WHO" tells you who is logged in to the game (case sensitive).

"QUIT" exits the game and saves your character.

"news" informs you about recent program changes and items of interest.

"help" gives help on the commands.

To connect as Guest, type "connect Guest guest".

If you want a character, e-mail your request to mudadmin@longwood.cs.ucf.edu Include in your request the character name and password you want. New characters are normally created within 24 hours.

------------------------------------------------------------------------------ Disclaimer: Everything you say or do could be recorded for posterity. If you disagree with this, QUIT now. Connecting now indicates your acceptance of this policy.

If you have any problems with UCFC, please email mudadmin@longwood.cs.ucf.edu

connect Guest guest

Welcome to UCFC! Explore places. Meet people. Have fun!

If you need help, just ask somebody (type a double quote mark and then type your question, like this:

"Where's a fun place to explore on this MUSH?

The question will appear to others in the same room as:

says "Where's a fun place to explore on this MUSH?"

If you want to create a character of your own, type LOGOUT and then follow the directions for creating a character.

Enjoy your visit.

------------------------------------------------------------------------------ Last connect was from Pegasus.cc.ucf.edu on Mon Jul 25 16:52:16 1994. Student Union(#32RFJ)

constructing additions to this building. This area is an out-of-the-classroom setting where students can meet and interact. The UCFC Bookstore is housed here. Other multi-purpose areas will be added soon.

Contents:

Campus Map

Obvious exits:

Bookstore (B) Exit to Sidewalk (E) Exit to Campus Hub (S)

================================================================================

III. Basic MUSH Commands

Once connected to UCFC, you can interact with the environment and with other people. You can "say" things, "pose" an action, look at objects, rooms, or people, move around, and many other actions.

To say something, type

say (or " for a shortcut.)

This will automatically prefix your name. For example, if you type

say Hello!

everyone in the room you are in will see

Guest says, "Hello!"

and you will see

You say, "Hello!"

To pose an action, type

pose (or :)

This will also automatically prefix your name. For example, if you type

:waves to Khisanth.

everyone in the room (including you) will see

Guest waves to Khisanth.

To look at an object, person, or room, type "look ". If you are in a room, just typing "look" will look at the room itself. Typing "look me" will look at yourself. Note: You automatically look at a place when you enter it.

Here are some examples of look:

================================================================================

look me

JoeUser

You see nothing special.

look

Student Union

You are standing inside the UCFC Student Union. Tractors outside are constructing additions to this building. This area is an out-of-the-classroom setting where students can meet and interact. The UCFC Bookstore is housed here. Other multi-purpose areas will be added soon.

Contents:

Khisanth

Obvious exits:

Bookstore (B) Exit to Sidewalk (E) Exit to Campus Hub (S)

look Khisanth

Khisanth

You see a tall, slender redhaired woman with grey eyes and a harried expression. Her long red hair is bound back in a ponytail, and she is wearing jeans and a white t-shirt saying "UCF in Cyberspace!" on it. She is carrying a notebook full of scraps of paper.

================================================================================

In the above example, you can see that there are three exits from the Student Union: Bookstore, Sidewalk, and Campus Hub. To move in one of these directions, type the name (ie bookstore) or the letter in parentheses (ie "B").

Every object has a description. Using look, as illustrated above, will show you that description. You can also describe yourself.

To describe yourself, type

@desc me =

For example, if you typed

@desc me = Tall, dark and handsome.

anyone "look"ing at you will see:

JoeUser

Tall, dark, and handsome.

You may also wish to set your gender by typing "@sex me=" (whichever is appropriate).

You can get a list of other connected users by typing "WHO".

There are two other forms of interuser communication: page and whisper. "whisper = " will whisper your message to a specified user in the same room as you. "page =" will send your message to a specified user who is logged in, even if they are not in the same place.

The most important command you will use is "help". This will tell you how to use the many other commands available.

================================================================================

SUMMARY OF USEFUL COMMANDS

help (or help ) : Get general help, or help on .

" : Prints out ' says, ""' ie: "hello prints ' says, "hello"'

: : Pose an action...prints out " " ie: :jumps up and down prints ' jumps up and down'

look : Prints out the description of the current room.

look : Prints out the description of something.

@desc me = : Sets your description, so when you are "look"ed at, it says something other than "You see nothing special."

@sex me = : Sets your gender, so functions which reference : personal pronouns (he, she, his, her, etc..) : output correctly.

WHO : Prints out a list of who's connected.

w = : whispers a message to a person in the same room.

page = : sends a message to a person in another room.

Typing the name of an exit will move through that exit. For example, if you see "Admin Building (S)" then you can type "s" or "admin building" to go that direction, in this case, South. ================================================================================

IV. Implementation Issues

Our first task was to learn more about multi-user text-based virtual environments. We located MUSE systems already in existence and began examining their features and functions. We then located a MUSE "backbone" system based on one we had found easy to use. The system we used to support our project is TinyMUSH version 2.0.10, patchlevel 6.

Our next problem was to decide how to implement our MUSE. We discussed several options, and decided to create a campus- style environment. This way, users would already have some experience what areas would serve what purpose. For example, virtual classes can be taught in the areas labeled "Classrooms", research will be conducted in the "Research Lab," administration and registration functions would be handled through the "Administration Building," and so on. We designed a campus layout that we felt would best support our purposes.

We then encountered our first problem. The MUSE system we found on the Internet was designed for an adventure-style game. There were many references to "The Game" and "Players" explicitly coded into the program. We located these references and changed them to syntax more appropriate to an educational design.

Next, we "constructed" our campus. We used building skills we used from examining other MUSE systems to create a series of rooms connected by a system of exits in the style of a college campus. Each room has a description of its appearance and function, as well as a list of possible exits from that room. We invited outside computer users, some experienced with MUSEs and others that were not, to examine our campus and give feedback on things we had done right and things that could be improved. Acting upon these suggestions, we modified the campus to its present state. We included a research area and classrooms to support our research goals.

The University of Central Florida -- Cyberspace Campus is now ready to support whatever research that experimenters wish to do.

V. References and Acknowledgments

References

Leong, Lydia. "MUSH Manual Version 2.007" available via anonymous ftp from world.std.com as /src/world-mush/doc/mushman.2.007.tar.Z

Snead, Deborah. "Understanding MUDs", 1994.

Acknowledgements

We would like to thank the following people for their assistance with this project:

Mr. Jason M. Asbell

Ms. Natasha A. Davis

Mr. Don Harper

Mr. Chris M. Hudson

Dr. Charles E. Hughes

Dr. J. Michael Moshell

Miss Selena Moshell

Ms. Nancy A. Shah

Ms. Deborah Snead

The students of University of Central Florida class CAP-4932/5937

The students of Dr. Yoshida, Kyoto Institute of Technology, Kyoto, Japan.