单一世界架构初探之世界地图

前端之家收集整理的这篇文章主要介绍了单一世界架构初探之世界地图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

和其他网游不同的是,单一世界具有庞大的地图,比如一个地球,这种情况和导致地图的数据量很大,几个G都是正常的事情。在这种情况下,处理策略有很大的不同。

以魔兽世界为例,所有的客户端和服务端都有相同的地图,这样保证在设计地图的计算时,不需要从服务端得到地图数据,减少数据传输量。在第二人生和激战中,有些不同,本地没有全部的地图。激战在跳跃到新的地方时,需要有个很长的延时,似乎是从服务端读取地图数据。

但是单一世界一个显著特征就是地图庞大,显然不可能完全将地图放在本地。不过我们也应该看到,在单一世界中,本地也没有必要放置全部的地图数据。就像你人在亚洲,欧洲和美洲的地图只要你要去的时候才需要。而且,即使你在亚洲,日本的地图也是你要去的时候才需要。多数情况下,你是从新手村开始,逐步探索各个地方。我的一个策略就是逐步下载。比如你在新手村的时候,我可以通过富裕带宽,帮你下载附近城镇的地图,然后保存在本地。至于不需要的地图,完成可以忽略不记。

以上提到的是世界地图的下载策略。世界地图还有涉及到生成的问题。和下载一样的问题,就是大。我们不可能一下生成全部的地图。世界地图完全可以采取2个策略来生成,一个策略是联邦制,就是由不同的人或者组织生成标准格式的地方来挂接到世界地图中,另外一个策略是逐步生成,因为开始的时候,人一般会比较少,所以生成的地图会比较小。随着人数增多,逐步开发更多的地图,就像魔兽世界这样,逐步开放外域等其他地域。这2个策略没有矛盾,完全可以同时采用。但使用联邦制会涉及到利润分成的问题,还需要商业层面来解决

我曾经有个想法,和魔兽争霸以及CS相似,让用户生成地图,然后挂接到世界地图,但涉及到资源需要审核,不然就乱套了。

原文链接:https://www.f2er.com/javaschema/287804.html

猜你在找的设计模式相关文章