游戏地图生成算法已被广泛用于随机创建游戏内容,包括游戏中的敌人分布、游戏世界地形生成等。
使用游戏地图生成算法来生成地图的方式有很多,本文中,我们将概述其中的两个。
分形算法生成地图
依赖于纯随机性的地图生成可能会导致灾难性的结果。该算法可能会生成玩家无法克服的地图,要么是因为几何图形无法导航,要么是地图中充满了无法应对的极其强悍的敌人。
不过,开发人员可以通过分形算法解决这个问题。
分形简单理解就是无论放大还是缩小,都能看到一样复杂的细节。因此,分形非常适合创建游戏地形,为了引入更多随机性,开发人员还可以在分形中加入一些独特元素,如树、花、草之类的。
创建在游戏中使用的地图,然后让算法将它们拼接在一起以创建一个大关卡,可以想象成组装拼图。
随机生成地图
随机生成通常包括生成高度图以及从高度图生成地形。高度图是一个2d图像,存储用于在游戏中渲染3d地图的每个像素中的高程细节。
这种随机地形生成方法也不是纯随机的,在很大程度上是可控的。
还有就是随机位移算法。将一个随机数作为高度值分配给矩形的每个角。然后将平面细分并再次随机分配值。这样做直到达到所需的复杂性。
再加上噪声生成算法就可以形成更多随机地形。噪声生成算法通常仅用于纹理和效果,但如果需要复杂的地形,则可以使用噪声来生成高度图。最常用的噪声生成算法是Perlin噪声算法。