gpt4 book ai didi

networking - 如何在多人游戏关卡中处理多个玩家?

转载 作者:行者123 更新时间:2023-12-04 05:33:52 26 4
gpt4 key购买 nike

我想编写一个游戏,其中许多玩家处于同一级别。假设它只是 2D,最多有 65,535 名玩家。将以下数据发送到客户端以获取有关关卡中一名玩家的信息:

8 Bytes - Player ID
8 Bytes - Player X Position
8 Bytes - Player Y Position
8 Bytes - Player Rotation

65,535 名玩家的 32 字节意味着关卡中每个玩家的一次更新需要 2,097,120 字节(约 2 MB)。如果以 30fps 发生这种情况,则需要 60MB/秒。那么我如何才能以较低的带宽使用率在一个级别处理这么多玩家呢?

谢谢

最佳答案

几件事:

1) 一般来说,并不是每个玩家都会同时看到其他玩家。您可以通过仅向一定距离内的玩家发送数据来优化这一点(可能比他们看到的要宽一些,以平滑视野边缘的移动。

2) 仅仅因为您的游戏以 30fps 运行并不意味着它需要从服务器接收 30 次更新/秒。您可以发送频率较低的更新并在其间插入帧。延迟将是可变的,因此您需要已经做一些事情。

3) 你只需要发送改变的信息,所以如果有更新,假设没有变化。也许偶尔(每 5 秒或其他时间)发送完整的可见数据集,无论是否发生更改以解决丢失的数据包,但只有在您开始看到问题时才这样做。

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

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