寻找生成平面2D地图的算法

时间:2010-09-22 15:24:46

标签: algorithm random 2d parameterized

我不确定“传统的”基于随机噪音的高度图生成是否是我需要的,因为我想要的是一个非常简单的地图,包含两种类型的区域。

我想要的最终结果是一些非常简单的几何形状,将“陆地”区域与“海洋”区域分开,并确定一个点是湿的还是干的。

理想情况下,它应该都是程序性的,而不是基于预先渲染的高度图,因为我希望地图是随机生成的并且有些参数化。

我能想到的最近的例子是 SimCity Civilization 系列中的地图生成器,但是直接简化为2D,感觉 Defcon < / em>的

1 个答案:

答案 0 :(得分:0)

像: 从任何一点开始。声明它高度为0(海滩)。递归访问每个相邻点北,东,南和西ala洪水填充通过当前节点的高度。添加或减去一些参数化的随机值(比如-2到2)。将值限制在最小值和最大值(例如-5和20)。通过地图大小递归,忽略以前访问过的节点。您现在拥有相当连续的2D高度图。负高度是湿的。你可以玩每个节点的高度变化多少以及最小/最大整体值来获得更多或更少的陆地 - 海洋和大陆与群岛等等。