当前位置:爱看小说网>其他小说>回到2000年做游戏>第九章 迎刃求解

第九章 迎刃求解 (1 / 3)

9 迎刃求解

玩家对网络同步的要求是很高的,单机的时候或者玩家一个人在场景的的时候感觉不到,当很多人的时候,无论行走,战斗,都需要准确无误的看到队友,敌人的位置和运动。

小董讲的这些在那个时代是问题,而且一直是网络游戏的问题,只要人多一定卡,这取决于玩家的计算机图形数据处理能力,网络带宽,网络连接速度(带宽和连接速度是不同的,好比你10的带宽,但是连接到某网站某游戏就是延迟,就是慢),服务器的处理能力,以及各种意外的纠错机制。即使到了今天,网络游戏的制作者依然在努力解决一个最基本的问题:“同步。”

曾启自然明白这个问题的终极解决方案就是无限的计算机处理能力和无限的网络,就是从小物理课上最喜欢说的“理想环境”,然而谁都知道理想环境是并不存在,这需要用有一些技巧处理。

曾启说:“我有几个解决方法,你权衡一下

第一,在城镇地图,减少同步数据包的传输频率,我们人物行走是每秒5格,02秒一格,所以行走数据是02秒传播一次。把02秒改成04秒,这样减少了一倍的数据包,虽然,本来a玩家看b玩家在01格,事实上在02格,这影响并不大。当两个玩家见面的时候,再校对一次坐标,玩家间顶多是看到相互移动了一步,感觉可以接受。

第二,凡是玩家多的地图,数据包的传输范围不再以地图为单位。

曾启也画了一张图示意,比如“原始时代”的这张地图“梦幻花园”是玩家习惯交友的地方,这张图加周围的背景是九个屏幕大小(按照当时网游的分辨率,800600的9个屏幕大小,即24001800)。

这么大的地图,玩家的视野只有800600(通常这样的地图的位置关系会画成1010的小格,横80格,纵60格),玩家停下来不动的时候,看到的只有8060个格子,就算玩家行走,每秒也只能多看5个格子。那么玩家视野看不到的其它玩家数据,是不是没有必要传过来呢”

小董问:“那么你的意思是?”

曾启说:“根据玩家的坐标做一个数据过滤器,玩家在正中心,左右50格,上下40格以外的数据即不发出,也不能收到。反正对玩家也没有影响。”

曾启接着说:“这样处理,有时候会发生一些奇怪的事情,比如看到某玩家飘过,或者走着走着,看到一个玩家如幽灵般出现,如鬼魅般消失,可是相对玩家在地图中卡的半死,你选择哪个?”

几个人同时说:“我选择不卡,我选择顺利的游戏。”

小董说:“那么技术上是要为实际效果上妥协。”

曾启说:“我不认为这叫做妥协,这属于权衡利弊所做的取舍。

(如果有做游戏的新人看到这篇,请相信我说的,权衡利弊,有得有失的缺失,游戏设计和制作是需要偏执精神的,但技术也好,设计也好,都是要为游戏服务的,要让玩家喜欢的,与其炫耀你的技术,不如让玩家开心乐意)

上一章目录下一页