我正在研究用Haskell编写的roguelike游戏。我已决定使用Data.Array.Repa
将世界表示为2D网格,现在我希望动态生成随机地下城,其中可以包含直线或转90度的走廊,以及可以(几乎)的房间任何大小和形状。
我在制定生成这些地下城的策略时遇到了麻烦。醉汉的行走可能会起作用,但似乎它可能太不稳定而且不会产生很多房间。什么是生成地牢的更好方法?
此外,Data.Array.Repa
是否可以在此处使用数据结构?
答案 0 :(得分:3)
快速谷歌找到了一些很棒的资源。首先,关于这个主题的论文!
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.119.1445
其次,一系列博文:http://dirkkok.wordpress.com/dungeon-generation-article-series/
最后,描述了原始的流氓算法:http://kuoi.com/~kamikaze/GameDesign/art07_rogue_dungeon.php
对于haskell特定资源,您可能需要查看LambdaHack:https://github.com/kosmikus/LambdaHack