開發基礎:介紹

開發基礎:介紹:

在這章節中我們將使用SmartFoxServer 2X來引導你了解多人遊戲開發基本的概念。從一般的角度來看,所有的多人遊戲和應用程序的運作都非常的相似,不論其不同的風格( (多人動作遊戲, MMORPG, MMORTS, 虛擬世界, 等等)。從本質上來講,它們都包含著客戶端與伺服端,客戶端透過持續的連線(使用TCP 協定)連接到伺服器,由伺服器負責維護遊戲狀態與玩家之間的同步。

在SmartFoxServer 中,我們使用區域(Zone)的概念,來表示伺服器的一部分專用於特定的應用程式。這樣可以允許開發者執行多個不同的遊戲與apps 而不會互相干擾。

你可以將區域想像成同一個HTTP伺服器下的不同的虛擬主機,你可以在適當的隔離下,同時執行多個網頁程式。

 

» 三個基本步驟

一個SFS2X客戶端通常會遵循一些簡單的步驟來啟動與伺服器的溝通:

嘗試與伺服器連線

登入一個可用的區域

發送與接收請求到伺服器的"系統控制器(System Controller)"或是可得的擴展,並且處理伺服器事件。

在本節的SmartFoxServer 文檔會詳細的分析每個階段,並且為每個步驟提供程式碼範例,建議與說明進階選項。

» 伺服器控制器

每次客戶端送出一個請求到伺服端,其實就是在跟伺服器控制器對談。伺服器控制器是負責處理請求與送出使用者更新的服務器。在SFS2X 中,我們有下面兩種主要的控制器:

系統控制器:這是主要的控制器,負責處理所有的常見客戶端請求,像是登入,加入,建立房間,與其他客戶端API中所記載的所有呼叫。換個說法是,這個控制器揭露了所有的公開SFS2X API給連線的使用者。這還包含的了進階的功能,像是Game API 與 Buddu List API。感謝SFS2X提供的權限管理器,你也可以限制特定類型的使用者(訪客,會員, 版主, 等等))只能存取控制器的某些功能。

擴展控制器:這個控制器是專用於處理定向到伺服端擴展的客製化請求。換個說法是,這個服務器會客戶端請求送到你的伺服端程式碼並且傳回事件形式的響應。這個控制器也能夠藉由UDP協定進行連接,能夠為真實時間遊戲提(real-time games)供更快速的更新。(請參考使用UDP協定文件以獲得更多的訊息)。

SFS2X 客戶端API在背景執行中引導客戶端請求到合適的控制器,所以開發者並不需要有特定的行為。

下一篇:開發基礎:連線階段

 
 

  按個讚!~支持本站!~

FB推薦載入中