点对点游戏网络

时间:2015-04-07 18:52:14

标签: p2p

我制作了一款游戏并大致实现了P2P网络。我目前每隔20秒发送一次数据包。目前我正在为每个NPC发送一个数据包告诉客户端当前位置,所以如果我有20个NPC,每20秒发送20个数据包。

我的问题是我应该每隔20秒发送一个包含所有当前NPCS位置的数据包吗?如果是这样,这个数据包的最大大小应该是多少?此外,欢迎游戏对等网络的任何来源。

1 个答案:

答案 0 :(得分:0)

这取决于您使用的协议,UDP或TCP。在游戏中,特别是FPS,UDP往往是所选择的协议,因为它更少" chatty"比TCP。权衡是UDP可能丢失数据包,因为无法保证传输。

考虑到这一点,您应该使用每个数据包发送所有位置数据。这样,如果你在这里或那里丢失一个数据包,游戏可以继续,你将大部分同步。

对于数据包大小,请尽可能小。您肯定希望远离单个更新需要多个数据包,尤其是使用UDP。你的数据集听起来不会很大,但我只是在猜测。