WARNING: If you are updating from version 12 to version 13 (I.e., you just got the version with the improved, not-just-rectangular MakeDungeon(), you WILL have to change your procedure calls A random dungeon generator. There are three different functions: MakeMap() draws out a lot of paths, that can twist and turn, and end and split. You tell it where to start the paths from, how many paths there should be, and give it a few other parameters, and away it goes. MakeDungeon() draws rooms, then connects new rooms onto the edges of old ones. Rooms may be rectangular, circles, or crosses. The system by which these rooms are drawn is extensible, so you can define your own room types and have them drawn. Finally, you can set up the generator to weight different types of room differently. The third procedure, MakeCavern(), is currently experimental. MakeCavern() tends to draw large, amorphous, irregular blobs - good for, say, a natural cavern (hence the name), but possibly not a dungeon. Have fun! |