我正在制作一个Roguelike,其中设置是程序生成的星球上的开放世界。我希望每个生物群落的分布都是有机的。有5种不同的生物群系。有没有办法在没有庞大复杂算法的情况下有机地分发它们?我希望每个生物群系占用的空间量几乎相等。
我以前在为每个生物群系制作地形生成器时曾使用过元胞自动机。那里的每个瓷砖都有 2 个不同的状态。有没有有效的方法来做5?
我使用的是python 2.5,尽管不需要特定的代码。它的编程理论很好。
如果问题过于开放,是否有任何资源可供我查看此类问题?
您可以在任何细胞状态空间上定义元胞自动机。只需将单元格更新函数表述为F:Q^n->Q
其中Q
是您的状态空间(此处Q={0,1,2,3,4,5}
(,n
是您的邻域大小。
首先,只需将 F 写为多数规则,即0
是中性状态,F(c)
应返回邻域中计数最高的1-5
的值,如果没有,则返回0
。在相等的情况下,您可以随机选择最大值之一。
作为初始状态,从具有 5 个相对等距的单元的配置开始,状态1-5
(您可以通过可以移动/镜像的固定位置确定性地构建它们,也可以随机生成这些点(。
当所有像元的值都小于 0 时,您就有了地图。
随意改进更新功能,例如通过应用给定概率的规则。