【发布时间】:2012-09-01 17:04:08
【问题描述】:
我想编写一个游戏,其中许多玩家处于同一级别。假设它只是 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/秒。那么如何才能以较低的带宽使用率在一个关卡中处理这么多玩家呢?
谢谢
【问题讨论】:
-
你真的需要一次更新所有 2^16个玩家吗?还是更新相关子集就足够了?
-
我只是在考虑最多玩家处于一个级别并且每个人都在移动的情况,这不应该导致滞后/崩溃
-
为什么不针对常见情况进行优化,或者这确实是您以合理概率预期的场景?
-
我希望这款游戏能够流行到足以吸引那么多玩家;)
-
我推荐阅读地震源代码。这是网络部分的评论:fabiensanglard.net/quakeSource/quakeSourceNetWork.php
标签: networking network-programming