使用WebSockets进行多人HTML5游戏开发。 select什么,Node.js,或棘轮,或其他?

在提出这个问题之前,我做了一些研究,但却找不到具体的答案。 对于WebSockets和游戏开发,我还是一个新手,所以我可能无法很好地解释某些部分,如果是这种情况,请告诉我,这样我就可以更好地解释它。

我目前正在开发一个使用CakePHP的Web应用程序,它将提供几种HTML5多人游戏。 在某些情况下,这些游戏需要将数据发送到数据库。 问题是,我想使用Node.js来实现游戏服务器端的逻辑,但我不知道我是否能够将数据传递到数据库。 我认为最好的方法是将数据从Node.js发送到PHP动作,然后将其存储在数据库中,但我也不知道这是否可能。

我发现这个DNode的东西,但我不知道这是否是我的问题的答案,除此之外,它似乎是在testing版本,我想避免。

作为替代scheme,我想过使用棘轮来实现游戏服务器端的逻辑。 至less我知道我可以使它与我的应用程序进行通信,但由于我无法在游戏开发中find任何参考,所以我不确定这是否是一个好主意。

我不知道任何其他的框架,所以如果我有比这两个更好的select,请告诉我:)

请给我你的意见。 谢谢!

一年前我面临着一个类似的问题,试图开发一个在线多人游戏。 我结束了使用Node.js的服务器和Socket.io的Websockets

如果你是Node.js的新手,我build议你先阅读这个简短的基础教程:

http://www.nodebeginner.org/

我每天都使用node.js,而且我真的觉得它非常有用和高效。 一旦你完成阅读的基本知识阅读这个很好的教程开发多人游戏html5游戏与节点和套接字: http : //smus.com/multiplayer-html5-games-with-node/

最后有一个到开源游戏的链接,可能对你有帮助。

你可以在这里查看socket.io文档: http ://socket.io/

希望它有帮助,所以你可以开始。 这是最难的部分。

你有没有考虑Node.js + Lightstreamer而不是socket.io? 西蒙娜·法比亚诺(Simone Fabiano)最近发布了一个与socket.io (在服务器端生成的消息,发送给4千多个客户端,运行在两台亚马逊EC2机器上) 的Apple-to-Apple数据广播比较,事实certificate它能够比普通的带有socket.io的CPU使用率,数据延迟和带宽消耗的websockets,以及一些其他有用的function来提高整体性能。

具体来说,Lightstreamer可以用于任何多人游戏的好处:另请参阅本文( 通过networking优化多人3D游戏同步 )。 您可以通过一个简单的多人3D世界在线演示,其中Lightstreamer已经集成到实时同步中。 该演示允许您调整场景的每个参数,并模拟任何数据传输风格,同时检查实际的带宽消耗。

基准testing套件和演示的完整源代码在GitHub上免费提供。

[全面披露:我为Lightstreamer工作]