gpt4 book ai didi

networking - 如何在多人游戏中同步物理?

转载 作者:行者123 更新时间:2023-12-03 23:43:10 25 4
gpt4 key购买 nike

我试图找到最好的方法来做到这一点,考虑到移动(3G 带宽)上的轮流跨平台游戏,带有弹丸和落块。

我想知道一个设备(当前玩家轮次 = 服务器角色)是否可以运行物理并将一些“关键帧”数据(块的位置、方向)发送到另一台设备,这些数据只是从当前状态插入到“关键帧”收到。
使用这种方法,我非常担心需要大量数据来保证其他玩家设备上的相同视觉效果。

另一种方法应该是发送物理数据(力、加速度...)并在另一台设备上运行物理,但恐怕永远不会有相同的结果。

最佳答案

我目前的实现是这样的:

  • 服务器管理物理模拟
  • 在任何对象的任何主要碰撞中,对象的绝对位置、旋转和速度/加速度/力都会发送到每个客户端。
  • 客户端将每个对象及其速度设置在该位置并施加必要的力。
  • 客户端计算延迟并推进物理系统以适应该量的延迟时间。

  • 这对我来说效果很好。我的物理系统运行在数十个子系统( map )上。

    关于我的实现的一些关键事项:

    完全忽略任何未标记为“必要”的对象。例如,响应玩家移动的污垢和灰尘颗粒或响应玩家移动的草和水。基本上非必要的东西。

    顺便说一下,所有这些都是通过UDP发送的。这在 TCP 上将是可怕的。

    关于networking - 如何在多人游戏中同步物理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324283/

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