我在html5画布中创建一个简单的游戏。我用javascript运行它。我希望它成为一款多人游戏。但首先我需要一个数据库,我可以将每30毫秒运行一次的对象的x和y位置放置(这是我的游戏动画的关键帧)。我需要将其保存在文件或数据库中,以便其他玩家可以看到其他玩家的x和y位置更新...我希望你明白我的意思......
现在我问我应该用什么数据库或文件来进行数据位置更新。能够快速更新
答案 0 :(得分:0)
对于这样的场景,如果你在本地缓存内存中的位置,你可能会获得更多里程,但是然后定期"同步"他们与数据库。这将需要解决位置冲突的方法(例如,如果您在客户端JavaScript上预测/拥有的位置偏离数据库报告的实际位置),那么将使您更有效率(例如,以更快的速率更新)例如,当玩家离你的玩家更近时,而当他们远离你的玩家时则更少。它还允许您在特定数据库请求超出帧速率要求的情况下,在没有抖动的情况下更稳定地动画播放器的移动。
至于数据库本身,有很多数据库可供选择。但是,如果您不想编写服务器端代码以提供与数据库交互的API,那么您可能对Firebase感兴趣,它提供了从客户端JavaScript直接访问的权限(没有需要在数据库之上创建自己的服务器/ API层。当然,您还可以使用任何其他数据库 - Google Cloud Datastore,Google Cloud SQL,MySQL,Cassandra,MongoDB - 并使用您选择的语言(也可能是JavaScript)编写适当的API服务器层,以提供对基础数据,作为一个有效的选项(事实上,如果你已经拥有或计划拥有一个前端网络服务器,这可能会更有意义。)