2014-02-21 80 views
1

我目前正在開發一款多人iOS視頻遊戲,我希望玩家數據存儲在雲端。在遊戲中,玩家通過放置物品,種植樹木等來創建區域,然後其他玩家可以實時訪問和走動。高效的視頻遊戲服務器數據存儲?

從遊戲地圖側需要存儲的是什麼:

  • 50x50的瓷磚格 - 該型瓦(草等)和 高度瓷磚
  • 的所有放置的物品和任何相關項目的具體數據(A例如樹將存儲,當它被種植)

在玩家身邊,我需要存儲的:

  • 個性定製
  • 庫存

的信息需要很少得到公平的讀取(每一個客戶端連接到該地區的時間),但將需要相當定期寫回(每一個項目的時間放置等),以便任何未來連接的客戶端都能讀取正確的數據。

我的問題真的是從哪裏開始關於以有效的方式爲服務器存儲此數據?我考慮過使用幾個XML文件來存儲地圖的不同部分,然後將其他部分(庫存,字符等)存儲在各自的XML文件中。但是,從服務器的角度來看,這是最有效的方式嗎?我想盡量減少客戶端更新時必須寫回的數據量:

回答

0

TL; DR:使用數據庫和Unity插件作爲所述數據庫。

通過服務器管理XML文件只會導致一堆你不應該手動處理的文件鎖定/同步問題(除非,這是你的項目/研究的重點)。

您可以使用大量的數據庫後端,並且Unity可以很好地工作。一些我能想到離手的:

•Parse.com ---他們有一個Unity插件

•編寫自己的基於HTTP的Web服務器(在PHP/MySQL和JavaScript中,紅寶石,無論),然後使用REST界面庫(Unity資源商店中的一堆)與其交談並存儲您的數據。