Networking 游戏实时联网,插值问题
我最近一直在思考如何建立实时、快节奏的游戏网络。看起来,如果插值正确,那么命中率计算是在从玩家2p2s的角度来看,当射手是玩家1p1时,发生在p1.interp+p2.interp+p1.ping/2+p2.ping/2之前的状态上完成的 数据包首先到达接受p1.ping/2的服务器,然后服务器根据p1.interp+p1.ping/2之前发生的游戏状态计算数据包。该计算的结果将被发送到player2,player2稍后只会看到p2.interp。由于这三方处理事情所需的时间,这一数字的总和更大Networking 游戏实时联网,插值问题,networking,real-time,multiplayer,Networking,Real Time,Multiplayer,我最近一直在思考如何建立实时、快节奏的游戏网络。看起来,如果插值正确,那么命中率计算是在从玩家2p2s的角度来看,当射手是玩家1p1时,发生在p1.interp+p2.interp+p1.ping/2+p2.ping/2之前的状态上完成的 数据包首先到达接受p1.ping/2的服务器,然后服务器根据p1.interp+p1.ping/2之前发生的游戏状态计算数据包。该计算的结果将被发送到player2,player2稍后只会看到p2.interp。由于这三方处理事情所需的时间,这一数字的总和更大
player1 server player2
| | |
.------|_1.............actual.....|.....game state......|
| | | ^ |
|intrp |_2 | | |
| | | | |
`----->|_3----ping/2 | | |
`------|_4----ping/2 |
`------5_|-------.
| |
6_| intrp|
| |
7_|<------‘
请原谅我的艺术技能差,但我无法抗拒。
我回到家里,安装了Windows,我看到这里看起来有多糟,但希望你们能明白这一点
假设50毫秒的ping,100毫秒的插值,它给了我们超过250毫秒的总结。这意味着player2在过去大约被player1看到250毫秒,但是,假设客户预测,他会实时看到自己。我的逻辑有缺陷,还是这没什么大不了的?我找到了一个问题的答案。不确定这是否适合作为答案,但我无法评论。我找到了一个问题的答案。不确定这是否适合作为回答,但我无法发表评论。我的问题在某种程度上是基于那篇文章。我的问题在某种程度上是基于那篇文章。我已经尝试解决了这个问题:嗯,我已经试着解决这个问题了