浏览器多人网络策略 - 这看起来像一个可行的解决方案吗?

时间:2011-10-26 08:46:30

标签: javascript python webgl multiplayer gevent

我有兴趣制作某种多人游戏RPG作为纯粹基于浏览器的游戏,很少或没有插件要求。经过相当多的研究后,我得出了以下计划。我知道我所引用的一些技术并未在所有浏览器(特别是IE)中采用,但我愿意接受这一点。

另外 - 我知道MMO是一个崇高的目标,无论如何都要努力,但过去在类似的方向做了很多小项目,我觉得我想给这个很好的去最后。

所以这是一个粗略的轮廓,我很想听到任何人都可以在这种安排中看到的明显问题:

客户端: WebGL / Javascript(可能是three.js)。使用浏览器本地存储来保存游戏资产,接受删除浏览器缓存将删除这些。

信息: 使用google protocol buffers在客户端/服务器之间编码消息,以方便和减小大小。消息传递将通过WebSocket。

GAME SERVER: 在python中运行在gevent之上(看起来是处理许多并发的好方法)。将使用基于设计here:

的分片模式构建

DB SERVER: MySQL用于数据库,PHP在游戏服务器和数据库之间起作用。

详情: 我打算让游戏服务器每秒大约更新个人客户端15-20次,并使用客户端预测来填补空白。客户端可以在30 fps的范围内向服务器发送密钥输入/消息。我宁愿选择尽可能接近实时的体验,而不是回合制。我主要担心的是基于TCP的WebSocket协议,这会使整个事情变得不可能吗?

这个解决方案对SO来说是否真实?

非常感谢,

1 个答案:

答案 0 :(得分:1)

您通常使用localStorage API获得5MB的空间。如果你真的有一个带有声音/音乐的3D游戏,你的资产很快就会被吃掉(这些天好的mp3有多大?)。你需要在压缩资产时非常积极,并且很可能必须提出一种在游戏运行时将内容流入和流出本地存储的机制。

我会问你为什么在游戏服务器和数据库之间需要PHP。游戏服务器不能直接与数据库对话并为您节省一些工作吗?

祝你的项目好运。