我正在建造一个岛屿。我使用经典的高度图解决方案:具有爬山功能,避开地图的拐角处,可以确定高度。然后,佩林噪声为我提供了一些应对生物群落的气候变量。现在,我面临着以某种方式联系在一起的两个挑战:
在《矮人要塞》中,尽管不是矩形形状,但游戏似乎是如何“知道”区域并为其命名的,这是世代的整洁方面之一。我希望能够“识别”我的森林,我的河流,我的山丘……不知道我可以使用哪种算法来扫描地图并解释其区域?您将如何存储呢?我正在使用由“ tiles object”的向量的向量构成的基本C ++图形。
这个岛屿应该划分为政治领域,而不仅仅是自然区域。我可以用山脉和河流来做“自然边界”,但是我程序生成的地图却不能保证我会拥有形成王国的漂亮“飞地”。我可以发现自己拥有一个由微型王国包围的巨大的“丝带状”政治地区。另一种可能性是为城市或城堡寻找合适的区域。然后,“发展”周围的政治领域。但是,在尝试设计自己的算法之前,我想再次使用一些众所周知的算法。
这个问题可能解释得太含糊,所以改写它的一种方法是:如何将程序生成的世界划分(不修改!)为适合游戏性的区域?在此先感谢您的帮助。