網頁游戲設計(Webgame 設計)是一項綜合性的設計工作,涉及數據、服務器、游戲架構、角色設定、編程開發以及運營和管理等多個方面。
設計思路
在線人數預估
在網頁游戲設計之初,需要對未來的服務器承載能力進行預測。通常情況下,預期激活人數為300萬,活躍人數為40萬,同時在線人數為10萬。而服務器的設計極限則應達到激活人數500萬,活躍人數60萬,最高同時在線人數為15萬。
數據庫表結構劃分
為了應對大量的訪問量,原有的數據庫表設計可能不再適用。針對這一問題,有幾種解決方案可供選擇。其中一種方法是根據游戲的不同邏輯模塊,將相應的數據庫表分配到不同的服務器中。例如,當服務器數量估計為4至6個時,這種方案可能是可行的。然而,如果服務器數量增加到20個,那么每個服務器對應一個數據庫表的設計可能會導致數據過于分散,從而影響事務處理效率。策略類網頁游戲中常見的主要模塊包括建筑和資源、軍事、英雄、物品、幫派、交易和地圖。根據這些模塊的特點,可以將數據庫表劃分為兩類:一類是與玩家相關的數據,另一類是公共數據。前者包括玩家個人擁有的基地、資源、軍事單位、物品等數據,后者則涵蓋多個玩家共同參與的信息,如賬號信息、幫派、地圖等。這兩種類型的數據庫表劃分的目的在于提高數據處理的效率。對于公共數據,可以采用單服務器、單數據庫表的處理方式;而對于玩家數據,則可以根據用戶ID將其分布到不同的服務器中。
地圖模塊設計
傳統的策略類網頁游戲的地圖通常是二維平面形式呈現和儲存的。在這種模式下,地圖的移動操作都在同一平面上完成。但是,由于平面地圖的容量有限,一旦超過一定人數限制,整個地圖就會變得非常擁擠。因此,為了支持更多的在線玩家,平面地圖的設計需要大幅擴展,這會導致玩家在地圖上的移動時間顯著增加。為了避免這種情況,地圖的設計應該采用三維立體的形式,而不是簡單的平面。
玩家數據的數據庫設計
在網頁游戲中,玩家數據是最常被訪問的部分。為了確保良好的性能,我們需要將這部分數據分布在多臺服務器上。具體的做法是在應用程序邏輯層上對數據庫進行分割,通過用戶ID的取模運算,將數據分配到指定的服務器中。
參考資料 >
網頁游戲制作-簡書.簡書.2024-11-01
單一世界十萬在線webgame的設計思路(一)-- 服務器數量預估.CSDN博客.2024-11-01
ASP.NET Web Game構架設計2--數據庫設計-王宇 warensof....博客園.2024-11-01