翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 2414|回复: 16

[求助] 【求助】随机地图的生成原理是什么?

[复制链接]

117

主题

9

精华

9万

积分

教皇

Wolotine

耕战
17250
鹰币
546150
天龙币
0
回帖
1570

翔鹰建站十周年纪念章小评论家第十二届火箭筒杯最佳新人第十三届火箭筒杯亚军第十三届火箭筒杯亚军赌徒勋章第八届战鹰杯单人赛冠军

附庸关系11
发表于 2017-10-1 17:26:50 | 显示全部楼层 |阅读模式
前几天逛贴吧的时候偶然看见某帖,内容是自己的某局地形跟某超高的某局地形一模一样,我突然想起来今年年中的时候,我和猫眼打了一局阿拉伯单挑(这局录像猫眼发在录像区了),随后我看某主播的录制视频的时候,发现那局火车vsDauT的地图跟我和猫眼那局的地图一模一样!当时首先是因为比较忙,其次是不知道AoCZone,就没办法搞到录像,逐渐就淡忘了这事。不过现在我想起来啦!幸运的是,Zone上的录像很快被我找出来了!对比一下,就发现:



这完完全全就是同一个地图嘛!除了民族不同,我和猫眼那局是匈奴,火车和DauT那局是阿兹特克,不过小马和小鸟的位置都是一样的,当然mm位置也一样。为了图片尺寸尽量小,我选择了1:8的打印地图,感兴趣的坛友可以下载录像来检查确认图片上的细节:

所以随机地图的生成实际上是种子地图吗?如果不是,又是什么原因导致这样的情况呢?请教随机地图领域的前辈们,也欢迎各位有相同经历的坛友留言。

手动@yesgqt

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
回复

使用道具 举报

9

主题

0

精华

1742

积分

侯爵

耕战
275
鹰币
13350
天龙币
0
回帖
360
附庸关系5
发表于 2017-10-1 18:51:31 | 显示全部楼层
可能是分类别的种子吧
地图不是有种子号码吗
回复

使用道具 举报

117

主题

9

精华

9万

积分

教皇

Wolotine

耕战
17250
鹰币
546150
天龙币
0
回帖
1570

翔鹰建站十周年纪念章小评论家第十二届火箭筒杯最佳新人第十三届火箭筒杯亚军第十三届火箭筒杯亚军赌徒勋章第八届战鹰杯单人赛冠军

附庸关系11
 楼主| 发表于 2017-10-1 18:55:11 | 显示全部楼层
杀鸡领主 发表于 2017-10-1 18:51
可能是分类别的种子吧
地图不是有种子号码吗

如果说自带地图是伪随机,也就是种子地图的话,那么玩家自己写的地图又是如何生成呢?
回复

使用道具 举报

53

主题

3

精华

5万

积分

征服者

耕战
9409
鹰币
5926
天龙币
0
回帖
475

翔鹰建站十周年纪念章一级翔鹰勋章雄鹰勋章第三届战鹰杯单人赛冠军识货者第七届火箭筒杯优秀战役第七届火箭筒杯最佳新人

附庸关系0
发表于 2017-10-1 20:40:47 | 显示全部楼层
帝國的都是種子地圖,就是對局時會隨機生成一個地圖種子碼。

点评

cxt
那么玩家自己写的地图哪来的种子呢  发表于 2017-10-1 22:03
回复

使用道具 举报

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6009

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
发表于 2017-10-1 21:13:49 | 显示全部楼层
cxt 发表于 2017-10-1 18:55
如果说自带地图是伪随机,也就是种子地图的话,那么玩家自己写的地图又是如何生成呢?

您不会认为“种子地图”就是已经制作好的地图吧……
004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

117

主题

9

精华

9万

积分

教皇

Wolotine

耕战
17250
鹰币
546150
天龙币
0
回帖
1570

翔鹰建站十周年纪念章小评论家第十二届火箭筒杯最佳新人第十三届火箭筒杯亚军第十三届火箭筒杯亚军赌徒勋章第八届战鹰杯单人赛冠军

附庸关系11
 楼主| 发表于 2017-10-1 22:03:00 | 显示全部楼层
我是谁004 发表于 2017-10-1 21:13
您不会认为“种子地图”就是已经制作好的地图吧……

地图编辑器里生成种子地图,对于同一地图类型(如:阿拉伯)和同一尺寸(如:微型),输入同一种子号(0-10^11-1中的一个),生成的就是完全一样的地图。我的印象中随机地图应该是由随机地图的代码生成的啊,为什么会早就分配到指定种子里了呢,或者说是种子编号的每位数字是有含义的?
玩家自己写的随机地图脚本的话,会不会出现一样的情况呢?所以我很疑惑随机地图到底是怎么生成的,对于玩家自己写的地图,肯定不可能是已经制作好的。
回复

使用道具 举报

132

主题

19

精华

13万

积分

教皇

耕战
24518
鹰币
362044
天龙币
0
回帖
1290

翔鹰建站十周年纪念章一级帝国勋章特级嘉禾勋章特级皇家勋章鹰之智者蛟龙勋章被遗忘的帝国引进功臣第八届雏鹰杯单人赛冠军神鱼勋章

