What is a MUD?
MUD is an acronym for Multi-User Dungeon/Domain. Simply
put, they are text based games where multiple players connect to a
common server and interact. These activities typically involve killing
monsters, chatting with other players, and possibly trying to kill
other player's characters. Usually the game world is persistant, with
changes made by one player at least temporarily affecting other
players.
MUDs have been popular throughout the 80's and the 90's, and there
appears to be no reversal of the trend, even with the introduction of
several professional developed massively multi-player games such as
EverQuest or Asheron's Call. Despite possessing over 200,000
subscribers paying a $9.95 monthly fee, EverQuest has not reduced the
amount of people playing MUDs. If anything, it may have increased,
as the biggest MUDs known to the internet (3 Kingdoms, and Medievia) have
reported increased player bases in the last year since EverQuest was
released. The probable reasons MUDs will continue to be popular are
the following:
- They are free due to license agreements regarding their source
code.
- The simplicity of text makes for easy addition of new
features.
- The use of the telnet standard makes for universal access.
There are two main types of MUD. DIKU MUDs (and descendents,
such as ROM, Merc, Circle, and Smaug), and LPMUDs.
DIKU
MUDs are named after the Department of Computer Science at the
University of Copenhagen (in Danish: Datalogisk Institut ved
K|benhavns Universitet). Created in March of 1990 as a revision of
previous MUDs, these consist of a very large C program that contains
all the networking code as well as all functions for object
interaction. Because everything is hard coded into the program,
changes cannot be made on the fly, and the program in general is very
large. Game data (such as descriptions and flags, etc.) are stored as
formatted text.
LPMUDs are named after Lars Pensjo who
created the concept. Developed in April of 1989, LPMUD coincidentally
copied many of the features that were becoming available in
C++. LPMUDs consist of a relatively small C program that handles
parsing user input and accepting network connections. This driver will
also load and manage memory usage for the various objects in the
game. These objects are written in LPC, a pseudo-C language developed
by Lars Pensjo. They contain the data, and unlike DIKU MUDs, also the
functions for interaction. The driver will load these as
needed. Because of this, changes can be made on the fly, the object's
code is changed, and all instances in game are then reloaded and
modified by the driver. Because the objects are not all loaded at
once, this also saves a significant amount of memory.