【发布时间】:2015-04-08 03:02:02
【问题描述】:
我做了一个游戏,大致实现了P2P网络。我目前每 20 秒发送一次数据包。目前我为每个 NPC 发送一个数据包,告诉客户端其当前位置,所以如果我有 20 个 NPC,则每 20 秒发送 20 个数据包。
我的问题是我是否应该每 20 秒发送一个包含所有当前 NPCS 位置的数据包?如果是这样,这个数据包应该有最大大小吗?并且欢迎任何关于游戏点对点网络的资源。
【问题讨论】:
-
很好奇,您甚至使用 P2P 还是这只是服务器-客户端设置?每个客户端是否在此时间范围内向所有其他客户端发送状态?无论哪种方式,我认为您不应该在数据包层上进行操作,让 TCP/IP 来处理。最好尝试尽可能多地打包在一起,并让网络堆栈在必要时将其分解为单独的步伐。一般来说,我建议对现有软件进行一些研究,以帮助您实现一些较低级别的 p2p 功能。
-
我有一个主机,它向客户端发送有关 NPCS、碰撞及其发射的子弹的信息。客户端向主机发送有关其发射的子弹及其位置和速度的信息。也只有两个玩家。
-
明白了。这听起来像是一种服务器-客户端架构,而不是 p2p(点对点),后者是完全不同的动物。您会希望保持有效负载相对较小,特别是如果您每秒发射几个,但测试/分析是确定“正确”数据包大小的唯一方法。我能给您的最佳建议是将每次点击时发送的数据保持在最低限度。如果 NPC 位置比其他一些信息(分数更新等)更重要,那么您会希望它们更频繁地发生。尽可能保存
标签: p2p