2016-08-05 45 views
0

我正在html5畫布中創建一個簡單的遊戲。我使用JavaScript運行它。我想讓它成爲一款多人遊戲。但首先我需要一個數據庫,我可以將每30毫秒運行一次的對象的x和y位置(這是我的遊戲動畫的關鍵幀)。我需要把它保存在一個文件或數據庫中,以便其他玩家可以看到X和其他玩家y位置的更新...我希望你明白我的意思......是否有任何文件可以用作我的遊戲數據庫?

現在我問的數據庫或文件應我用來做這個數據位置更新。可以能夠更新那麼快

+1

如果你想要我的意見你問錯了問題,因爲這需要基於輿論答案的問題是題外話:P –

+0

你是什麼意思?我應該改述我的頭銜還是問題? – Darence30

+0

@ Darence30問題是有很多數據庫可供選擇;因此答案將是一個意見(對數據庫的偏好)。 –

回答

0

對於這樣的情況下,你可能會得到更多的里程,如果你在內存中緩存的位置本地,但然後定期「同步」他們的數據庫。這將需要解決位置衝突的方法(例如,如果您預測的/在客戶端JavaScript上的位置偏離數據庫報告的實際位置),但會使您更有效率(例如,以更快的速度更新例如,當玩家距離玩家較近時,玩家距離較遠時較少)。如果特定的數據庫請求不符合幀速率要求,它還可以讓您更穩定地動畫播放器的動作而不會發生斷線。

至於數據庫本身,有很多的數據庫,以供選擇。但是,如果你不想寫服務器端代碼與數據庫進行交互提供了一個API,那麼你可能感興趣的Firebase,它提供了從客戶端JavaScript(直接訪問,而無需創建自己的數據庫頂部的服務器/ API層)。當然,您還可以使用任何其他數據庫 - Google Cloud Datastore,Google Cloud SQL,MySQL,Cassandra和MongoDB - 並使用您選擇的語言(也可以是JavaScript)編寫適當的API服務器層,以提供訪問底層數據也是一個有效的選項(事實上,如果您已經有或者計劃擁有前端Web服務器,這可能會更有意義)。

+0

謝謝你們的答案先生。我會試着研究你說的firebase鏈接。我只是創造一款遊戲的新手,哈哈。這對我很有幫助.. – Darence30

相關問題