Generated MUD

Developer: John Arras
Designer: John Arras
Released: November 24, 2002
Genre: MUD
Modes: Multiplayer
License: MIT
Input: Keyboard
Latest Version: 1.6.7 / March 24, 2004
Download: genmud-1.6.7.tar.gz
PCG Types: instancing-of-in-game-entities, dynamic-world-generation, procedural-puzzles-and-plot-generation

genmud is a text-based MUD codebase aimed at providing a generated game world with ongoing generated dynamic happenings, providing an overall generated experience.


An overview of sorts is provided by the author John Arras, taken from a paper he wrote in 2004.

Although the original intent was to use societies to generate the world, I realized that they could also be used to create a dynamic world. At this point, I’ve come to realize that generating a world and running a dynamic world are the same problem. I hadn’t seen a dynamic world before. By "dynamic", I mean a world where interesting things happen even if no players are in it. I don’t consider worlds that don’t do anything, but let players modify them, to be dynamic. Nor do I feel that worlds where random quests and missions pop into existence are dynamic. Dynamic means the world does interesting things, and when players interact with the world, the results of their actions are fed back into the state of the world

Some selected parts of the documentation which are included in the download, are quoted below.

Regarding map generation:

The map generation code generates what I consider to be interesting maps by taking the basic Bresenham rasterization algorithm and spicing it up. You can create straight lines or paths that go off at an angle and even big rectangular blocks of rooms with the code, but it really shines when you make complicated blocks of rooms.

Regarding area generation:

This is the heart of a lot of the other code that's used for generating things. It starts by mapgenning a few maps then ORing them then flood filling them with one kind room, then adding details like mobs and roads and objects.

Regarding "mob" generation:

There is code to generate random animals so that you don't have to create each one by hand.

Regarding person generation:

When a person is generated, she is usually given a name and usually given a society name and is given a profession.

The persons generated then get some items generated on them that sometimes have their names, sometimes have their society names, and sometimes don't. These items are based on the level of the mob but there's a lot of randomness here. Becauseof this, there will be out-of-depth items that are powerful but pop on easy mobs. It won't happen that often, but it's intentional since I think the players like to have some "low hanging fruit" that they can get easily. Too much "balancing" makes the game boring. :)

Regarding history generation:

There are several parts to generating the history of the world. This stuff has to happen after the rest of the world is generated because it requires a lot of data from those sections.

Each alignment gets a certain number of deities created. Basically, I made a list of all kinds of "spheres of influence" that I thought deities might have and split them into two lists: good and bad.

External Links

genmud - Homepage of the project, hosted at Sourceforge.
craft3.pdf - PDF paper on genmud by John Arras.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License