百科名片
網頁遊戲設計(webgame design),是需要考慮到數據、伺服器、遊戲構架、人物設定、編程開發、運營和管理等要素的。
設計思路
webgame的設計思路(一) -- 伺服器數量預估
線上人數預估:
在項目設計之前,需要先對運營後的伺服器人數做一下預估,預計激活人數300w,活躍人數40w,同時線上10w。而伺服器的設計極限則在激活人數500w,活躍人數60w,最高同時線上15w。
webgame的設計思路(二)--資料庫表結構劃分
資料庫表設計:
因為要把這么多訪問量分擔到不同的伺服器里,原先的資料庫表設計肯定不會合適。初步的想法是根據遊戲的邏輯模組,將不同模組的資料庫表拆分到各個伺服器里,如果按照上面的伺服器預估得到的結論是4~6組伺服器,實際上這個方案還是可行的。但如果是20組伺服器的話,除非是一台伺服器一張資料庫表,但這的設計會造成數據表太分散,在處理事務的時候,會跨多個資料庫
策略類webgame一般的主要模組為:建築物和資源、軍事、英雄、物品、幫會、交易、地圖。根據這些模組的套用場景,可以將資料庫表分為2種類型,一種是屬於玩家的數據,另外一種是公共數據。
1. 屬於玩家的數據是指玩家個人說擁有的基地、資源、軍事單位、物品等數據,它們都是圍繞著玩家而產生的。
2. 公共數據則是指由多位玩家共同組合而產生的數據,例如:賬戶信息、幫會、地圖等。
這裡劃分兩種數據的目的是在於他們的資料庫表的劃分。對於公共數據,則採用單一伺服器,單一資料庫表處理的方式來處理。例如幫會模組和地圖模組就準備分別用3台伺服器來存儲各自對應的資料庫表。而對於玩家的數據,則根據用戶ID採用一定的劃分方式,將玩家數據打散到各個伺服器里。
webgame的設計思路(三)--地圖模組設計思路
地圖模組:
地圖在傳統策略類webgame里都是以平面的方式展示和存儲的。地圖的移動都是在這個平面上實現。但一般來說,平面地圖的設計容量都會有一個上限,一般來地圖多為400*400,他的人數上限就是16w,實際上伺服器容納3~5w人後,整張地圖就會顯得很擁擠了。如果要想容納幾百萬人線上,平面地圖的尺寸就需要擴容得相當大了,這樣玩家從地圖中間移動到邊緣的時間會相當恐怖,因此平面地圖在這裡不是很合適。因此,地圖不能用平面來構造,必須是立體的方法構造。
webgame的設計思路(四)-- 玩家數據的資料庫設計
資料庫的劃分:
在遊戲裡數據互動最頻繁的還是玩家的數據,他的訪問量是一台伺服器所不能解決的,因此我們考慮將這部分數據分擔到多台伺服器里。分擔的方法還是做水平切割,但這次不使用資料庫自身的切割功能,而是在套用邏輯層上對資料庫進行切割。根據用戶的ID取模後寫入對應的伺服器里。