游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2170|回复: 1

游戏中的网络延迟如何处理?

[复制链接]

17

主题

59

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2008-11-3 09:39:00 | 显示全部楼层 |阅读模式
我现在的游戏是每隔0.5s发一个移动心跳包,跳跃过程发两个包(起跳和落地),转向过程也发两个包(开始转向和停止转向),每一个包包含发包时间,位置,朝向和动作(向前,向后,转向,跳跃)。我现在的方法是当远程客户端接收到一个包后,就让他一直按照这个包中的运动趋势做运动,比如,如果接到一个向前移动的包,就在下一个包到来之前一直向前移动。但是,当有网络延迟的时候就会产生误差,延迟越大,误差越大。请问各位的游戏中网络延迟是如何处理的?

1

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2008-11-3 15:05:00 | 显示全部楼层

Re:游戏中的网络延迟如何处理?

收发包有带时间(这段时间可直接计算移动距离).计算不会错,只在于玩家的反应与机器计算不同步.这点模糊解决方法--
1.FPS连线的:抽取较正常的延迟客户端玩家取平均值或干脆用定量,等到这时间延迟到服务端再做计算(对于快的客户端)--公平;
而玩家自身的位置与视角可与操作同步,再选时间点收服务数据矫正(以服务数据为准);
2.RPG的:运动接到服务数据再算.怪物的动作请求也要延迟.
一切都可以用惯性来考虑
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 00:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表