

截至2010年底,我國網絡游戲的市場份額已高達327億,成為互聯網行業的重要支柱,任務系統是游戲玩家接觸最頻繁、內容最豐富的網絡游戲系統,本文著重討論了該系統的數據組織方式,對設計制作方法進行了梳理和總結,以提高網絡游戲的制作效率。
一、任務系統簡介
任務系統的核心基礎,是一個基于客戶端/服務器端的應答機制,面向玩家的人機交互系統,并在交互過程中引入多種玩法、玩點,以增強游戲性。任務交互結構由服務器端和客戶端構成,兩者通過外部網絡進行通信。
二、數據形式
任務數據根據應用位置的不同,分別存放在服務器端和客戶端。如圖1所示:
圖1
這樣的劃分主要考慮兩個因素:一是安全性。需要保障參與運算的邏輯類數據的安全性,以防止客戶端被非法破解而造成不良的后果,故這類數據需要存放在服務器端;二是工作效率。為了加強人機交互功能,并減少網絡傳輸的數據量,大部分用于交互的任務數據,存放在客戶端。服務器端只需要指定數據資源的ID,客戶端便能通過ID,查找到對應的資源,并取出來使用。
根據功能作用的不同,任務數據可分為四類:
1.特征標識
它指能夠代表某一任務特征性的參數,為方便服務器和客戶端對任務進行統一的識別和判斷,數據需要一式兩份,分別存放在服務器和客戶端里。
2.條件判斷
它主要參與條件判斷、流程跳轉等任務的相關運算。
3.運算結果
它指在游戲中,玩家角色參與任務系統時,由系統創建針對該玩家角色的個人數據,存放在數據庫內,會根據玩家游戲的過程而產生變化。
4.交互表現
它指游戲與玩家進行交互時,外觀表現所需要的各種文本、美術、音頻、視頻等資源,一般它們都存放在客戶端。
三、初始化配置
通常,初始化配置的工作由非程序人員(策劃或運營)負責處理,故在配置方式、輔助工具方面,應綜合考慮批量化配置時的低使用門檻,符合易用、易查錯等特定需求。任務數據主要采用三種文件配置方式:
1.逗號分隔型取值格式(csv)
csv是一種純文本的數據存儲格式,適合存放具有相同屬性的數據,并可以借助Excel軟件進行編輯。
2.可擴展標記語言(xml)
xml是可擴展標記語言的一種,從標準通用置標語言(SGML)簡化修改而來。游戲制作人員可根據具體設計需要,對xml各項標記所代表的含義進行定義,使計算機能夠“讀懂”xml標記的信息。如圖2所示:
圖2
3.腳本語言(lua)
lua是一種輕量語言,它不僅體積小、啟動速度快,而且容易被擴展,無論游戲產品使用何種語言、基于何種編程平臺,它均適合嵌入。lua處理具體的表和字符串效率非常高,適合配置游戲內大量的數字、文本類型數據;lua用標準C語言編寫并以源代碼形式開放,學習和使用門檻較低,適合非程序人員(如策劃、營運)掌握使用。
參考文獻:
[1]李廣松,陳榮征.基于LUA的網絡游戲腳本設計[J].現代計算機(專業版),2009,(12).
[2]邊強,楊府學.網絡游戲中同步問題的研究[J].電腦知識與技術,2010,(15).
[3]樊建國.網絡游戲服務器通信架構與設計[J].中國新技術新產品,2010,(4).
[4]呂偉偉.一種大規模網絡游戲服務器架構[C].第三屆全國教育游戲與虛擬現實學術會議論文集,2009.
(作者單位:江西旅游商貿職業學院)