实时多人游戏推动Android更新的最佳方式

时间:2016-09-09 17:44:22

标签: android sockets google-play-services real-time-updates

我目前正在开发一款实时多人游戏自上而下的射击游戏。 多人游戏正在“工作”,我正在努力推动玩家更新,如位置和射击。

我的第一次尝试是使用“appWarp”服务,该服务完美但不是免费的,并且仅在免费版本中提供了大约2百万条消息,我完全填写了大约2周,只有2个设备和2个玩家。 (可能会发送更多更新)

然后我实施了Google Play游戏服务,并尝试使用此功能发送更新:

  • 我可以使用“sendUnreliableMessage”进行位置更新,这比appWarp更快。我使用插值来克服包丢失问题,这可以正常工作。

  • 但问题在于射击。 UnreliableMessages的本质是包丢失,这种情况很多。拍摄4次只会使其中1或2个出现在另一台设备上。这意味着2个包丢失了。使用“sendRealiableMessage”我可以实现大约2-3个包通过,但当然有更高的延迟。这使得在另一台设备上拍摄约1秒后拍摄。

对于快节奏的实时多人游戏,这不是我想要实现的目标。

那么有什么更好的方法呢?我找到了像socket.io这样的基于网络的解决方案,但并不知道哪种解决方案最适合我的需求。

我发现这个网站包含了针对此问题的每个基于Web的解决方案的大清单,但实际上并不知道从哪里开始。

https://www.leggetter.co.uk/real-time-web-technologies-guide/#_hosted-realtime-services

如果有人可以帮我解决这个问题,我真的很感激!。

1 个答案:

答案 0 :(得分:0)

由于您要求提供意见,我建议您尝试Multiplayer in Unity。它是今天的leading game engine,所以你可以期待一个巨大的用户群的巨大支持。

另一种选择是Photon。希望这些建议有所帮助。