猿问

游戏开发,界面上其他玩家移动都可以实时看到,这个后端是如何实现的?

如题
网络游戏如何保存用户角色的实时位置并同步?
现在设计一款结合实际地图的游戏
数据库采用mongoDB
数据表中有个位置字段 记录用户当前位置 以便他人获取周边在线玩家时可以获取到
但是用户移动是很频繁的,应该不是用户移动一下就update数据库吧
这里应该如何设计/实现呢?
只求思路!!!
感谢!

神不在的星期二
浏览 635回答 5
5回答

HUX布斯

建议去了解一下:关键字《网络游戏同步方式(帧同步和状态同步)》

饮歌长啸

没做过游戏,讲解一下我的理解,大牛勿喷这种即时性的 游戏内 存数据库 redis 里面不就可以了。这个 存数据库 不用 多即时,大概 1 ~ 2 s 存取一次,根据游戏来判断只要最终一致就可以了至于丢失问题,我个人觉得可能性较小且 丢失了 影响也不是特别大吧

一只斗牛犬

建议看看socket 比如网页游戏使用的是websocket,这个和聊天室是一个原理,一个是广播的单一文字,一个广播的是用户角色等属性一体的数据包,你搜索 websocket 聊天室看看你就明白了

繁花不似锦

这肯定是socket...你那样1 无论如何都不是实时2 服务器压力....

守着一只汪

长连接下,位置数据是广播的
随时随地看视频慕课网APP
我要回答