首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动网络上的实时多人游戏?

移动网络上的实时多人游戏?
EN

Stack Overflow用户
提问于 2011-05-03 02:39:49
回答 2查看 5.4K关注 0票数 6

我刚刚发现我的手机是在一个对称的udp防火墙后面,这仅仅意味着udp流量是不可能的。我的3g提供商是t-mobile,它是我的国家最大的运营商之一。我怀疑更多的移动3g提供商都有udp的限制。

我计划开发一个实时游戏。udb似乎是快速移动的正确解决方案,但我不能使用udp,因为那样我就失去了灵活性(在任何地方播放,许多地方没有wifi)和大量观众(3g提供商屏蔽了udp)。

umts和3g等移动网络具有高延迟,因此tcp (具有重发丢失的分组和排队)不是理想的解决方案。

有没有别的选择?或者应该放弃在3g上玩实时游戏的想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-29 21:35:04

对于你的游戏逻辑来说,很难在满足延迟的情况下通过网络实现实时(特别是如果你正在制作一款像第一人称射击这样的游戏,你可以在这里阅读到关于克服一些延迟问题的内容:networked physics)。

当谈到移动网络时,那就更难了:当然,你可以让你的生活变得更轻松,只覆盖WIFI连接,但当没有免费的WIFI连接时,你会失去所有想玩3G游戏的用户(或者他们只是坚持使用3G连接,因为他们不知道如何切换到WIFI)。如果你选择覆盖3G,欢迎来到运营商的地狱:没有UDP,没有套接字,没有非标准端口,没有长超时,你好断开连接,你好奇怪的报头和你好奇怪的代理,现在乘以世界上不同的运营商的数量,哇,你涵盖了他们的所有问题。

我不是想吓倒你,只是在你的实现过程中记住这些事情:

  1. 无套接字或非标准端口的使用-由于显而易见的原因,运营商不允许套接字,他们不希望您占用他们的资源,因为在此期间,他们可以为其他付费客户提供服务;)如果您的游戏逻辑允许,请尝试在没有套接字的情况下实现协议。
  2. 与几个远渡重洋的朋友一起测试您的游戏,或者使用可以为您完成的人群测试服务。您可以通过自己的协议校准延迟。
  3. 分发您的服务器将极大地帮助解决延迟问题。
  4. 确保你没有通过网络发送大量数据,要聪明,要温和地使用设备的电池。
  5. 压缩您的数据!

对于完整的披露:我在Skiller工作,我们为Android开发人员(以及其他人)提供多人SDK,并提供免费工具,如社交层,用户管理,创收等。我们看到3G上的多人游戏有很多问题,我们用我们在客户端和服务器端编写的算法来弥补这个问题,以使开发人员的生活更容易。如果你想试试我们:www.skiller-games.com

票数 3
EN

Stack Overflow用户

发布于 2014-09-29 22:09:58

有一些基于云的实时消息传递服务,旨在自适应地工作在许多不同的移动平台上。在游戏中,你经常想要发布/订阅,所以你可能会考虑http://pubnub.com,他们会照顾你的云基础设施,有14个数据中心,提供低延迟。他们的API是游戏的理想之选,具有专门为此而设计的安全和在线状态API。他们有一个新的对象数据同步API测试版,可以减少编码。

我喜欢他们的一个关键原因是因为他们已经在这个行业工作了很多年,所以他们的API已经在大多数全球3G和企业网络上进行了测试。

你可能会看到的其他服务包括pusher.com和realtime.co,以及谷歌的新https://cloud.google.com/pubsub/服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5861009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档