Algorithm 正在寻找生成平面二维地图的算法

Algorithm 正在寻找生成平面二维地图的算法,algorithm,random,2d,parameterized,Algorithm,Random,2d,Parameterized,我不确定基于“传统”随机噪声的高度贴图生成是否是我所需要的,因为我想要得到的是由两种类型的区域组成的非常简单的贴图 我想要的最终结果是一些非常简单的几何图形,将“陆地”区域与“海洋”区域分开,并确定一个点是湿的还是干的 理想情况下,它应该是程序化的,而不是基于预渲染的高度贴图,因为我希望贴图随机生成,并进行一些参数化 我能想到的最接近的例子是SimCity and Civilization系列中的地图生成器,但它被简化为2D,有一种Defcon的感觉。类似于: 从任何一点开始。宣布高度为0(海滩

我不确定基于“传统”随机噪声的高度贴图生成是否是我所需要的,因为我想要得到的是由两种类型的区域组成的非常简单的贴图

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

理想情况下,它应该是程序化的,而不是基于预渲染的高度贴图,因为我希望贴图随机生成,并进行一些参数化

我能想到的最接近的例子是SimCity and Civilization系列中的地图生成器,但它被简化为2D,有一种Defcon的感觉。

类似于:
从任何一点开始。宣布高度为0(海滩)。递归访问通过当前节点高度的洪水填充的北面、东面、南面和西面的每个相邻点。加上或减去一些参数化的随机值(比如-2到2)。钳制最小和最大总值处的值(例如-5和20)。忽略以前访问的节点,通过映射大小递归。现在您有了一个相当连续的二维高度贴图。负高度是湿的。您可以使用每个节点的高度变化量和最小/最大总体值来获得更多或更少的陆地-海洋和大陆与群岛,等等。

Hmm,好的。我不打算使用基于网格的地图,尽管我想我可以这样做是为了生成。记住,如果需要的话,你可以随时将生成的高度转换成3D网格。你说你想要一个和Civ相似的2D感觉。如果我没记错的话,这是基于网格的,上面有一些幻想。柏林噪声(或其他一些“分形”景观生成),然后是阈值?