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: 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.