您当前所在位置: > 爆料站 > 君子堂

聊聊用算法生成《率土之滨》的世界地图

时间:2022-04-15 18:19:06  来源:  作者:网络转载
中文世界地图

中文世界地图

大小:5.6M更新:2020-07-16

分类:旅游出行


作者:王鑫然
首发知乎https://zhuanlan.zhihu.com/p/260771031

之前做战争策略游戏的时候,有过让大地图通过算法随机生成的想法,但由于各种原因,想法终没实现。现在刚好有空想想这个问题,做做思路积累。也借着这篇文章,讲讲算法方面的东西。

在传统的SLG战争策略类手游中,玩家要不断地探索大地图,向外扩张领土,击杀野怪和其他玩家,大世界地图上哪个地方是草,哪个地方是山,哪个地方是河流,都是手动一个区域一个区域的调出来的, 在《率土之滨》中同样如此,大地图的布局固定,每个服务器都一样,导致每个服务器大地图上的战略战术也一样。但如果希望每个服务器的大地图战略战术都不同,用算法该怎么去实现这个东西?

算法要实现的东西

固定的位置模块

在《率土之滨》的初始地图中,有10多个区域,这些区域之间存在边界,属于固定区域。区域间通过固定位置的桥梁或关隘进行连接。区域内部有固定坐标的城市、要塞争夺点。再算发生的大地图的过程中,要把这些有固定位置设计需求的元素考虑进去。


区域边缘

如果整张地图用算法进行连续运算,生成地貌,那么在区域的边界处,可能会出现一座面积庞大且连续的、不可通行的大山,而实际上在区域的边界处,我们仅仅需要一条细细的河流来分割区域.


地图模块种类的均衡

《率土之滨》中主要包含两种地图模块,一种是资源型地貌模块,一种是不可通行地貌模块,等级越高的资源模块,其分布越稀疏,数量越少。同等级的几种资源模块之间的数量需要保持地区分布均衡。


玩家获得资源的平衡

如果分布在不同玩家周围的资源数量不同,则会拉开前期发展速度的差距,让一部分玩家输在了起跑线上,所以算法应该保证玩家城市生成坐标附近,同等级的初始资源上的均衡,这包含数量上的均衡,以及距离上的均衡。

玩家的地区密度

一个地区如果玩家的密度过大,势必导致游戏前期,在这个地区内发生的PVP频率过高,玩家在前期没有安全稳定发展的公平环境,导致玩家密度高的地区,在游戏前期的流失率远高于玩家密度低的地区。


地图的生成

地图算法层

地图算法层分为成像层和承载层,成像层用于生成地图的地貌参数,承载层用于生成玩家真实在游戏里看到的地表上的各种物体,承载层内包含有地格层,地表基色层,资源和不可通行层、怪物层等多个算法层。

基本轮廓生成

地图轮廓的生成,用到perlin噪声,perlin噪声的两个重要参数是“振幅”和“频率”,将多个perlin噪声函数叠加起来后,就可以生成一个连续且更加自然的函数图像。


应用在空间直角坐标系后的图像大概是这样。


在一些战争策略类游戏中,大地图可能被设计成整片的海洋,陆地则被设计成孤岛,这个时候可以利用“种子生长”,从一点开始向外展开陆地。

山脉、河流、草地的定义和生成

在《率土之滨》里,地形块以格为单位,分为资源地块(平原)、山脉地块、河流地块,这三种基本地块(其他地块类型自行脑补),通过高度的定义,我们可以将perlin噪声所生成的图像下的地块,定义为这3种类型,如在空间直角坐标系中,我们将Z≥2的称为山脉,0<Z<2称为资源地块,将Z≤0的称为河流地块。以此定于地块。

游戏里为了让玩家对不同地块有更加清晰的认知,通常会用形状相同的素材来表示一类东西,比如山脉的形状都一样,顶多分几个不同的素材来表示山脉,所以真实游戏里生成的大概是这样。


区域的划分

在2维坐标中,在X轴上划定一个区域,就可以规定一个函数图像的范围,在空间直角坐标系中,用一个矩形就可以划定一个区域,无数个形状不同的矩形叠加在一起,则可以划定一个形状不规则的区域,函数的图像则在这个区域内生成


