我正在开发一个用 Haskell 编写的 roguelike 游戏。我决定使用 将世界表示为 2D 网格Data.Array.Repa
,现在我希望动态生成随机地牢,其中可以包含直的或 90 度转弯的走廊,以及(几乎)任何大小和形状的房间。
我很难找出生成这些地牢的策略。醉汉的步行可能会奏效,但似乎它可能太不稳定并且不会产生很多房间。生成地牢的更好方法是什么?
另外,Data.Array.Repa
在这里使用的数据结构是一个不错的选择吗?
我正在开发一个用 Haskell 编写的 roguelike 游戏。我决定使用 将世界表示为 2D 网格Data.Array.Repa
,现在我希望动态生成随机地牢,其中可以包含直的或 90 度转弯的走廊,以及(几乎)任何大小和形状的房间。
我很难找出生成这些地牢的策略。醉汉的步行可能会奏效,但似乎它可能太不稳定并且不会产生很多房间。生成地牢的更好方法是什么?
另外,Data.Array.Repa
在这里使用的数据结构是一个不错的选择吗?
一个快速的谷歌发现了一些很好的资源。首先,关于这个主题的论文!
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