生成地图的方法


27

我正在为小型游戏创建一个简单的,“随机”生成的地图。

该游戏包括一个自上而下的世界视图,包括陆地和海洋区域。例如,以一个简单的世界轮廓图为例。

我能想到的最接近的东西是旧的SimCity游戏或Civ系列的关卡生成器,您可以在其中设置相对于多个岛屿的单大陆偏好。

哪种算法合适?地图将需要适度缩放,因此我可以拥有“整个世界”视图以及局部放大的局部视图,但是我想稍后再进行分类。

最初,我不需要任何高度概念,只需两个区域-陆地和海洋,尽管我可能会在以后进行扩展。


我正沿着用某种形式的一个柏林噪声函数生成的思路思考,但我不知道如何从本质上是2D高度图,一组线的连接,在高度X.各个领域得到
圆柱形

Answers:


21

该“著名的”阿密特(与巨页面的各种游戏编程主题)的游戏编程的博客,他刚刚完成了地图生成的一个有趣的方法的3部分教程。我真的很喜欢这些读物,并且在第三篇文章的底部有一个非常不错的演示示例。

“多边形图生成” 部分1部分2部分3

这可能是您想要适应您的需求的技术!至少,他提到了在过程的每个步骤中使用的算法:他从生成Voronoi多边形开始,使用Lloyd松弛将其松弛到更均匀的分布,使用“一个简单的函数将世界分为水陆两用” ,然后洪水填充确定海洋和湖泊。听起来您可以停在那里,或者继续阅读山峰和山谷并将其变成3D等等。


2
噢,我用Amit的指南学习了很多A *。就像他看着我的脑袋:)是时候得到那个“ <3 Amit”纹身了……
Cylindric

1
那些真正伟大刻着
科尔姆

Voronoi,很好。:)
user712092 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.