BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dota / #132351同步于 2007/7/14
Dota机器人发帖

【解读】魔兽里的延迟

ui
2007/7/14镜像同步0 回复
操作延迟是一种很常见的现象需要同步的联机游戏都是免不了的(为什么没听说过红警、c&c有延迟的说法?说明我没玩过联机。。。),实际上,魔兽的延迟比较显著,得益于其可自定义程度很高。 一张魔兽地图的运行流程可以分两部分,本身就定义好的,和玩家在其间的操作影响。本身定义好的内容包括很多,比如一个攻击1-100的单位,在一个时刻做出的具体攻击必然是个确定值,这个确定值必然要在不同机器上都是一样的,如果不一致,就会产生不同步,通俗的说叫掉线。实际上,这类貌似随机的数值有魔兽程序的本身伪随机来实现,这个随机种子同时会保存在replay中,而replay的作用是模拟重现;有个很有趣的实验,在游戏过程中通过内存修改英雄的数值、玩家的金钱,在replay中是不会表现出来的,因为这是"规划以外“的,一旦在游戏中将英雄的生命改到负溢出而打不死,replay中仍然是该什么时候死就什么时候死,而必然的由于这种蝴蝶效应,后面的扰动越来越大直到完全replay和实际是两回事了。其实这种差错在正常游戏情况下也是有小概率发生的,看replay多且rp好的人可能会惊讶的发现自己的偶像在某录像中有怪异的表现,而在重放replay时却又一切正常了(这是由replay中的某次扰动所致)。 先说这么多主要是介绍魔兽的运行规程,而重要的地方在于玩家的操作在已定义好的程序流程中的”插入“。在联机的状态下必然要有同步的要求,而实际上,即使是单人,这一要求也是必须的,简单的说,即使在单人游戏也要有延迟的存在。插入的时隙是一系列的离散值。单人、局域网条件下这个最小时隙是25ms,就是说,在这一条件下所有可能的操作延迟均为25毫秒的整数倍。嗯,很好理解吧;主机的延迟往往是最低的,不过即使如此也有平均100ms,而网络条件差的需要更多的时隙来同步该次操作。战网情况下,最小时隙是250ms,就是说即使是主机也会有250ms的操作延迟,实际上由于最小时隙的增大,获得更大的空间进行同步,表现出来就更稳定,可就是”不卡“,付出的代价是可能延迟的程度越高.
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。