区域边缘的处理

规定区域的边缘为山脉地形块或河流地形块,并从这个地形块开始向外随机延伸地形块,延伸的地形块数值为0到3,对每一个随机值设定一个权重,如果想让地图边界附近有更多的山脉包围,则可以让3的权重更大,如果想让地图边界附近有更多的可通行区域,可以让0的权重更大。数值代表向边界外延伸多少个不可通行的地形块。地形块的类型以边界上的地形为基准进行映射,比如边界是河流的,则附近延伸的地形对应为山脉。


固定点的处理

《率土之滨》里的城市、要塞,属于固定点,这些点周围的区域要保持为可通行的资源地块状态,所以perlin噪声所生成的高低起伏的图像,不应该影响到这里的地形。在空间直角坐标系中,如果要形成一个高低起伏的地形,则先要给矩形网格中的点,随机生成一个单位圆梯度,再用方向向量与网格点的梯度向量做点积,最后对单个矩形四个点进行加权,得到该计算点的数值,使得数值在区域内平缓过渡,从而绘制出噪声图谱,如果不希望一个区域有高低起伏,可以直接控制这个区域内网格点向量的角度。


“回”型区域的识别

在中间是可通行区域,周围是不可通行区域的地形称为“回”字型区域,回字型区域可以偶尔出现,但数量一多,就说明生成的地图是有问题的,回字型区域的数学特点是——中间地块没有路径通向到所有的关键点(关键点可以取关隘),用“广度优先搜索”算法可以表示出路径可通行状态和路径长度。


“桶”型区域的识别

这种地形的数学特点是——中间的点与其相邻的“筒壁”上的点,距离关键点的距离差很大,用“广度优先搜索”算法计算出每一个点距离每一个关隘的距离,根据连续多个点的距离差的大小,可以识别这种地形。


资源地块的分布

如果资源地块的距离过近,就会在某个地方形成资源田的聚集,导致这个区域的PVP压力增大,《率土之滨》的外围州,属于初始区域,这个区域中,玩家要进行前期的发展,需要更加和平稳定的资源采集环境,所以要均衡这些地区的资源分布,可以利用“泊松圆盘”来构建这种分布。


用“米切尔最佳候选”算法,可以近似的构建“泊松圆盘”,这种算法是从一堆候选采样点中选取一个最佳采样点。做法是,第一轮先撒一堆点,这个点称为“已固定采样点”,之后在采样区域内随机生成固定数量的“候选采样点”。在“已固定采样点”和“候选采样点”之间画一条线,线段长度记为M,最终从“候选采样点”中选出一个M值最大的点,作为“最佳候选采样点”。第一轮结束后,“最佳候选采样点”被标记为“已固定采样点”,之后继续下一轮,不断循环,直到充满整个样本地图。


最终选出一堆“已固定采样点”,作为资源分布点,不同等级的资源点则在资源分布点中按照给定比例随机分布。

玩家分布

在《率土之滨》中,玩家的初始城市会占掉地面3*3的格,所以玩家之间初始城市中心坐标的最小地块直线距离是5格(没有半格的概念,中间留一格为了美观)。以任意玩家的城市中心点为中心,直径为5,画一个圆,也就是说,在这个圆内不能出现其他玩家的初始城市坐标。


同时,需保证每名玩家初始城市周围的资源数量保持一定范围内的均衡,在《率土之滨》中,资源地块的数量远远大于玩家的数量,所以可以利用已选出的“资源分布点”,采样出所有临近点之间距离大于等于5的点,作为玩家初始城市坐标的生成样本。


原文:https://zhuanlan.zhihu.com/p/260771031

资源转载网络,如有侵权联系删除。
相关下载

玩家评论

《狩游世界-天天万真充》限时活动(4月18日-4月21日)

《狩游世界(天天万真充)》限时豪礼活动0418-0421活动一、多日累充——活动结束后2个工作日内手动邮件发放,无需申请时间:2022年04月18日-2022年04月21日 活动说明:活动期间,总累计详情>>

阅读: 0
日期: 2022-04-15
《乱世逐鹿》手游终测PV马伯庸担纲世界观

