• 沒有找到結果。

第二增量 – 遊戲網路化

第三章 遊戲系統分析與設計

3.2 第二增量 – 遊戲網路化

在完成第一增量的規劃之後,接著規劃第二增量模組-遊戲網路化。在 各種軟體架構中,由於主從式模型是屬於分散式架構(Christensen, 2002),

此種以網路連結的系統可以有效的利用許多分散的處理器來執行,若要加 入一個新的伺服器或是與系統的其他部份整合都非常容易,在升級伺服器 端設備時,也不會影響到系統的其他部份。除此之外,主從式模型在軟體 的架構設計上容易執行,目前許多大型的線上遊戲皆是採用這種架構(曾 華堃,2005),因此本研究決定採用主從式模型作為架構遊戲的方式。

SIMPLE 2.0 在主從式模型的架構下,是以伺服器(server)當作連線 的中心,而其他透過網路連接至伺服器的電腦則稱為客戶(client)。本研 究將依主從式模型將SIMPLE 2.0 的遊戲系統程式與資料庫放在伺服器 中,在遊戲進行期間玩家的各電腦都必須連接至伺服器並以伺服器作為連 線的中心,其架構如圖19所示。

在主從式模型的架構下,伺服器端不會主動發送資料給客戶端,只有 在客戶端對伺服器端發出請求後,伺服器端才會傳送該客戶端所需要的資 料;而當伺服器端未收到客戶端請求時,客戶端與伺服器端之間的連線是 中斷的。因此所有資料的傳送都需要由伺服器端發送,且所有的資料處理 及計算皆在伺服器端。使用這種網路技術的好處是伺服器與客戶端之間不 必經常保持連線,所以可以大幅度減少網路的負荷量;除此之外,因為資 料皆需透過伺服器接收與傳送,所有的資料皆儲存在伺服器端,故資料存 取與管理相當容易。

伺服器端

客戶端 網際網路

客戶端 記錄要求/回應

運算要求/回應 交易和溝通

圖19 SIMPLE 2.0 主從式架構圖

在本文3.1.節中討論到第一增量是用物件導向的方式設計,其中每一 個遊戲角色是由客戶端的電腦執行,且每個遊戲角色即是一個物件,而物 件之間的互動(包括與伺服器互動)則是透過網路來實行。物件要求仲介者 (object request broker, ORB)是一種中間設備元件,它能夠讓在客戶端的物 件送訊息給伺服器端的物件。基本上,ORB會把訊息攔截下來,並處理所 有通訊及協調活動,以便找出訊息中所指的物件,再找出其操作方法,把 適當的資料傳給所指的物件,最後再把結果資料傳回原來產生訊息的物 件。

結合第一增量(遊戲系統之設計)與第二增量(遊戲網路化)的網路 連線架構如圖20所示。當客戶端向伺服器端發出請求時,系統便透過介面 描述語言(interface description language, IDL)以建立客戶端與伺服器端的 IDL存根(stubs),成為在主從式系統中物件間傳送的通道。而介面描述語言 可以定義伺服器端與客戶端的物件類別、物件屬性、物件操作以及利用訊 息啟動物件的方式。由於物件透過網路的要求是發生在遊戲執行期間,因 此需要透過介面貯存庫(interface repository)儲存物件間的資訊,以便客戶 端或是伺服器可以隨時取得適當的資訊。

介面貯存庫 器端,物件接合者(object adapter)會在伺服器的介面貯存庫中儲存類別及物 件資訊,接受並管理由客戶端發送的需求,並執行物件管理的功能。

在完成上述的架構設計之後,本研究以JWS(Java web start)的方式呈 現遊戲。JWS 是在 Java 下執行,它提供一個平台獨立且安全的應用程式封

相關文件