网络游戏特有的要素之二带宽

来源:互联网 发布:himall2.4完整版源码 编辑:程序博客网 时间:2024/04/30 14:30

接下来我们来看一下网络游戏的另一个特有要素:带宽。

带宽分为两种:其一:频带宽度,信号所包含的各种不同频率成分所占据的范围。其二:网络带宽,网络中可通过的最高数据位数,即每秒多少比特。

计算机存储的最小单位既是bit,1bit就是一位,这一位要么0,要么1。如十进制的5在计算机中存储便是101.

10^3bit/s=1Kbit/s=1Kbps,       10^6bit/s=1Mbit/s=1Mbps,             10^9bit/s=1Gbit/s=1Gbps

1Byte=8bit,So,8Mbps=1MBps=1MB/s.

网络游戏中每分每秒都有大量的数据通信,如果信息量过大,则可能会中断与ISP(网络服务提供商)的通信,就会让玩家经常掉线。这样,会引起玩家的不满情绪。可能会令玩家从此不再玩该游戏。对于游戏商家来说他们会因此失去很多潜在客户,丢失部分现有客户。我以前玩穿越火线时,就经常会掉线。所以我现在就不玩啦!

为此:一般需要将传输量控制在一定的范围之内。

@  C/SMMO的情况下:每人10Kbit/s~100Kbit/s

@  P2PMO的情况下:每人30Kbit/s~300Kbit/s。

带宽成本的估算

在网络游戏的的发行整个预算中,带宽会耗费大量的金钱。所以有必要对其消费量进行估算。在C/SMMO的情况下,对带宽的消费量估算非常简单。

98%的传输量用于玩家和NPC的移动通知。

What is NPC?NPC(Non-Player Character)非玩家控制角色,比如你在游戏中遇见一个商人,要向他买什么宝石。只要对屏幕上的角色每秒移动几次进行估算即可。

在K Online中,1名玩家要与20名敌人作战。游戏画面是由二维平面构成的,所以20个角色的每个坐标可以用4个字节的整数int来表示。

  移动物体的ID:4字节  +X坐标 (4字节) +Y坐标(4字节)+移动方向等附加信息:8字节。总计20个字节。20个角色就是400byte,再加上TCP报文头信息总共440B,由于这些信息每秒发送5次,也就是2.2千字节/秒,也就是17.6KBps。这是1个人进行战斗时所需的平均数据传输量。这些都是从服务器发送给客户端的数据包。反之,从客户端给服务器发送数据包时,由于只有玩家与其互动时,才会发送1次,所以基本上可以忽略不计。

  假如真个游戏中在某个时间段内有3万玩家在线,其中只有一半玩家处于战斗模式,17.6/2*30000=264Mbps。假如1Mps每月需要50元,那么一个月需要13200元,一年需要15万。也是一笔不菲的开支。

带宽减半的方针-首先是调整策划,然后在程序上下工夫

策划的调整:可以考虑让敌人每秒刷新的频率减半,让其每秒前进速度加倍,虽然可能会造成动画效果更差,也应当考虑当时的场景地形。也可以考虑让同时出现的敌人数量减少。出现的批次增加。

在程序上下功夫:可以考虑在玩家三步以内的敌人每次移动时都发送一次相关信息,三步以外的敌人每两次移动发送一次信息,然后据此,可以改变他们的血量等诸多属性。


0 0
原创粉丝点击