技术帖,牛B的游戏生成的随机地图是怎么实现的?

很简单,它是一个二维的M*N矩阵,每个节点在给定的条件下是随机可通不可通的,即0或1。最后,通过遍历树操作来消除空白节点。对于随机地图的控制,比如可以把方向抽象成一个数值来进行随机方向惯性。至于减少有障碍物的非空节点的数量,可以用GD控制随机删除设定比例的障碍物。其他的,比如宝箱,事件,陷阱,传送,都可以从空白牌集中随机生成。给空白瓷砖一个可选的概率值,可以有效消除多个宝箱在一起或者整条路都是陷阱,地理分布过于“不均匀”的问题。

对于自然连续、密度交替、过渡自然等一些美学问题,可以通过设置侵蚀系数、堆积系数等核心参数来获得想要的稀疏效果。让地图更加丰富,更加自然。当然,很少有游戏是用来随机生成世界区域地图的。一般随机生成的地图都是迷宫地图。

此外,我们还可以设置模板来定义地形,它可以不仅仅是一个正方形矩阵。