如何为Web构建的在线游戏设置点对点连接?

3
我过去几个月一直在研究不同类型的网络技术,并考虑为网络制作游戏。问题是我不知道如何将这些技术用于连接两个玩家进行游戏。游戏目前处于测试阶段,但我被卡在了让两个玩家通过 URL 交换连接的部分,就像 Google 创建的 Cube Slam 游戏。 Cube Slam 使用一种方法,即原始玩家给他们的朋友或对手提供一个链接,游戏会连接两个玩家开始比赛,但我查阅了 Channel API,除了 Google 的 API 文档外,没有找到任何好的教程。我想我必须使用 Google 的应用引擎。
我的计划是这样的,我希望用户首先在输入表单中输入自己的姓名,然后他们将得到一个链接与其他玩家分享,游戏将开始。问题是我不太确定如何解决这个问题。我有几个问题需要回答。谢谢。
  1. 谷歌是如何实现“Cube Slam”游戏,使得当你与对手玩时游戏不需要加载新页面的?是通过Ajax来完成的吗?

2.我如何建立两个玩家之间的连接?

  1. 使用谷歌发送对手URL的方法是否更容易?还是点击玩按钮并找到一个随机用户更容易?如果更简单,请问应该如何实现?

  2. 我已经看了几种在线交互玩家的方法,例如:

NodeJS PeerJS Socket.IO WebRTC Google的Channel API

其中哪些更适合我的情况?

  1. 有人能给我提供一些示例代码、教程、方法或思路,让我可以完成这个任务吗?我有一个很好的游戏想法,但遗憾的是我卡在了这个方面。

谢谢您的时间和耐心。

1个回答

1

谢谢你向我展示这些文章。这非常有帮助。我会看一下codelab,但是我对其中的一部分感到困惑。当你说“在多个窗口或选项卡中打开文档”时,我会认为用户进入窗口然后看到多个人,但我的游戏需要每个游戏只有两个人。我如何使用Socket.io管理它?我知道你的codelab旨在给我一个解决问题的思路,但我只想一次连接两个玩家。 - Guled
我会学习这些方法并尝试提出解决方案。目前我对Nodejs、Socket.io或WebRTC不是很熟悉。幸运的是,你给我的那个HTML5 rocks链接提供了很多参考资料。谢谢你的帮助。 - Guled
嗨@Somnibyte:通过“multiple”,我真正意思是两个:)。会更正的。codelab示例仅设计用于两个用户。 - Sam Dutton
Sam,非常感谢你的帮助。我使用Nodejs、SocketIO和Express制作了一个游戏。在这里可以找到它:http://www.wordmelee.com 希望你喜欢。 - Guled

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接