MUD History & Fundamentals
What Is a MUD?
A Multi-User Dungeon (MUD) is a multiplayer real-time virtual world, usually text-based, combining elements of role-playing games, hack-and-slash gameplay, player versus player combat, interactive fiction, and online chat. Players interact through text commands and read descriptions of environments, objects, characters, and NPCs.
Historical Timeline
Origins (1975-1980)
- 1975: Will Crowther creates Colossal Cave Adventure on DEC PDP-10 — the first text adventure game
- 1975+: PLATO system dungeon crawlers emerge (pedit5, moria, dnd)
- 1978: Roy Trubshaw starts building the original MUD (later MUD1) at the University of Essex in MACRO-10 assembly language, naming it after the Dungeon variant of Zork
- 1979: Trubshaw rewrites MUD in BCPL (predecessor of C)
- 1980: Richard Bartle takes over development. MUD1 becomes the first Internet multiplayer online RPG when Essex University connects to ARPANET
Expansion (1980s)
- 1983: Scepter of Goth — early commercial MUD
- 1985: Island of Kesmai on CompuServe
- 1987: Alan Cox writes AberMUD — the first widely-distributed free MUD codebase. Written in B for Honeywell L66, ported to C in 1988. Its availability on Unix sparked rapid MUD proliferation
- 1987: Late — original MUD closes under CompuServe pressure; MIST derivative becomes popular
- 1987: Simutronics founded by David Whatley, Tom & Susan Zelinski
- 1988: Monster by Richard Skrenta pioneers player world-building
- 1989: TinyMUD by James Aspnes — stripped-down, social-focused. Spawns TinyMUCK, TinyMUSH, MOO
- 1989: LPMud by Lars Pensjö — innovative driver/mudlib separation with LPC language
- 1990: DikuMUD by five Danish students at University of Copenhagen — triggers explosion of hack-and-slash MUDs
Golden Age (1990s)
- 1990: Simutronics launches GemStone III on GEnie/AOL
- 1991: DikuMUD goes public (February 3,
freja.diku.dk port 4000) - 1991: MUME (Multi-Users in Middle-earth) created
- 1992: Merc MUD released (December 18) — DikuMUD derivative
- 1993: ROM 2.3 released by Russ Taylor
- 1995: Over 60,000 players across ~600 MUDs
- 1996: DragonRealms launches; Bartle publishes player types paper
- 1996: Aardwolf MUD created (November 29)
- 1997: Richard Garriott coins the term “MMORPG”
- 1998: ROM 2.4b6 released (the final public ROM version)
- 1999: EverQuest launches — directly inspired by DikuMUD
Modern Era (2000s+)
- By 2004, MUDs serve gaming, education, socializing, and religious purposes
- By 2009, community considered “in decline” but many MUDs persist
- 2020: DikuMUD III released for HTML5 with WebSockets
- Active MUDs still tracked via The Mud Connector, Top Mud Sites, MudVault
Types of MUDs
By Codebase Family
| Family | Origin | Language | Key Feature |
|---|---|---|---|
| DikuMUD | 1990, Copenhagen | C | Hard-coded world, hack-and-slash focused |
| LPMud | 1989, Lars Pensjö | C driver + LPC mudlib | Driver/mudlib separation, in-game programming |
| AberMUD | 1987, Alan Cox | C | First widely-distributed free codebase |
| TinyMUD | 1989, James Aspnes | C | Social focus, player building |
| TinyMUSH | TinyMUD derivative | C | Expanded command interface, RP-focused |
| TinyMUCK | TinyMUD derivative | C + MUF | Added MUF programming language |
| MOO | 1990, Stephen White / Pavel Curtis | C + MOO lang | Object-oriented, in-server programming |
By Gameplay Style
- Hack and Slash: D&D-style combat and advancement; PvE focus. Most DikuMUD derivatives
- Player vs Player (PK): Unrestricted player combat. Genocide (1992) pioneered this
- Roleplaying (RP/RPI): Enforce constant in-character play. Often use MUSH/MUX
- Social: De-emphasize game mechanics, prioritize interaction. TinyMUD family
- Talkers: Pure chat environments (ew-too, NUTS)
- Educational: Learning-focused (Diversity University MOO, 1993)
- Graphical: Computer graphics for world/avatars → evolved into MMORPGs
Core Architecture
The Game Loop
MUDs operate on a tick-based game loop:
- Accept and process incoming connections
- Read input from all connected players
- Parse commands
- Execute game logic (combat rounds, NPC AI, environmental effects)
- Send output to affected players
- Handle timers, resets, regeneration
- Sleep until next tick
World Model
The standard MUD world is a directed graph of rooms:
- Rooms: Discrete locations with descriptions, properties, and contents
- Exits: Directional connections between rooms (N/S/E/W/U/D + custom)
- Objects/Items: Things that can be picked up, worn, wielded, or used
- Mobiles (Mobs): NPCs and monsters with AI behaviors
- Players: Connected users with persistent characters
- Resets: Periodic repopulation of rooms with mobs and objects
Command Parsing
Players interact via text commands: look, north, get sword, kill dragon, say hello
Approaches range from simple verb-first parsing to Bartle’s sophisticated six-stage parser:
- Tokenizing — strip whitespace, normalize
- Dictionary lookup — map words to vocabulary entries
- Parsing — grammar matching with backtracking
- Binding — associate words with game objects by context
- Dispatching — route to appropriate handler
- Executing — run the action with intelligent assumptions
Object Systems
- DikuMUD: Hard-coded object types (weapon, armor, container, etc.) with flag-based properties
- LPMud: Objects defined in LPC with inheritance; driver/mudlib separation
- MOO: Everything is an object with properties and verbs; single inheritance
- Modern engines: Python/JS classes with database-backed persistence
Bartle’s Player Types
Richard Bartle’s 1996 taxonomy, mapped to playing card suits:
| Type | Suit | Motivation | Focus |
|---|---|---|---|
| Achievers | Diamonds | Points, levels, wealth, completion | Acting on the world |
| Explorers | Spades | Discovery, mechanics, hidden content | Interacting with world |
| Socializers | Hearts | Relationships, community, chat | Interacting with players |
| Killers | Clubs | Competition, domination, PvP | Acting on players |
The model sits on two axes:
- X-axis: Players ↔ World (interaction preference)
- Y-axis: Acting ↔ Interacting (engagement style)
Bartle later expanded this to 8 types by adding an implicit/explicit axis in Designing Virtual Worlds (2003).
Key insight: Most players exhibit a mix of styles. A healthy MUD needs content for all four types, and the types interact — Killers drive away Socializers, but Achievers need Killers as motivation.
Relationship to MMORPGs
The MMORPG genre descends directly from MUDs:
- EverQuest designer Brad McQuaid was an avid DikuMUD player
- Ultima Online designer Raph Koster was a MUD developer
- The DikuMUD team challenged whether EverQuest was a derivative (resolved amicably)
- “Graphical MUD” was the term before Garriott coined “MMORPG” in 1997
- Core MMORPG patterns (classes, levels, quests, raids, loot) all originate in MUDs
Key Figures
| Person | Contribution |
|---|---|
| Roy Trubshaw | Created MUD1 (1978) |
| Richard Bartle | Developed MUD1, player types theory, Designing Virtual Worlds |
| Alan Cox | Wrote AberMUD (1987), later Linux kernel developer |
| James Aspnes | TinyMUD (1989) — social MUD paradigm |
| Lars Pensjö | LPMud (1989) — driver/mudlib architecture |
| Stephen White | Original MOO server |
| Pavel Curtis | LambdaMOO (1990) |
| Sebastian Hammer et al. | DikuMUD (1990) |
| Michael Chastain et al. | Merc MUD (1992) |
| Russ Taylor | ROM (1993) |
| Raph Koster | MUD designer → UO → “A Theory of Fun” |
| Brad McQuaid | DikuMUD player → EverQuest |