Similar question found here
I am working on a roguelike game written in Haskell. I've decided to represent the world as a 2D grid using Data.Array.Repa, now I wish to dynamically generate random dungeons which can contain corridors that are either straight or turn 90-degrees, and rooms which can be of (almost) any size and shape.
I'm having trouble figuring out a strategy to generate these dungeons. A drunkard's walk might work, but it seems like it might be too erratic and wouldn't produce many rooms. What is a better approach to generating the dungeons?
Also, is Data.Array.Repa a good choice of data structure to use here?
A quick google found some great resources. First, a thesis on this topic!
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.119.1445
Second, a series of blogposts: http://dirkkok.wordpress.com/dungeon-generation-article-series/
Finally, a description of the original rogue algorithm: http://kuoi.com/~kamikaze/GameDesign/art07_rogue_dungeon.php
For haskell specific resources, you may want to look at LambdaHack: https://github.com/kosmikus/LambdaHack
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With