The DungeonMaker is a program that uses artificial life methods to create random dungeons or mazes. It is a C++ library for use in grid-based games, and can also be used as a stand-alone program for pen and paper role playing. It is being released under the GPL.
The current version of the DungeonMaker allows you to structure the dungeon by placing rooms, walls, and guaranteed-to-remain-open places (for later placement of NPCs, items, and story hooks), and then constructs a random dungeon around that. The structural elements are placed in the rooms-file, and the local character of the dungeon is determined by the parameters in the stats-file.
The dungeons generated by the DungeonMaker1.0 tend to have a maze-like character. For version 2.0 I have two major plans: Enable the program to place random rooms, and implement a genetic algorithm that based on quality-ratings for dungeons evolves the parameters in the stats-file to yield optimal dungeons. This can be used by letting the user enter quality ratings according to his preference, so that users can play in dungeons that are individually adapted to their taste, or by basing the rating on user performance to balance the game.
In the meantime, Stephan Beal has taken over lead development of the DungeonMaker. He has turned the DungeonMaker into a proper library (to use version 1.0 you have to compile it into your own program), and is reworking the data structures used by the DungeonMaker. In particular, he is providing a hierarchy of objects which makes it easy for users to add their own "DungeonElements", and is implementing a sophisticated storage strategy for these data.
To check out the DungeonMaker, go to one of these sites:
http://dungeonmaker.sourceforge.net
http://alifegames.com/dungeonmaker
Peter Henningsen
alifegames.com