简述下我用C#进行生成随机地图的方式,看是否可行
wszz0218
2016-04-16
Hysteria
2016-05-26
我是贪婪洞窟的开发者,我们的地图生成规则很简单。
主要的思路:
- 在 w * h 的网格上,随机选择一点为起始点。
- 从起始点开始,从north, south, weast, east, 四个方向中随机选择一个方向,前进n步(1 <= n <= w || h),并将此次前进走过的所有点记作道路,前进的终点作为下次前进的起始点。
- 重复2步骤s次。
- 重新在所有走过的网格中,选出一点作为新的起始点,重复2、3步。
- 重复4步骤c次
- 遍历所有走过的点,将与该点周围的所有不为道路的点记作墙体。
以上,并且通过改变 w、h、n、s、c 众变量,就可以生成各种丰富的随机地图了。
Hysteria 是你们做的!有没有什么开发的故事可以说说啊?
Hysteria
2016-05-27
Humble Ray 哈哈,就是加班加得比较多,其他没啥特别的吧,可能是作为程序猿的我不善于发现。
关于宝箱,我们采用的方法是这样的:
- 尽量靠墙生成宝箱
- 移除掉挡住门或者通道的宝箱;
- 生成少量在房间当中的宝箱;
- 检查生成的宝箱是否阻挡了通路。
宝箱内容:根据当前地牢的层级来放置一些属于该等级的宝物,然后随机放置很少量的高级一些的宝物,最后有小于或者等于 1% 的机率放置一个远超出当层等级的宝物。
敌人:我们则是以玩家出现点为圆心,按照半径不断增加能力渐强的敌人。然后放置高级一些的 BOSS,一般不会出现在玩家附近。
当然,方法很多,只是我们目前采用的一种方法,中间还会有很多细节的变化。
先看看这个有帮助么?
http://blog.163.com/tangzch_t/blog/static/43074435201011222338449/