|
|
"因为服务器刷新频率是固定的,对应的上传一次游戏数据的时间间隔就是固定的,服务器是不会随着你的技能去重置下一次上传游戏数据的时间节点的起点。"
说一点个人的看法。
1、刷新频率实际上就是游戏中的最小时间单位,因为时间是可以无限细分的,但服务器无法无限细分时间,所以必须确定一个最小时间单位(不可拆分)。比如tickrate=50的最小时间单位是0.02秒,也就是说在0.02-0.04秒间的操作全部被认为是在0.04秒发生。对于冷却时间为0.15秒的COC技能,假设tickrate=30,技能实际的最小周期就是0.033*5=0.165秒,如果你的操作在下一个0.033之内完成,那么你的操作被认为发生在0.198秒,否则就会按0.033的倍率增加。
2、你最后的那个图的问题就出在,服务器里根本不存在小于最小时间单位的时间,所以你每次操作的时间以及任何技能cd时间都会被强制与最小时间单位的倍数重合。举例,技能cd=0.15,那么理论频率就是0.165,0.330,0.495……。但这不是最终时间,因为你的操作时间很难做到与技能cd时间完全吻合,此外还有网络延迟问题,所以假设你的击发操作周期是0.168,那么最终的技能周期就是0.196秒,也就是说实际上的伤害产生时间点是0.196,0.392……这样下去的。
3、coc是一种击发技能而非持续技能,也就是说服务器必须接收到操作(确认暴击产生)才能产生结果(释放附带技能),没有操作就不产生结果。
4、这种问题对于rpg游戏的影响是很小的,因为玩家基本感觉不到这种差异。真正对玩家产生直接影响的是FPS游戏,因为射击游戏中的操作全都可以理解为击发技能,tickrate直接影响击中的判定,对于职业玩家而言影响实在太大。所以FPS游戏tickrate直接体现游戏实力,比如守望先锋的tickrate是63HZ,CS:GO竞技模式专用服务器tickrate是128HZ,最小时间单位0.0078秒。当然随之产生的就是数据传输量变大,厂商实力不行的话直接结果就是游戏变卡。可以看下知乎的这篇介绍:https://zhuanlan.zhihu.com/p/26349709?utm_source=com.samsung.android.messaging&utm_medium=social |
|