支持: 0 | 反对: 0 | 打印 | 推荐 | 订阅 | 收藏
标题: [技术]如何实现随机的超大地图(摘要: 2007-08-21)
necrocoder
骑士
Rank: 24Rank: 24Rank: 24


UID 41915
精华 1
积分 1498
帖子 68
威望 2
现金 3673 银币
金币 0 金币
阅读权限 50
注册 2007-8-10
来自 天津
状态 离线
发表于 2007-8-22 08:20  资料  个人空间  短消息  QQ


这种搭配似乎可以用一些bit的判断来实现,比如有几个bit代表某种物体,如果取值是3表示房子,那么后面几个bit就表示围墙。;如果取值4表示巨石,那么后面几个bit就表示周围的碎石。

顶部
[广告] 论坛投票锁帖系统(主题帖投票)启用,会员可以控制帖子的关闭与否
FreePlan
准骑士
Rank: 18Rank: 18Rank: 18Rank: 18



UID 54109
精华 0
积分 772
帖子 14
威望 0
现金 2508 银币
金币 0 金币
阅读权限 40
注册 2007-8-19
状态 离线
发表于 2007-8-31 21:13  资料  个人空间  短消息 
回复 #1 necrocoder 的帖子


在玩家移动中动态传输这样的大地图(一部分)也不难,
                 ~~~~~~

请问如何动态传输这样的大地图? 我怎么感觉玩家一多,这个问题解决比较困难呢?

顶部
[广告] 玩游戏已经不算什么啦,来自己做游戏喽!你来他来我也来!
钢七连工作室 (小钢)
勋爵
Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40


UID 120938
精华 5
积分 5344
帖子 104
威望 10
现金 4486 银币
金币 0 金币
阅读权限 60
注册 2008-1-5
来自 钢铁意志
状态 离线
发表于 2008-8-4 18:11  资料  个人空间  短消息  QQ

学习啊!!!!!!!!!!

顶部
[广告] 玩游戏已经不算什么啦,来自己做游戏喽!你来他来我也来!
Q帝国
老兵
Rank: 9Rank: 9



UID 166350
精华 0
积分 224
帖子 1
威望 0
现金 12 银币
金币 0 金币
阅读权限 30
注册 2008-7-30
状态 离线
发表于 2008-8-4 23:35  资料  个人空间  短消息 

楼主说的问题是个很简单的问题,透过现象看本质,楼主的要求也就是两点。
1,也就是对于整个无限的地图来说,道路,房屋这些第一次要求随机生成,但是生成之后就不能随机了,也就是是后面要求虽然随机,但是种子值不变。
2,对于当前地图来说,其实并是随机的。而是根据当前区域来说,按长方形,取4个坐标点,可以根据4个点得到无限地图当前区域的状况。
那么,我们需要两个函数就够了
第一个函数用于根据种子值组生成随机地图,种子值组不变,函数结果不变。
我们再说第二个函数,同样第二个函数,有4个参数,根据这4个参数,去获取第一个函数值的某一段值。
然后服务器和客户端就只需要有同样的函数和传输同一个初始种子值组和坐标点,那么临时生成的地图是一致的。
当然,这只是理论,现实是有问题的。
为了地图合情合理,地图必然要有判断,但是,为了使函数值唯一,判断必须有一个初始点,比如从坐标0,0开始,那么无限的地图,判断必然是无限的,也就是说,理论上,是得不到函数值的。而且,越远离0,0坐标点的地图,判断越多,以至于不可能完成。那么,我们可以想到这样一个方法,合并2个函数,对于第一个函数,除了初始种子值组,我们可以同样加入4个参数,对应第二个函数的4个函数参数,函数的结果同样唯一,但是,因为有了4个坐标点,我们可以这么想,根据这4个点,计算出路和山的连接处,假设我们从0,0画一条30度斜线的路,现在随便找个区域位于比如1000,1000,2000,2000,那么路在当前区域的进口是300,1000。同样也可以算出出口坐标600,2000。
呵呵,也就说,我们需要一个函数就够了,只要传输4个坐标点,这个函数就能很好的计算出随机地图来,而且能够把路,山等等很好的衔接起来。
且慢。我刚才举的是个很简单的路,如果路,山要求很复杂呢?
是的,这就是判断和数学公式的矛盾,判读,可以做很复杂的逻辑思维,但是越复杂,计算量也很大,无限大的判断也就是无法完成的了,那么我们就能指定公式来,可以根据函数种子做出无限的结果来。可是,最简单公式也就是三角函数来,直线去直线来了,这个就靠几何知识了。

这里,我们又要说另外个问题了,区域地图的重复,无论真伪随机数,在无限区域里,也就不是随机了,比如0-9随机填充到1000个空间里,那么这1000个空间里,必然存在大量重复的数字,如果说0-9是我们的区域地图,1000个空间相当于无限地图,那么,区域地图是高度重复的。你肯定想到了,我生成一个0-10000的随机数去填充啊,对,当我们0-无限大去填充0-无限大的空间,的确很随机了。
这里回到我们前面的问题,几何函数到复杂度决定了区域的重复可能性,但是,必定不会存在一个这么一个几何函数,使得结果没有任何规律,因为没有规律的图形是不能用函数描述的,也就是我们不能用0-无限大的数字去填充0-无限大的空间。

所以说到最后,所谓无限地图只是一个理论的幻想,因为现实就是这么奇妙,这就好比微观世界的量子,在某一时刻,他是随机的,但是他又是有规律的。你你可以用测不准原理来描述,但不能用一个很精确的公式来描述这些粒子,同样你也不能用一个很精确的公式来做你的无限地图。

第一次发贴,一向喜欢潜水,欢迎交流

顶部
[广告] web棋牌市 6.16内测开启
laoyu2003
骑士
Rank: 24Rank: 24Rank: 24



UID 75249
精华 0
积分 2482
帖子 17
威望 0
现金 3408 银币
金币 0 金币
阅读权限 50
注册 2007-8-24
状态 离线
发表于 2008-8-5 00:52  资料  个人空间  短消息 

fractal......................

顶部
[广告] 把自己写进最经典的角色扮演游戏中去,这就是同人版魔法门7!(第二版)
ot512
勋爵
Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40


UID 40078
精华 1
积分 3650
帖子 199
威望 2
现金 4823 银币
金币 0 金币
阅读权限 60
注册 2007-8-3
状态 离线
发表于 2008-8-5 20:29  资料  个人空间  短消息  QQ

这个世界上根本就没有食神,或者每个人都是食神.





公元184年,张角相约信众在3月5日以“苍天已死,黄天当立,岁在甲子,天下大吉”为口号兴兵反汉;
“苍天”是指东汉,"黄天"指的就是太平道,根据五德始终说的推测,汉为火德,火生土,而土为黄色,
所以众信徒都头绑黄巾为记号,象征要取代腐败的东汉.
三国的故事由此开篇:
http://61.161.125.7/tc
顶部
 



当前时区 GMT+8, 现在时间是 2008-12-3 07:06
沪ICP备06036464号

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 Licensed  © 2001-2007 Comsenz Inc.
Processed in 0.034076 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - Chinese Webgame BBS 中国网页游戏论坛 - Archiver - WAP