如何为为网络构建的在线游戏建立点对点连接?

时间:2013-08-17 23:53:12

标签: javascript node.js multiplayer webrtc socket.io

过去几个月我一直在研究为网络构建的各种技术,我一直在考虑为网络制作游戏。问题是我不熟悉如何将这些技术用于将两个玩家连接到游戏的特定目的。这个状态下的游戏处于测试阶段,但我一直坚持让两个玩家能够通过URL交换相互连接的部分,比如Google创建的游戏Cube Slam。 Cube slam使用一种方法,其中原始玩家给他们的朋友或对手一个链接,游戏连接两个玩家开始比赛,但我已经查看了频道api,但没有运气找到除谷歌之外的任何好的教程关于api的文档。我认为我必须使用Google的应用引擎。

我的计划就是这样,我希望用户首先将他们的名字放入输入表格,这样他们就会得到一个链接与其他玩家分享,游戏就会开始。问题是我不太确定如何解决这个问题。我有几个问题需要我回答。提前谢谢。

  1. 谷歌如何制作Cube满贯游戏,以便当你与对手玩游戏时游戏开始而不加载新页面?这是通过Ajax完成的吗?
  2. 2.我如何设置与两名玩家的连接?

    1. 使用Googles方法向对手发送网址会更容易吗?或者更容易输入你的名字,点击播放并找到一个随机用户,如果是这样,怎么办呢?

    2. 我已经研究了几种与玩家进行在线互动的方法,例如:

    3. 的NodeJS PeerJS Socket.IO 的WebRTC Google的渠道API

      哪种更适合我的情况?

      1. 任何人都可以给我任何可以完成此任务的示例代码,教程,方法或意识形态。我有一个很好的游戏理念,我只是遗憾地坚持这个方面。
      2. 感谢您的时间和耐心。

1 个答案:

答案 0 :(得分:1)

Cube Slam使用Channel API进行消息传递/信令以及Ajax。 HTML5 Rocks WebRTC article描述了apprtc.appspot.com视频聊天应用的完成方式。

另一种选择,如你所说,是使用像Socket.IO这样的东西。我构建了一个代码库,提供了如何执行此操作的分步说明:bitbucket.org/webrtc/codelab