2012-08-30 63 views
0

我正在製作基於PHP的RPG遊戲,城市建設遊戲。我的想法是爲城堡佈局創建一個9X9網格,中心3X3是內部城堡,點擊該部分後,他們將看到內部城堡的6X6網格。玩家還可以獲得外網格的瓦片,將它們變成內城堡。每塊瓷磚都可以建造。考慮到可擴展性,在數據庫中表示這個最好的方法是什麼?基於php的遊戲 - 城堡佈局

我到目前爲止唯一的方法是使用(idcastle,Y,X)的3列表,X是18個數字的字符串。我會使用substr來查看該瓷磚上是否有建築物。但是,如果有很多城堡(因爲每座城堡需要18行),我認爲我會遇到可擴展性問題。

+0

RPG標籤用於編程語言。這個問題可能屬於gamedevelopment.stackexchange.com – WarrenT

回答

0

這取決於您如何查詢數據庫。我會建議動態製作你的ID,所以它是 castleid_x_y_z這樣你只是查詢主鍵使它非常快。

加上使用類似redis的東西來處理它,因爲它通常只受網絡速度的限制。如果你有太多的城堡,你只能將人推到第二臺服務器上。你甚至不需要擔心縮放,因爲你不會在一臺服務器上拆分1座城堡。

+0

對不起,你可以更好地滿足castleid_x_y_z部分嗎? – Rockroxx

+0

而不是使用auto_incrementing ID你最好設置自己的,所以如果種姓1在1個x軸,1個y軸和1個z軸上有一個塊,那麼當你查詢數據庫時,它的id就是1_1_1_1知道所有的信息,所以你加入它的應用程序,然後做SELECT * FROM表WHERE id =「1_1_1_1」,你會得到更好的表現,然後在哪裏castleid = 1和x = 1和y = 1和z = 1 – Mike

+0

因此對於一個10X10的網格我有100行? – Rockroxx