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

bha*_*ing 6 javascript python multiplayer webgl gevent

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

另外 - 我知道MMO在任何情况下都是一个崇高的目标,但过去在类似的方向上完成了很多小项目,我觉得我最终想要给它一个非常好的目标.

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

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

消息: 使用谷歌协议缓冲区在客户端/服务器之间编码消息,以方便和减小尺寸.消息传递将通过WebSocket.

游戏服务器:在python中 运行gevent(看起来是处理许多并发的好方法).将使用分片模式构建,基于此处的设计:

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

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

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

非常感谢,

dan*_*nbo 1

您通常可以通过 localStorage API 获得 5MB 的空间。如果您确实有一款带有声音/音乐的 3D 游戏,那么您的资产很快就会被消耗殆尽(现在的优质 mp3 有多大?)。您需要非常积极地压缩资源,并且很可能必须想出一种机制,在游戏运行时将内容传入和传出本地存储。

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

祝你的项目好运。