代码之家  ›  专栏  ›  技术社区  ›  Hooray Im Helping codaddict

FPS多人游戏服务器更新客户端的一般策略是什么?

  •  7
  • Hooray Im Helping codaddict  · 技术社区  · 15 年前

    video 一个家伙在偷情 Battlefield: Bad Company 2 看到它在屏幕上突出显示敌人的位置,让我们思考。

    他的论点是服务器只使用与客户机直接相关的信息更新客户机。也就是说,如果敌方玩家离客户端太远,或者出于效率的考虑,服务器不会发送敌方玩家的信息。但他不确定——他举了一个例子,有人躲在石头后面,看不见任何人。如果玩家突然出现在他视线内有三个玩家的地方,在服务器传输必要的信息时,这些玩家在屏幕上呈现之前会有50毫秒的延迟。

    所以问题是:现代第一人称射击服务器采用什么样的一般策略来保持客户端的更新?

    2 回复  |  直到 15 年前
        1
  •  11
  •   Kylotan    15 年前

    这是你和你朋友的立场之间的妥协,每一场比赛都会在这个问题上做出稍微不同的决定,以达到他们想要的平衡。服务器可能会尝试不发送超出需要的信息,例如执行距离检查,但不可避免地会发送一些可以利用的信息,例如发送岩石后面的敌人的位置,这两个原因很简单,一是因为服务器每次计算准确的视线太贵,二是因为您提到的延迟问题。

    通常你会发现,FPS游戏确实比其他游戏更容易“泄露”更多的信息,因为它们更关心的是流畅的游戏体验,需要更快、更规律的更新速度。此外,与MMOs不同的是,FPS玩家如果发现自己的游戏被骗子破坏了,通常可以随意移动到不同的服务器。

        2
  •  3
  •   aioobe    15 年前

    总的方针应该是 不要相信客户 ,即开发人员应该假设任何人都可以从头开始重写客户机。