拟真战场兵将双控三国手游《乱世逐鹿》手游将于4月16日开启终极测试,由马伯庸担纲世界观故事,构建一个你从未见过的真实三国。水墨风武将故事主题PV首次曝光详情>>

阅读: 2
日期: 2022-04-14
Theshy遇世界性难题,惨遭打野无限Gank该怎么办,Theshy太无奈了

原标题:Theshy遇世界性难题,惨遭打野无限Gank该怎么办,Theshy太无奈了 当WBG在决胜局当中输给了JDG之后,他们本次春季赛的征程已经全部详情>>

阅读: 0
日期: 2022-04-14
遨游绚丽水世界《战舰世界》野蛮之战主题礼包上架

《战舰世界》野蛮之战主题礼包限时上架特惠商城,章鱼、海鳗和梭鱼阵营的特殊指挥官前来听从您的指挥。水世界大师永久涂装正在热销中,和心爱的舰船一起遨游绚丽的水世界。每详情>>

阅读: 2
日期: 2022-04-13
遨游绚丽水世界  《战舰世界》野蛮之战主题礼包上架

《战舰世界》野蛮之战主题礼包限时上架特惠商城,章鱼、海鳗和梭鱼阵营的特殊指挥官前来听从您的指挥。水世界大师永久涂装正在热销中,和心爱的舰船一起遨游绚丽的水世详情>>

阅读: 2
日期: 2022-04-13
《发芽啦!》一颗种子要散播到世界各地的科普向小游戏

总的来说是一款休闲放松型的小游戏,内容少,流程短,但是画风好看,种子可爱,大家有兴趣可以试试。 详情>>

阅读: 1
日期: 2022-04-12
《JOJO的奇妙冒险》推出專屬世界旅遊指南 JOJO带你环游世界

由荒木飞吕彦创作的漫画作品《JOJO的奇妙冒险》,到现在已经推出了35周年,对于多数粉丝来说已经是非常经典的作品。这次在35周年之详情>>

阅读: 1
日期: 2022-04-12
《旧世界》宣布于5月19日在steam平台发布 首发免费领取拓展包

  《旧世界》是一款历史战略游戏,由《文明6》、《外星贸易公司》首席设计师Soren Johnson打造。今日官方发布公告宣布该作将于5月19日发布。   此外详情>>

阅读: 1
日期: 2022-04-12
鬼蟹称LOL世界观MMO不一定出货:谢幕之作只出精品

  在去年的3月底,拳头官宣正在制作一款基于《英雄联盟》世界观的MMORPG,并专门为此开设了招聘页面。但最近拳头公司著名设计师鬼蟹在其推特表示“不能保证”一定会出货。详情>>

阅读: 3
日期: 2022-04-12
鬼蟹称LOL世界观MMO不一定出货:谢幕之作只出精品

在去年的3月底,拳头官宣正在制作一款基于《英雄联盟》世界观的MMORPG,并专门为此开设了招聘页面。但最近拳头公司著名设计师鬼蟹在其推特表示“不能保证”一定会出货。 鬼蟹详情>>

阅读: 1
日期: 2022-04-12
报!《原神》获SensorTower平台最佳开放世界游戏

原标题:报!《原神》获Sensor Tower平台最佳开放世界游戏 【CNMO新闻】近年来,在疫情的影响下,人们比过去都更依赖于移动设备。CNMO了解详情>>

阅读: 1
日期: 2022-04-11
QQ小世界怎么关闭 qq小世界功能关闭教程

  QQ小世界怎么关闭?qq小世界能推广图片文字视频等内容,但是不少网友们都想关闭小世界,那么下面就给大家带来了qq小世界功能关闭教程,希望能给大家带来帮助详情>>

阅读: 4
日期: 2022-04-07
泰拉瑞亚世界吞噬者怎么召唤 世界吞噬者召唤流程及条件

详情>>

阅读: 1
日期: 2022-04-02
《时空猎人3》世界观详细解析

详情>>

阅读: 1
日期: 2022-04-01
《时空猎人3》世界观详细解析

详情>>

