实时多人在线游戏研究(同步和延迟)

本文讨论实时多人在线游戏的服务器和客户端技术。

实时多人在线游戏主要包括2类,FPS(quake系列,UT系列,CF等),ACT(DNF,龙之谷这类)

 

其共同特点是需要用户操作尽快的得到体现。并且所有客户端的结果要一致。

同一世界玩家数量较少(这是有原因的,下面讨论),有较真实的物理效果模拟。

 

通用的C/S做法:

A. 客户端采样输入数据->Server处理数据->分发结果。

其他不可靠的实现方法:

B.客户端采样计算动作结果->通知server(校验)->分发结果

或者p2p         ->>>>>>>>>>分发到其他client

 

这里输入数据就是用户的操作,比如开火/技能,移动这些。

 

A.做法所有数据在服务器上面处理,因为客户端不可能直接修改服务器数据,所以数据是可信的(利用bug除外)

由于数据在服务器处理,所以结果一定会有延迟(传输时间)

B.做法的不可靠在于数据的处理是由客户端进行,由于客户端hack可能具有很大的作弊空间(DNF/洛奇全屏秒怪什么的)。加上server端校验可以一定程度上减少作弊。

好处是所有结果本地立即获得,客户端体验很好。

另外在客户端相互作用时,因为延迟的关系,可能会有很奇怪的同步效果(跑跑卡丁车被影子撞飞)。

 

下面只讨论A的实现

===============

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值