呂振剛
(遼河油田通信公司網絡游戲項目部,遼寧 盤錦 124010)
1992 至1996年,是中國網絡游戲的"史前文明"時期,以《俠客行》為代表的網頁文字網絡游戲開始盛行。這類游戲類似于一個大的交互聊天室,與現在的網絡游戲不同的是它是以文字敘述的形式來體現游戲性。玩家登錄游戲會顯示出某玩家騎著一匹馬飛馳而來等。當時網頁游戲對于網絡速度及計算機配置要求不高,所以也曾風靡全國。
1997年,金山西山居用7個人花費110萬元完成了其第一款角色扮演游戲《劍俠情緣》。該游戲曲折動人的故事情節真正診釋了中國的武俠文化,曾在國內引起巨大轟動。
1998年王建華、鮑岳橋、簡晶創立的聯眾游戲世界在東方網景架設了游戲服務器,免費提供拖拉機、圍棋、跳棋、中國象棋、拱豬共種網絡棋牌游戲的服務。2001年,聯眾游戲以17萬同時在線、2000萬注冊用戶的規模成為當時世界最大的在線游戲網站。網絡游戲開始呈現出巨大的商業機會。
1999年成立了樂斗士工作小組推出了國內最早的簡易圖形MUD游戲《笑傲江湖之精忠報國》。由于民間模擬服務器的出現,使國內的玩家開始真正地接觸到了真正的優秀的圖形網絡游戲。
2000年宇智科通代理的韓國網絡游戲《黑暗之光》開始進入國內。這個很快被市場淘汰的半成品游戲卻打響了韓國網絡游戲進軍中國的第一槍。
2001年底,韓國一款名為《傳奇》的網絡游戲開發商和當時最成功的網絡游戲公司華彩進行合作談判。華彩請來進行測試的玩家表示這游戲不值得運營,于是這款游戲只好轉投他家。后來《傳奇》連同其創始人陳天橋一起在中國家喻戶曉。
2002年到2007年之間,中國的網絡游戲企業已經開始醞釀并完成了海外上市。中國自主研發的網絡游戲表現出強大的生命力,網絡游戲市場中的供求關系呈現出爆發狀態。
網絡游戲備受青睞其中有的兩個很大的原因:其一,網絡游戲有著桌面游戲無法比擬的互動性,玩家可以跟許許多多認識或不認識的網民一起游玩,作任務,從而獲得一種被認同感和自我價值感。其二,網絡游戲的界面往往是一些科幻!絢爛的場景。網民游玩其中,會產生一種夢幻、脫離現實的感覺,能夠大大舒緩工作、生活帶來的壓力。正是由于這種需求,吸引了國內外一大批人員前來研究網絡游戲場景的營建技術。如何營造美輪美奐的游戲場景,提供給玩家良好的互動感和沉浸感,一時成為了熱門話題。
在近幾年間,3D網絡游戲已經成為數字娛樂業界的主流。目前開發3D網絡游戲廣為使用的API開發包有OpenGL和Direct3D,在游戲領域,,OpenGL的重要性不言而喻,作為成熟的技術,它滿足了圖形渲染中從雙面反射到參數曲線和曲面的所有需要。相比之下,Direct3D的技術特點決定了它在3D圖形渲染上的劣勢,但它提供的在網絡游戲的開發上確有強大的優勢。在網絡游戲中,最重要的技術就是室外場景的實時渲染技術。也是游戲編程世界中的熱點技術。同時它在其它領域也有著同樣重要的作用,如GIS系統、飛行模擬系統、VR系統以及數字地球技術等都離不開室外場景的實時渲染技術。一個優秀的室外場景實時渲染技術在保證實時性以外還能創造出非常逼真的!有說服力的虛擬自然環境。
畫面渲染是游戲最主要的工作之一。當模型制作完畢之后,美術設計師會把材質貼圖賦予模型,這相當于為骨骼蒙上皮膚,最后再通過渲染引擎把模型、動畫、光影、特效等所有效果實時計算出來并顯示在屏幕上,畫面渲染技術直接決定著游戲畫面最終的輸出質量。在畫面渲染技術中則主要包括光影效果和動畫系統兩個方面。光影效果,即場景中的光源對處于其中的人和物的影響方式。游戲的光影效果完全是由渲染引擎控制的,折射、反射等基本的光學原理以及動態光源、彩色光源等高級效果都是通過引擎的不同編程技術實現的。其次是動畫,目前游戲所采用的動畫系統可以分為兩種一是骨骼動畫系統,一是模型動畫系統,前者用內置的骨骼帶動物體產生運動,常用于動作類游戲,如網絡格斗游戲,后者則是在模型的基礎上直接進行變形。渲染引擎把這兩種動畫系統預先植入游戲,便于動畫設計師為角色設計豐富的動作造型。
大規模的地形渲染技術一直是圖形學里的熱點問題之一。LOD技術是近幾年游戲開發領域探討的一種概念較新的技術之一,如果將LOD技術運用到游戲開發,基于多邊形渲染的3D引擎性能會翻上幾番。LOD技術研究的核心算法是如何有效的精簡多邊形面。本文介紹一種新LOD算法來提升渲染效果,在加入LOD技術以后,引擎的性能翻了近4倍。LOD也就是層次細節(LevelofDetail)的簡稱,不同于Voxel技術,它是一種使用多邊形的、真正的3D渲染技術。本文只是簡單的介紹一下LOD算法的作用,不做算法的詳細闡述,具體算法描述請參看文獻。
OGRE(Object-OrientedGraphicsRendering Engine,面向對象的圖形渲染引擎)是一款使用C++開發的面向對象的免費開源3D渲染引擎。OGRE的目的是讓開發者能更方便地開發3D應用程序或3D游戲。OGRE對底層圖形API(如Direct3D和OpenGL)的全部使用細節進行了抽象和封裝,并提供了便于使用的基于現實世界對象的接口。
OGRE項目在2001年建立,作者Steve Steeting曾是一個普通的商業軟件開發者。某天他忽然想到,世界需要一個場景結構獨立于場景內容的3D渲染引擎。隨后,他利用10多年在圖形領域的軟件開發經驗,設計了并開發了OGRE。他認為,很多3D引擎在技術上吸引人的同時,卻缺乏緊湊的設計和完善的文檔。另外還有一些3D引擎也只是針對某一特定類型的游戲或應用程序而開發 (如第一人稱射擊游戲,地理場景漫游等)。
OGRE的設計遵循"設計要先于功能"。每一個加入OGRE的新特性,都會經過慎重的考慮,盡可能地完善設計,這意味著所有功能都會完美地融入整個體系。它嚴格遵循質量重于數量的原則和面向對象的設計技術,借鑒在商業領域廣泛使用的設計模式,并融合其它優秀框架等理念,使OGRE持續發展。
OGRE主要的優點包括:(1)跨Windows,Linux,MacOS平臺;(2)同時支持Direct3D和OpenGL兩種圖形 API;(3)簡單、易用的面向對象接口設計更便于使用;(4)良好的設計模式及支持高效的插件體系結構,使得不重新編譯就可擴展引擎的功能;(5)清晰、整潔的設計和全面的文檔支持;(6)開源,免費。
以OGRE為核心的游戲開發平臺體系結構如圖所示。其中,平臺管理器、資源管理器、場景管理器和渲染系統均是OGRE的組成部分。

圖:OGRE平臺體系結構
結束語:網絡游戲的研發是一個龐大而又系統的工程,涉及的技術包括:Windows程序設計、游戲引擎、3D圖形學、物理學、人工智能、網絡編程、腳本、數據庫等。對其中每一項的深入研究都不會很簡單,所以本文只對其中幾個技術進行基本的介紹。為了更深入地研究網絡游戲制作技術的所有方面,在今后的工作中應加強后續工作,如數據庫是網絡游戲中必不可少的,它一般用來對玩家的資料進行持久化保存,應加強這方面的工作。
[1]張文趙子銘主編:P2P網絡技術原理與C++開發案例,北京:人民郵電出版社,2008.08
[2]AndreLaMothe著,李祥瑞陳武譯,3D游戲編程大師技巧,北京:人民郵電出版社,2005.6
[3]蘇羽王媛媛編著,VisualC++網絡游戲建模與實現,北京:北京科海電子出版社,2003.6