阅读: 1
日期: 2022-04-01
迷你世界中怎样让自己怀孕_迷你世界中如何怎样让自己怀孕_快吧单机游戏

目前游戏中角色是不能进行生育的,只有部分生物可以通过一些食物和自己的配偶进行交配哦;玩家可以去驯服狼变成狗后,使用肉块点击狗,繁殖的时候需要分别点击两只狗,狗的身上会详情>>

阅读: 1
日期: 2022-04-01
《狩游世界-天天万真充》限时活动(4月4日-4月7日)

《狩游世界(天天万真充)》限时豪礼活动0404-0407活动一、多日累充——活动结束后2个工作日内手动邮件发放,无需申请时间:2022年04月04日-2022年04月07日活动说明:活动期间,总累计详情>>

阅读: 1
日期: 2022-03-31
又一位“宁王”?夺得世界冠军后,选手直接跟怀着宝宝的女友分手

原标题:又一位“宁王”?夺得世界冠军后,选手直接跟怀着宝宝的女友分手 引子: 对于宁王,我们都很熟悉。世界赛夺冠之后这位选手经历了几详情>>

阅读: 1
日期: 2022-03-30
《大刀客(无限送充值)》视频分享:将整个庞大的世界交织在一起塑造一个武侠世界

  《大刀客(无限送充值)》是一款架空世界观,以武侠为主题的精品手游,上线即送VIP20和千元真充卡,同时还具备BOSS爆真充,签到详情>>

阅读: 1
日期: 2022-03-29
《王牌竞速》“世界上最危险的公路”318国道来袭

奇迹之旅,圣洁之路,此生必驾,丈量美好!不飙寻常路的休闲赛车手游《王牌竞速》带你云游四海,车行天下,全新赛道“318国道”即将于近期正式登场,发动引擎,跨越高山和湍流,在“此生必驾详情>>

阅读: 1
日期: 2022-03-29
原创世界冠军上单再交手!WBG大战EDG,TheShy抉择是关键

原标题:世界冠军上单再交手!WBG大战EDG,TheShy抉择是关键 北京时间2022年3月29日,英雄联盟LPL春季赛季后赛第二轮第二场将迎来EDG与WBG详情>>

阅读: 1
日期: 2022-03-29
世界冠军上单再交手!WBG大战EDG,TheShy抉择是关键

原标题:世界冠军上单再交手!WBG大战EDG,TheShy抉择是关键 北京时间2022年3月29日,英雄联盟LPL春季赛季后赛第二轮第二场将迎来EDG与WBG详情>>

阅读: 1
日期: 2022-03-29
《战斗吧龙魂-秘境领万充值》必读!世界观震撼来袭!

《战斗吧龙魂》必读!世界观震撼来袭! 龙神”。 是阿斯兰特子民对某些至强存在的尊称。 代表着大陆繁荣昌盛的根本的龙神,拥有着与神明比肩的实力。而详情>>

阅读: 2
日期: 2022-03-27
一个世界冠军打不过五个世界冠军!FPX不敌EDG,遗憾出局

原标题:一个世界冠军打不过五个世界冠军!FPX不敌EDG,遗憾出局 近日,2022LPL春季赛季后赛迎来了EDG与FPX的对决。不过,从这两支队伍在常规详情>>

阅读: 2
日期: 2022-03-27
原创一个世界冠军打不过五个世界冠军!FPX不敌EDG,遗憾出局

原标题:一个世界冠军打不过五个世界冠军!FPX不敌EDG,遗憾出局 近日,2022LPL春季赛季后赛迎来了EDG与FPX的对决。不过,从这两支队伍在常详情>>

阅读: 2
日期: 2022-03-27
托卡世界完整版最新版下载2022 托卡世界桑拿房健身房版本下载

详情>>

阅读: 0
日期: 2022-03-24
新的CG已经出现!塔卫二的异星世界在呼唤

创造世界是每个喜欢科幻的人心中的梦想,亲自为一个星球加上海洋、陆地、沙漠、气候,然后再加入生命和死亡,想象着这场在地球上持续了数十亿年的斗争在一个和我们的世界完全详情>>

阅读: 1
日期: 2022-03-23
《玄中记》手游结合上古传说 打造山海世界观

