好的,所以我意识到这个问题已经被反复讨论过,因为我已经阅读了无数的 Stack Overflow 线程和网络上的文章。我目前有一个在 VPS 上运行的 TCP 异步 C# .NET 服务器。
我已经让它在多人游戏大厅中运行良好,例如将玩家连接到游戏等等。我的主要问题是游戏开始时,因为它变得非常块状。所以根据我的研究
我在 Interpolation 上发现了一些非常有用的线程,它们引导我了解基本的(差异(Serverpos - Localpos)* Deltatime(服务器更新之间的时间?)* Interpolation Constant)。从某种意义上说,它可以平滑帧速率,但我仍然在服务器更新时间上有短暂的延迟。
但是我的主要问题是我正在使用加速度计来更新每个玩家的位置,但是我的服务器无法接收该数据并像加速度计更新一样快地处理它,这导致它开始搞砸了。
所以今天我尝试简单地将数据发送到服务器,但是我的最大传输时间约为 350 毫秒,这使它不会意外合并消息。
然后我遇到了“航位推算”,它在理论上可行,但是因为理论上你不会跟踪桨的位置是最新的。当球击中对手的桨时会发生什么?您是否会自动将桨板猛拉到位并反转球的位置?
基本上,我认为我已经把自己绕了一个大圈,只是通过理论化不同的方式来做到这一点。我也知道 UDP,但我无法想象 Pong 多人游戏需要我运行 UDP 连接,必须有一种使用 TCP 的方法。
无论如何,谢谢你们给我的任何帮助。我是新手,我认为已经迷失在网络网络中。