双人游戏 - 回合制游戏

时间:2013-09-10 14:53:06

标签: javascript html5 node.js canvas websocket

我在这里陷入困境。

尝试构建一个简单的基于回合的双人游戏,我一直在尝试Node.js和Socket.IO,正如我在一个问题中看到的那样:

Multiplayer JavaScript game built with Node.JS - Separating players

这回答了我的大部分重大问题,但仍然很少。因为我还建立了一个聊天室来测试它,它运行得很好。

然而,将node.js用于那种游戏真的有什么意义吗?可以用HTML5 WebSockets完成吗?

1 个答案:

答案 0 :(得分:9)

  

我用刀子涂抹面包。
  但是,真的有   为此目的使用刀具的意义何在?可以只用它来完成   黄油?

Node.js - 是许多不同用例的应用程序平台,从小型命令行工具开始,以LinkedIn Mobile,MySpace和游戏等大型应用程序结束。 由于这个平台有很多与网络相关的库和工具 - 在这种情况下使用它非常简洁,特别是在JavaScript中编码(对于网络来说哪个更好?)。 Socket.IO - 是利用许多Web传输的特定库,试图在Web浏览器和服务器之间建立可靠的实时双向通信层(在本例中为node.js)。

HTML5 是由浏览器供应商(Chrome,Firefox,IE等)实施的一组技术。像canvas,webgl,音频/视频元素,websockets这样的技术,它依赖于很多东西。对于WebSockets - 他们必须与某些服务器通信。没有任何服务器 - 它们没用。

如果您选择使用node.js作为服务器平台,则几乎没有选项,最常见的选项是使用socket.iopure websockets。 最常见的多人游戏架构尤其是在网络中客户端<>服务器。这意味着至少有一个客户端与之通信的集中式服务器。在这种情况下,服务器将做大多数决​​策和所有游戏逻辑,并仅向客户端发送所需数据以进行渲染 还有另一种选择: p2p(Peer to Peer),可以使用 WebRTC ,但由于大多数常见浏览器缺乏实施,因此尚未准备好进行商业用途。在这种情况下,所有客户都应该限制相同的游戏状态,并通过对游戏会话中所有(大多数)同行的交叉批准来自行决策。
我建议从服务器<>客户端开始,因为它适合大多数情况,并且在许多方面更简单(反之亦然):)。

您还可以使用任何其他服务器端平台,如PHP,.Net,Java,Ruby,Python,C / C ++和其他任何平台。这是一个舒适的问题和访问有用的库,可以帮助您开发。