找回密码
 点一下
查看: 1501|回复: 8

随机障碍物地图的做法分享和疑问

[复制链接]
发表于 2020-10-7 17:52:00 | 显示全部楼层 |阅读模式
年初的时候就想做一下随机地图,但是当时刚开始学,不敢随便试,用的是二维不重复生成的方式。
这次更新后,发现有个迷宫泰伦的图,想起来可以用一下算法。
基本上网上搜 "迷宫/随机地图/地牢+算法"就有一些介绍和例子了。

因为想做一个生成后有大口子的随机地图,最后用的是细胞自动机方法。具体思路可参照这篇文章https://blog.csdn.net/qq_33951440/article/details/81233857

附件是我用到的基本功能块,基本流程是
1、初始化地图;在地图上随机生成障碍/可通行区域
2、随机/固定位置生成建筑/资源;也试过放到最后,搜索足够大小的可通行区域,然后生成,不过比较缓慢,没采用。
3、演化刷新;依照算法理念,遍历各点,周围障碍多就把当前点设为障碍,周围通道多就把当前点设为通道;一般5次左右就稳定下来了(对应初始化比例54左右)。
4、区域生长法标记地图;主要是查看有没有封闭区域,有就得打通
5、依照上一步的结果,如果有封闭区域,就打通;本来是想找两个封闭区域间最短的距离,然后打通,执行起来比较麻烦,改用搜索每一列是否存在两个区域,有就从那里开始找随机格子按左上下右的方向顺序打通的方式
生成的地图大概这样,绿色是障碍物,蓝色是基地,其它就是通行区域。
捕获.PNG

目前,问题有2个
1、如果每个点的障碍物用一个建筑表示,占有资源比较多,大概5000个左右小地图就会闪烁,如果取消小地图上的建筑显示,那又不好判断哪个地方是可通行区域,哪个地方是障碍。不知道用泼溅图能不能在小地图上显示障碍物纹理?
2、除了小地图外,大地图上单位多了也会卡顿。合并相邻多个障碍点,用地形变形演算体+足印表示障碍物区域,好处是相同演算体的地形会自动合并,填充障碍物起来比较容易,但是边缘区域过渡痕迹比较严重,估计得用8个方向的悬崖纹理模型贴上去实现,因为电脑性能不大好,这个暂时无法验证。
捕获2.PNG

附上附件
随机地图测试用.SC2Map (151.5 KB, 下载次数: 14)



发表于 2020-10-7 23:30:01 | 显示全部楼层
本帖最后由 Nostalie 于 2020-10-7 23:39 编辑

你可以参考研究一下blz防卫局青蛙和七键用马甲单位做的地形编辑器。

点评

OB~
这个公开发布了吗?请问叫什么名字,B站只能看见演示视频  详情 回复 发表于 2021-7-7 13:13
回复

使用道具 举报

发表于 2020-10-11 19:44:51 | 显示全部楼层
https://bbs.islga.org/read-htm-tid-2800782-page-1-fpage-1.html
这是我以前发过的一篇帖子,里边有一些东西或许会对你有些帮助。
这里边核心的思想就是模块化地形。也就是说,实现预置若干方案,然后抽取后组合,形成实际地形。比如一块地形,我预置3种不同模板,每种模板都会把地形分割一些区域(模板之间不同),每块区域又预置3种不同造型,比如A模板上的左上区域,设计成绿地,绿地可以长树,但树有3中不同长法,右下区域设计成沙地,沙地可以有岩石,岩石也有3中不同摆法。假设每张模板分割出3个区域,每个区域3种变化,那么这张模板实际变化就是3^3=27种,我们做3张模板,那么一块地的生成样式就会有81种。我们只需要设计10快以内的地,就能做出全变万化的效果。然后根据地和地之间的区别,规定哪块地不能和哪块地连接。也可以做成任意组合无限拼接方案,只是会比较费脑子(具体参考无限拼接地板砖的设计)。
这样的动态地形好处有几种。1,能够更好处理过渡,相比之下完全随机更容易出现生硬的过渡。2地形处理简单,无论是新增还是还原,需要记录的数据都会大幅度减少。
回复

使用道具 举报

发表于 2020-12-18 18:16:32 | 显示全部楼层
感谢楼主分享的模板,奈何我太笨根本没看懂,我想问我可以在自己的地图里直接使用这个模板吗,如果可以但有什么要求的话请联系我,这是我的qq号:292428249

点评

随便用,不客气。 这是为了分享和讨论用的模板。  详情 回复 发表于 2021-7-2 21:19
回复

使用道具 举报

 楼主| 发表于 2021-7-2 21:19:41 | 显示全部楼层
基本含义 发表于 2020-12-18 18:16
感谢楼主分享的模板,奈何我太笨根本没看懂,我想问我可以在自己的地图里直接使用这个模板吗,如果可以但有 ...

随便用,不客气。
这是为了分享和讨论用的模板。
回复

使用道具 举报

发表于 2021-7-7 13:13:56 | 显示全部楼层
Nostalie 发表于 2020-10-7 23:30
你可以参考研究一下blz防卫局青蛙和七键用马甲单位做的地形编辑器。

这个公开发布了吗?请问叫什么名字,B站只能看见演示视频
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-4-30 20:28 , Processed in 0.184204 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表