轩辕十五年,黄帝剑斩魔神,一统天下。不过从魔神的首级之中,溢出了能够吞噬人心的的【魔息】。 详情>>

阅读: 1
日期: 2022-03-21
迷你世界六周年活动入口在哪? 迷你世界六周年活动奖励 迷你世界互助活动 虫虫助手

迷你世界六周年已开启,那么迷你世界六周年活动入口在哪,六周年的活动都有哪些呢,一起来看看吧! ---------------------------------------- 可加入迷详情>>

阅读: 0
日期: 2022-03-18
1822年!世界上首张照片_埃普斯_小时_IBM公司

原标题:1822年!世界上首张照片 1822年,法国的涅普斯在感光材料上制出了世界上第一张照片,但成像不太清晰,而且需要八个小时的曝光。   详情>>

阅读: 2
日期: 2022-03-14
勇者养成记世界BOSS怎么过 世界BOSS打法攻略[多图]

勇者净化之剑汉化版v1.0类型:角色扮演大小:100MB评分:8.3平台:标签:冒险剧情即时战斗动漫改编立即下载 勇者养成记世界BOSS怎么打,相信很多玩家都不清楚,那么具体的通关流程是详情>>

阅读: 2
日期: 2022-03-05
迷你世界二级传送舱怎么合成

  很多玩家小伙伴不是很清楚,迷你世界二级传送舱怎么合成,想要知道的小伙伴们,本期小编就为详情>>

阅读: 2
日期: 2022-03-04
艾尔登法环背景故事介绍 老头环游戏世界观详情

详情>>

阅读: 1
日期: 2022-03-03
HLTV公布最新CSGO世界排名:FaZe升至第四

  IEM卡托维兹2022圆满结束,HLTV公布了本周的最新世界排名。   Top10中最亮眼的无疑是在Spodek竞技场上演决赛的双方。冠军FaZe凭借他们的神奇发挥从第九升至第四,这是大详情>>

阅读: 1
日期: 2022-03-01
原创海外网友热议WBG击败LNG:如果theshy保持,WBG将和T1争世界冠军

原标题:海外网友热议WBG击败LNG:如果theshy保持,WBG将和T1争世界冠军 LPL春季赛WBG以2-1的战绩击败了LNG之后,引发了热议。因为两队都详情>>

阅读: 2
日期: 2022-02-25
曝2K将与乐高合作推出体育游戏首作伴随世界杯发布_作品_系列_的足球

原标题:曝2K将与乐高合作推出体育游戏 首作伴随世界杯发布 曝2K将与乐高合作推出体育游戏 首作伴随世界杯发布 据VGC报道,NBA游戏发详情>>

阅读: 1
日期: 2022-02-23
《地平线 西之绝境》的机械兽在世界各地进行展出

  为了庆祝《地平线 西之绝境》的发售,索尼在全世界 15 个不同的城市摆放了游戏中「机械兽-猛爪兽」的雕像,包含有纽约、旧金山、巴黎、迪拜等城市。  雕像的展出时间将持详情>>

阅读: 2
日期: 2022-02-22
托卡世界全解锁版 托卡世界完整版下载

《托卡世界》是一款有趣的模拟经营手游,你可以在这个游戏世界里自由摸索,随心所欲,发挥你天马行空的想象力。超多的游戏关卡和玩法让你畅快无限体验,还在等什么?快来下载吧! 详情>>

阅读: 1
日期: 2022-02-21
《恶魔秘境》次元浮龙世界观背景故事揭秘

它没有龙鳞、没有龙翼、也没有龙爪,与其说次元浮龙是一头龙,倒不如说它与女神创造的蛇更加相似,不过究竟是谁为详情>>

阅读: 1
日期: 2022-02-21
《恶魔秘境》次元浮龙世界观背景故事分享

《恶魔秘境》次元浮龙世界观背景故事小伙伴们都了解到了吗?次元浮龙来自浩瀚而没有边际的宇宙中的虚空,今天给大家带来了关于它的背景故事解析,一起看下吧。 详情>>

阅读: 3
日期: 2022-02-21
相关手机应用
造

精彩推荐