单一世界架构初探

来源:百度文库 编辑:神马文学网 时间:2024/04/28 02:36:46



如果说,还有什么最令我好奇的是,单一世界架构就是其中之一。我在网络上查了一些资料,但对单一世界真正建立,还是有很多问题需要解决。个人认为,这个架构将会是里程碑式的。我融合现有架构的认识以及一些自己的思考,在下面将逐渐铺开。本来我只准备发表在自己的博客中,但毕竟一个人的认识有限,想到这里专家颇多,所以还是特定发表在这里供大家拍砖。 

我曾经看到过的,和单一世界相关的文章主要是云风的和一个可能是传奇架构的。已经实现的架构,一个是澳洲的《BigWorld》引擎,另外一个是《EVE》。EVE虽然宣称是单一世界,但他有个上限是1.3万。这就没啥意思了。因为网易据说购买了BigWorld引擎做天下贰,所以我感觉云风关于他的论述有一定的可信度,不过我没有直接接触过,这些都是二手资料,只能供自己参考。 

不管怎么说,我感觉单一世界是很重要的课题,我凭自己的经验和思考来探讨这个议题。首先,必须对这个单一世界做一个严格概念上的界定,怎么样才算是单一世界呢?满足2个充要条件:1、所有的在线人员看到的都是同一连续的世界;2、在线人数的限制和机器的数量成正比,这个人数界定允许单一世界的人数无限扩展。界定出这样的世界才有意义。 

现在的魔兽世界弄得全国沸沸扬扬的,而且也是一款最受人关注的巨作,我就拿他来解剖作案例。在魔兽世界有百万在线人数,于是我们就将他暂时评估为 10M在线数,同时有10个区,N多服。每个服之间的货币和角色是无法自由流动的,而在单一世界中,就没有这个限制。当然,副本是不算在内的,副本可以算是另外一个世界,实现要比单一世界简单多了。现在我们探讨下,如果将魔兽世界的全部区和全部服整合在一个单一世界中,会有什么问题呢? 

1、巨大的连接数,我们先限定在10M。不过这也不是单个机器能受得了,还带来巨多玩家信息。 

2、海量的计算。由于海量的人在上面,所以海量的计算是显然的。 

3、庞大的地图。想想看,如果所有的人都挤在荆棘谷或者风暴城会是怎么样的情景呢?显然会把路都堵死了。当然这个最不关我的事情了,真的把路堵死了,估计把开发商都笑咧嘴了。 

4、虚拟世界和真实世界的不同。虚拟世界中在一起打怪的2个人甚至一个团队可能物理上分布在世界的N个角落。不同的延时也是很关键的事情。汗啊,比网络会议难度还猛啊。会是关键性问题么? 

看到这些问题,我们可能一下子会蒙掉了,高难度啊。不过,我们还应该看到,在单一世界中,有一些天然得限制。 

1、你所能看到的世界是局部的,或者说是在某种粒度上是局部的。可以这么理解,你一眼望去,从荆棘谷是看不到幽暗城里面发生了什么。即使从小地图上看,也是一种粗粒度的局部。可能会看到赞加沼泽的概况,却也看不到盘牙水库上面有没有鱼在游动。 

2、世界也是局部的,在风暴城中打个饱嗝,决不会造成天空卫队某个哥们摔下坐骑,更不会有蝴蝶效应,即使有,也可以抹杀。而且,即使世界是连续,完全可以视为局部的连续。 

单一世界的局部性原理是我们实现单一世界的一个核心原理,使得我们有可能根据这个原理构筑更大的世界。