我一直在研究一个好的地牢算法,但我遇到了几个问题。我正在尝试在疯神境界和地牢爬行者之间进行混合。我的设计布局一直是走廊,这些走廊彼此分开,房间里装满了怪物。到目前为止,我已经基于这个算法建立了一个地牢生成器: http://www.roguebasin.com/index.php?title=Dungeon-Building_Algorithm 。我的第一个问题是,由于我的走廊不是 1 个空间宽,因此它们看起来经常彼此隔离,这不是预期的效果。
.
我一直在考虑可能会更改生成方式,以便将切片存储在数组列表中,以便它可以使用它来查找每个段落应该如何连接,我也曾想过尝试不同的算法,但我犹豫不决,因为不先尝试修复这个会感觉很浪费。任何一点建议都是有帮助的,因为我对此比较陌生!
注意:必须有一个玩家生成的特殊房间和一个 Boss 房间。就这一点而言,我不确定如何始终确保将这些房间连接在一起,也许是在完成其他所有工作之后的最后一代?
最佳答案
也许更简单(但不完整)的解决方案是存储已构建的每个“房间/功能”的某些元数据。如果您选择走廊尽头的墙作为某些新要素的放置,请排除“走廊”作为有效要素。
它不能解决所有 map 不兼容的问题,如果您有两种不同类型的走廊(较宽的和较窄的走廊),您将永远不会看到走廊变得更宽或更窄,但这是一个简单的解决方法,而且是一种快速修复方法。
当然,有更好的解决方案,但是我需要有关算法的更多详细信息。对于我可以在链接中看到的内容,您发送的内容是选择墙砖作为放置位置,并在其后放置一个要素。也许当您决定放置时,您不需要只在随机选择的墙砖上观看,而是在周围的整个连续墙上观看:
那只是我的首要考虑,当然还有其他解决方案。但这可能足以让您入门。