鍍金池/ 問答/PHP  GO  Unity 3D/ 游戲開發(fā),界面上其他玩家移動都可以實時看到,這個后端是如何實現(xiàn)的?

游戲開發(fā),界面上其他玩家移動都可以實時看到,這個后端是如何實現(xiàn)的?

如題
網(wǎng)絡游戲如何保存用戶角色的實時位置并同步?
現(xiàn)在設(shè)計一款結(jié)合實際地圖的游戲
數(shù)據(jù)庫采用mongoDB
數(shù)據(jù)表中有個位置字段 記錄用戶當前位置 以便他人獲取周邊在線玩家時可以獲取到
但是用戶移動是很頻繁的,應該不是用戶移動一下就update數(shù)據(jù)庫吧
這里應該如何設(shè)計/實現(xiàn)呢?
只求思路?。?!
感謝!

回答
編輯回答
離殤

建議去了解一下:關(guān)鍵字《網(wǎng)絡游戲同步方式(幀同步和狀態(tài)同步)》

2017年10月1日 04:25
編輯回答
枕邊人

建議看看socket 比如網(wǎng)頁游戲使用的是websocket,這個和聊天室是一個原理,一個是廣播的單一文字,一個廣播的是用戶角色等屬性一體的數(shù)據(jù)包,你搜索 websocket 聊天室看看你就明白了

2018年3月6日 23:55
編輯回答
若相惜

沒做過游戲,講解一下我的理解,大牛勿噴
這種即時性的 游戲內(nèi) 存數(shù)據(jù)庫 redis 里面不就可以了。
這個 存數(shù)據(jù)庫 不用 多即時,大概 1 ~ 2 s 存取一次,根據(jù)游戲來判斷
只要最終一致就可以了
至于丟失問題,我個人覺得可能性較小且 丟失了 影響也不是特別大吧

2017年10月5日 21:44
編輯回答
不討喜

這肯定是socket...你那樣
1 無論如何都不是實時
2 服務器壓力....

2018年1月18日 23:17
編輯回答
忘了我

長連接下,位置數(shù)據(jù)是廣播的

2018年6月26日 10:09