附庸关系2
发表于 2017-10-2 00:30:29 | 显示全部楼层
你可以把一个rms脚本理解为一个生成随机地图的模板,里面只是一些描述性的语句,比如哪些物件距离基地多远之类,一个脚本并不能精确地生成唯一的一张地图,需要有一个随机数作为初始化种子值,配合一个脚本,通过内置的生成算法,具体算出例如每个范围参数究竟该取什么值、每棵树要取若干张树的图像中的哪一个等,从而生成出唯一的一张地图。
换句话讲,如果把生成一张地图的算法看作一个函数,那么函数的参数有两个,一个是rms脚本,另一个就是种子值。内置的阿拉伯等地图,也是普通的rms脚本,在这一点上与自定义的rms脚本没有本质区别。
另附与题无直接关联的补充数据:1.0c版中,一个rms脚本能使用的不同种子值只有32768个(即:一个rms脚本只能生成32768张不同的地图),UserPatch将这一数值扩大到了4,294,967,296 张不同地图。

点评

cxt
明白了  发表于 2017-10-2 11:01
UP前是遊戲生成用32768,玩家指定種子到99999(若將-2到-9999也算就是10W+)  发表于 2017-10-2 04:45
会的不会不说,不会的不会乱说;用数据说话,用引文说话。
yty发布的资源、文章清单与索引
回复

使用道具 举报

454

主题

65

精华

25万

积分

教皇

耕战
42935
鹰币
1441115
天龙币
10
回帖
5687

翔鹰建站十周年大纪念章特级帝国勋章特级翔鹰勋章特级嘉禾勋章一级皇家勋章鹰之智者蛟龙勋章十字军勋章大冒险家狂熊勋章

附庸关系2
发表于 2017-10-2 04:23:26 | 显示全部楼层
完全不明白你為何會從種子編號聯想到它可以涵蓋任何地圖物件組合,最簡單的反例就是一張256X256地圖,XY坐標只按0.1計算,僅一隻單位位置都有6553600種組合了,而種子編號最高4294967296,難道地圖上會只有不足700個單位?



RMS腳本遊戲生成地圖基本次序是先生成地型再產生物件(官方RMS與自訂RMS無任何分別),至於玩家手繪SCX已經完全取締此兩道工序,不再涉及種子編號;唯一例外的是真實世界地圖則是用SCX固定地型後靠RMS產生物件。


種子地圖的編號仍然得按照RMS腳本設成產生地型、物件的規則執行,RMS程序始於一個隨機數,而種子編號簡單來說就是手動輸入這個隨機數。不過,任何電腦程序都不可能有絕對完美隨機算式,遊戲地圖RMS的場合就是實際只有4294967296個組合,故種子編號即這些組合的編號。  





点评

cxt
懂了!  发表于 2017-10-2 11:03
回复

使用道具 举报

142

主题

3

精华

1万

积分

皇帝

耕战
2211
鹰币
709038
天龙币
0
回帖
3877

三级嘉禾勋章翔鹰建站十周年纪念章雏鹰勋章

附庸关系5
发表于 2017-10-2 10:30:58 | 显示全部楼层
我觉得应该就是那种伪随机,种子地图脚本里把地图要素设置好,然后按照一定规则和顺序进行地图生成吧?似乎很多游戏都用了这种地图生成方式,比如暗黑破坏神、Minecraft、Terraria、屎大棒什么的
回复

使用道具 举报

117

主题

9

精华

9万

积分

教皇

Wolotine

耕战
17250
鹰币
546150
天龙币
0
回帖
1570

翔鹰建站十周年纪念章小评论家第十二届火箭筒杯最佳新人第十三届火箭筒杯亚军第十三届火箭筒杯亚军赌徒勋章第八届战鹰杯单人赛冠军

附庸关系11
 楼主| 发表于 2017-10-2 11:05:00 | 显示全部楼层
我平常基本都是玩MR,很少很少玩阿拉伯这张地图,如此巧合的小概率事件竟然也碰上了
回复

使用道具 举报

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6009

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
发表于 2017-10-2 16:58:54 | 显示全部楼层
VicViper 发表于 2017-10-2 10:30
我觉得应该就是那种伪随机,种子地图脚本里把地图要素设置好,然后按照一定规则和顺序进行地图生成吧?似乎 ...

用软件实现的都是伪随机,没有真随机。
004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

117

主题

9

精华

9万

积分

教皇

Wolotine

耕战
17250
鹰币
546150
天龙币
0
回帖
1570

翔鹰建站十周年纪念章小评论家第十二届火箭筒杯最佳新人第十三届火箭筒杯亚军第十三届火箭筒杯亚军赌徒勋章第八届战鹰杯单人赛冠军

附庸关系11
 楼主| 发表于 2017-12-11 10:47:50 | 显示全部楼层
今天一大早就迫不及待地去看了昨晚上沙漠之鹰半决赛Viper vs Max ,第一局,Viper在封建后期被Max前置之后,失去了主金主石,找别的黄金……找……咦??这图??这个图!!这块副金!这片木材!这……!吓得我赶快去翻之前的录像,果然,又是一模一样,这两局录像我都上传过了,详情如下:

左:Viper vs Max 昨天晚上的沙漠之鹰半决赛G1,链接:https://www.hawkaoe.net/bbs/thread-141086-1-1.html

右:cxt vs 小羊 11月29号晚上娱乐局G1,链接:https://www.hawkaoe.net/bbs/thread-141029-1-1.html


4294967296个种子,照理说不会那么容易撞上啊,简直可怕

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
回复

使用道具 举报

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6009

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
发表于 2017-12-11 12:12:59 本帖来自手机 | 显示全部楼层
cxt 发表于 2017-12-11 10:47
今天一大早就迫不及待地去看了昨晚上沙漠之鹰半决赛Viper vs Max ,第一局,Viper在封建后期被Max前置之后 ...

那是因为没撞上就不说了
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-3-29 13:15 , Processed in 0.159614 second(s), 147 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

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