gpt4 book ai didi

c++ - 网络游戏?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:19 24 4
gpt4 key购买 nike

我希望我的游戏完全是服务器端的。意思是,客户端只发送他们的击键。然后,他们将从服务器获得更改对象位置的更新。然后,客户端每帧渲染所有内容。

这是一个2D游戏

我在想这样的事情:使用 Box2D 计算中间帧,不要试图预测服务器实际所在的位置。

ServerPos -> ClientPos -> ServerPos -> ...

如果到某个时间我们还没有收到数据包(丢弃或其他东西),那么我们只是在客户端模拟下一帧。这个想法是为了避免服务器总是纠正我们的位置。我们希望客户端填充中间部分,但不要试图预测服务器的位置。

我们希望不惜一切代价避免将玩家朝相反的方向移动,因为客户端过度模拟了,因此我们可以将结果 vector 乘以一个标量,如 0.98,这意味着客户端会比服务器稍微慢一点,这会有所帮助确保顺利过渡到服务器位置。

谢谢

最佳答案

只是一个想法,但我认为您可能忘记了网络延迟。

假设您实际上每秒发送 60 次数据以响应客户端发送的内容。您的最大延迟可以是 1 秒/60 = 17 毫秒。这对于几乎任何互联网连接来说都是一个问题,因为您的应用程序也必然会引入一些延迟。所以...如果你想让这样的东西工作,你必须有一个小的缓冲窗口来捕捉这个延迟。这会让人觉得它的响应速度较慢。

这是有原因的,大多数在线游戏都有一些预测算法,以防连接中断/停顿。

我认为这个想法很好,但在实践中它可能不会那么好。

关于c++ - 网络游戏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4476474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com