我有兴趣制作一种完全基于浏览器的多人角色扮演游戏,几乎不需要插件。经过大量研究,我得出了以下计划。我知道这里提到的某些技术并未在所有浏览器中采用(特别是IE),但我暂时愿意接受这一点。
此外,我知道无论如何,MMO都是一个宏伟的目标,但是过去我已经做了很多类似方向的小项目,感觉现在想要好好尝试一下这个。
所以这是一个大致的概述,我很想听听任何人对这个安排可能存在的明显问题的看法:
客户端:WebGL / Javascript(可能使用three.js)。使用浏览器本地存储来保存游戏资产,接受删除浏览器缓存将删除这些资产的事实。
消息传递:使用google protocol buffers编码客户端/服务器之间的消息,以便于使用和减少大小。通过WebSocket进行消息传递。
此外,我知道无论如何,MMO都是一个宏伟的目标,但是过去我已经做了很多类似方向的小项目,感觉现在想要好好尝试一下这个。
所以这是一个大致的概述,我很想听听任何人对这个安排可能存在的明显问题的看法:
客户端:WebGL / Javascript(可能使用three.js)。使用浏览器本地存储来保存游戏资产,接受删除浏览器缓存将删除这些资产的事实。
消息传递:使用google protocol buffers编码客户端/服务器之间的消息,以便于使用和减少大小。通过WebSocket进行消息传递。
游戏服务器: 在Python中使用gevent(处理许多并发的好方法)运行。将使用分片模式构建,基于此处的设计。
数据库服务器: 数据库使用MySQL,PHP用于连接游戏服务器和数据库之间的通信。
细节: 我希望游戏服务器每秒更新一个客户端约15-20次,并使用客户端预测填补空白。客户端可能会以大约30fps的速度向服务器发送按键输入/消息。我更喜欢尽可能接近实时而不是回合制的体验。我的主要担忧是基于TCP的WebSocket协议,这会使整个事情变得不可能吗?
这个解决方案在SO上看起来可行吗?
非常感谢!