gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 10:21:58 26 4
gpt4 key购买 nike

我和一个 friend 正在讨论 FPS 服务器如何更新连接到它的客户端。我们看了video一个人在 Battlefield: Bad Company 2 作弊看到它如何突出屏幕上敌人的位置,这让我们思考。

他的论点是服务器只用与客户端直接相关的信息更新客户端。 IE。如果敌方玩家距离客户端太远或出于效率原因不在客户端的视线范围内,服务器将不会发送有关敌方玩家的信息。但他不确定——他举了一个躲在岩石后面的人的例子,看不到任何人。如果玩家突然出现在他视线内有三个玩家的地方,那么在服务器传输必要的信息时,他们在屏幕上呈现之前会有 50 毫秒的延迟。

我的论点正好相反:服务器将每个玩家的所有信息发送给客户端,并让客户端整理出哪些是允许的,哪些是不允许的。我认为服务器将所有内容发送给客户端并让客户端完成繁重的工作实际上在计算上会更便宜,可以这么说。我还认为这就是作弊程序的工作原理 - 它们拦截服务器数据包,获取敌人的位置,然后在客户端的 View 中显示它们。

所以问题是:现代第一人称射击游戏服务器采用哪些一般策略或策略来保持其客户端更新?

最佳答案

这是你的立场和你 friend 的立场之间的妥协,每场比赛都会对此做出稍微不同的决定,以实现他们想要的权衡。服务器可能会尽量不发送比它需要更多的信息,例如。执行距离检查,但不可避免地会发送一些可以被利用的信息,例如发送岩石后面敌人的位置,原因很简单,因为服务器每次计算准确的视线都太昂贵了,以及也适用于您提到的延迟问题。

通常你会发现 FPS 游戏确实比其他游戏更倾向于“泄漏”更多信息,因为它们更关心流畅的游戏体验,需要更快和更规律的更新率。此外,与 MMO 不同的是,如果 FPS 玩家发现他们的游戏被作弊破坏了,他们通常可以自由地转移到不同的服务器。

一些补充阅读:

  • Multiplayer and Network Programming Forum FAQ @ Gamedev.net
  • Networking for Game Programmers @ GafferOnGames
  • Source Multiplayer Networking @ Valvesoftware.com
  • 关于client-server - FPS 多人游戏的服务器更新其客户端的一般策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2845416/

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