我有兴趣将某种多人角色扮演游戏制作为纯粹的基于浏览器的游戏,几乎不需要插件要求。经过大量研究,我得出了以下计划。我知道我在这里引用的一些技术并没有被所有浏览器(特别是 IE)采用,但我暂时愿意接受。
另外——我知道 MMO 在任何情况下都是一个崇高的目标,但是过去在类似的方向上做过很多较小的项目,我觉得我最终想给它一个很好的尝试。
所以这是一个粗略的大纲,我很想听听任何人都可以在这种安排中看到的明显问题:
客户: WebGL / Javascript(可能是three.js)。使用浏览器本地存储来保存游戏资产,接受删除浏览器缓存将删除这些资产。
消息:使用google 协议缓冲区对 客户端/服务器之间的消息进行编码,以方便和减小大小。消息传递将通过 WebSocket。
GAME SERVER:在 python 中 运行在gevent 之上(看起来是处理许多并发的好解决方案)。将使用分片模式构建,基于此处的设计:
DB SERVER: MySQL 用于数据库,PHP 作用于游戏服务器和数据库之间。
细节: 我打算让游戏服务器每秒大约更新单个客户端 15-20 次,并使用客户端预测来填补空白。客户端可以以 30 fps 的速度向服务器发送键输入/消息。我更喜欢尽可能接近实时的体验,而不是回合制。我主要关心的是基于 TCP 的 WebSocket 协议,这会让整个事情变得不可能吗?
这个解决方案对 SO 来说是否现实?
非常感谢,