剑侠情缘Online:
再论半秒飘血
作者:
燃情枪圣
2005年04月17日 00:00:00
【我要投稿】
【专区首页】
我在以前的文章里零零散散谈到过半秒飘血,但是论述得不够系统,所以这次想通过这篇文章来比较系统地谈谈半秒飘血。
在剑网里,“半秒飘血”这个概念相当重要,可以毫不夸张的说,半秒飘血值的多少是决定一个职业强弱的最重要因素。
在剑网里,打怪也好,PK也罢,对伤害值的统计都是每半秒进行一次,即“半秒飘血”。我们打怪时,从怪物身上飘起的红色数字就是“每半秒飘血值”;我们PK时,虽然没有从玩家身上飘起的红色数字,但玩家的伤血量也是每半秒统计一次的。
剑网为什么会有半秒飘血的概念?--如果玩家懂一点服务器软件编程的常识对此就容易理解了:服务器不可能以每次攻击为单位对伤害值进行统计,因为那样资源消耗太大;而只能以固定时间对伤害值进行统计。
举个最明了的例子:在攻城战中,几十个人不停地打龙柱,龙柱一般是几十万地掉血,每次掉血都是等时间间隔的(这个无法通过肉眼精确测量)。龙柱飘血几十万,这显然不是某一个玩家的攻击力所能达到的伤害值,而只能是所有玩家在固定时间内对龙柱造成的伤害之和,这个固定时间,其实就是半秒钟。
我们可以想象一下,如果服务器不是以固定时间对伤害值进行统计,而是以单个角色的每次攻击为单位对伤害值进行统计,那么在半秒内,几十个人总共攻击龙柱几十次,服务器岂不是要统计几十次?飘血几十次?--这显然是不可能做到的。
更进一步考虑,网络传输数据在时间上是有滞后的,比如说,A玩家K了B玩家一下,这个小小的动作首先要从A玩家的计算机通过网络传输到服务器,服务器计算完伤害值、受伤动作、攻击属性等数据后,再才能把结果通过网络发往B玩家的计算机,于是,B玩家才在自己的屏幕上看到自己的角色被A玩家K了一下,掉了X血,受伤动作Y帧,冰冻时间Z帧......整个过程都是有时间滞后的,从这个角度来看,服务器也必须对伤害值进行定时统计,而不能是定次统计。定时究竟定多少时间?显然这个时间不能太长(总不可能A玩家K了B玩家以后,过了1分钟,B玩家的屏幕上才得到响应吧?),也不能太短,--前面说了,太短则资源消耗太大,同时网络的滞后也不允许,所以综合考虑,剑网选择以半秒为时间单位,对伤害值进行统计,这就是所谓半秒飘血。
|
|