文/兔四
概述:文章基于一种基础的地图,来讨论三套不同的地图生成方案。
文章不会出现跟代码相关的内容,会以较为通俗的语句和不少简单的示意图来表示迷宫的生成方案。其中不少方法来自于游戏界前辈,我根据自己的基础地图做了不少修正(毕竟迷宫和地图的形式多种多样,适合自己游戏的才是最好的)。
根据方案生成地图之后,还可以加上一些静态分布来丰富地图表现,大家就自行发挥啦!
地图基础
地图的形式很多,这里我使用的地图是以tile块为单位分割的地图,地图上的tile块形式很多,但主要分成三种:
A:陆地,可以在上面分布一些角色啦物件啦;
B:过渡,根据物理框可以在上面移动,不过一般不会分布物件;
C:水域,不可移动的区域,可以理解成为迷宫的“墙”;
image001.png (266.48 KB, 下载次数: 31)
2017-6-15 14:16 上传
在后文的迷宫生成方案里,会以水域作为分割,主要围绕陆地的分布来设计迷宫,过渡的地块根据游戏实际需要再去生成。如果你不希望地图用水域来分割,那只需要把水域改成传统的墙壁即可。
本文用来展示的地图,面积都比较小,方便表达迷宫的生成规则。在实际游戏制作时,按需求去铺量就行。
方案一:主路扭曲型
1、首先,按照下图的间隔规则来生成基础的大地图,1为陆地,0为水域。
image003.png (104.04 KB, 下载次数: 40)
2017-6-15 14:16 上传
2、然后,选择一个靠近边缘的1作为起点,在它的周围随机找另一个黄色的1(这里的“周围”指的是上下左右4个方向,斜边不算)。找到就把他们联通,即把两个1之间的0变成陆地,这里用红色来表示。