如何在没有互联网访问的情况下创建跨平台多人游戏

Posted

技术标签:

【中文标题】如何在没有互联网访问的情况下创建跨平台多人游戏【英文标题】:How to create a cross-platform multiplayer game without internet access 【发布时间】:2012-08-16 14:09:55 【问题描述】:

我正在开发一款适用于 androidios 的跨平台多人游戏。 我需要在没有主服务器的设备之间创建直接网络连接才能在没有任何互联网访问的情况下进行游戏(例如在地铁中)。

我已经尝试过这种名为“Skies of Glory”的游戏,玩家之间的链接是直接执行的,无需互联网访问。例如电脑游戏,客户端玩家可以在其中一个玩家创建的游戏服务器上查看和连接。

我无法找到能够提供这种网络功能的“免费”游戏框架,因此我尝试找到一种标准化的方式来查看主机服务器并通过无线连接(wifi 或蓝牙)。 iOS 和 Android 是独立的世界,但两个平台都支持大多数网络标准。

那要怎么做呢?

我已经排除了解决方案:

Android 的 WIFI 直连:与 iOS 不兼容,在 4.x 上可用,所以它太有限了。 OSI 的高级协议,因为它假设在同一个托管网络中(因此在城域中是不可能的)

我的线索

将其中一台设备用作路由器,但无需用户操作。 Piconet 技术(如果在两个操作系统上都可用)。

如果有人有其他想法......

感谢您的帮助

【问题讨论】:

【参考方案1】:

在 iOS 上,您可以尝试使用 Bonjour http://en.wikipedia.org/wiki/Bonjour_(software) https://developer.apple.com/technologies/ios/networking.html,但您需要自己编写合理数量的程序来构建您需要的东西。

在 Android 上,如果您能找到合适的现有端口或使用 NDK 自行移植,您或许可以使用 zeroconf http://en.wikipedia.org/wiki/Zero_configuration_networking。

【讨论】:

以上是关于如何在没有互联网访问的情况下创建跨平台多人游戏的主要内容,如果未能解决你的问题,请参考以下文章

《求生之路2》如何增加电脑人数

如何在多人游戏中同步物理?

如何在没有互联网访问的情况下运行颤振应用程序

如何在 Swift 中使用 Firestore 为 2 人多人游戏构建数据?

如何在实时多人游戏 Google Play 游戏服务中向其他参与者发送有关房间创建的数据

如何在没有互联网连接的情况下创建一个新的 laravel 项目? [复制]