CHATER 1 : 遊戲引擎概述一. 遊戲引擎原理什麼是Middleware?一般來說,Middleware是授權給遊戲研發商製作遊戲的軟體或是系統。
它通常提供一些共通或是特定的功能,因此同一套系統可以用來開發出同類型,但題材不同的遊戲。
Middleware通常以程式庫(Library)或是應用程式設計開發介面(API)的形式出現,有些含程式原始碼(Source Code),有些只提供元件供遊戲程式鏈結(Link)。
Middleware通常會提供遊戲製作的工具如場景編輯器(Level Editor)或是外掛程式(Plugins),讓遊戲的開發更為順利。
自從id Software發表了其顛峰之作”雷神之鎚”(Quake),以全3D的世界及展現方式,徹底改變第一人稱射擊(First Person Shooter;FPS)遊戲的型態之後,新的3D繪圖技術及硬體加速卡接踵而來,讓遊戲研發商忙得不亦樂乎。
例如使用更真實的場景、更精緻的物件模型、真實的燈光表現、即時的燈光照明計算、擬真的動作表現等技術。
業者面對的問題不再是『目前的技術是否能表現出所企劃設計的遊戲』,而必頇開始面對『是否能夠開發遊戲所需的動畫或是繪圖的技術』等問題。
對遊戲研發商來說,若不能即時掌握與應用最新的技術來開發遊戲,將會對未來遊戲的開發,蒙上一層陰影。
理想的狀況是遊戲研發商能很快地使用新穎的動畫或是繪圖技術,讓玩家能體驗到全然不同的感覺;但是要研發團隊一方面掌握技術,以評估遊戲的方案,一方面又要設計好玩的遊戲,這些都需要優質的人才及充裕的時間才可能達到;即使是對財力雄厚、人力豐沛的廠商而言,也是一項不小的負擔,而且可能會增加開發時期的風險。
遊戲的成功關鍵在於玩家要覺得『好玩』,為了全心全力投注在設計更吸引人、更有趣的遊戲上,越來越多的遊戲廠商採用已經成熟的遊戲開發中繼軟體(Middleware)或是所謂的遊戲開發引擎(Game Engine)來加速產品的開發。
商業化的遊戲Middleware源自對FPS遊戲的需求。
自從id Software開發Quake遊戲造成風潮之後,遊戲廠商競相投入開發類似的遊戲。
當市場成熟時,id Software授權Quake引擎給其他的遊戲研發商來開發其他題材的FPS 遊戲,希望能製作出更吸引人,娛樂性更豐富,角色更多元的遊戲。
甚至使用該引擎來開發其他FPS遊戲的Middleware,例如Unreal引擎。
之後所謂的3Quake-like或是Unreal-like遊戲就是以這類型的Middleware來開發的FPS遊戲。
這種方式不但能縮短製作開發的時程,有時候甚至可以製作出比母遊戲更好玩、更賣座的遊戲。
例如目前在國內網咖風行的戰慄時空(Half-Life)就是以Quake II引擎來開發。
近年來,在美、日等國遊戲工業日益精細的分工之下,使得Middleware的市場漸漸成熟。
(一)Middleware的型態Middleware依據其功能主要可分為:即時繪圖(Real-time rendering)為主、開發特定類型遊戲為主(Special-purpose)以及可應用在開發各種不同遊戲為主(General-purpose)的遊戲軟體開發引擎。
1.即時繪圖為主的開發引擎即時繪圖Middleware最主要的功能是處理2D或3D繪圖方面的需求。
常用的OpenGL或是DirectX都算是這類引擎,只是它們還不足以讓遊戲開發者可以很方便地用來開發遊戲。
具備即時繪圖功能的Middleware,所提供的功能包括Rasterization、數學函式庫、座標轉換函式庫、即時照明、物件材質及貼圖描繪處理、場景管理、物件的Culling、物件幾何管理以及音效等。
有些Middleware還提供較高等的3D動畫技術如皮膚與骨骼(Skin and Bone)動畫、Motion Blur、即時陰影顯像、Particle特效系統等。
目前市面上已商業化的即時繪圖Middleware有RenderWare、Genesis3D、Twilight3DGE、Realimation、Geometry Box II、SurRender 3D及Viskit等。
2.開發特定類型為主的開發引擎Special-purpose的Middleware除了有即時互動與繪圖的功能外,還針對特定的遊戲類型提供相關的功能,例如開發FPS遊戲的Quake、Quake II、Quake III、Unreal等Middleware,提供了如特殊光影特效、BSP Tree場景管理、Portal系統、場景Visibility Determination、人物即時動畫、爆破特效等功能。
此外,該類Middleware大多提供如場景編輯器(Level Editor)、動畫編輯器、音樂音效編輯器等工具,以配合遊戲的製作。
專門用來開發像是競速遊戲或是飛行模擬遊戲的Havok及MathEngine等,則提供了處理物理或是力學運動計算、碰撞偵測(Collision Detection)及避碰(Collision Avoidance)、力回饋計算(Force Feedback)等功能。
3.應用在開發各種不同遊戲的開發引擎General-purpose的Middleware提供遊戲開發上最多的功能,號稱可以適用於開發任何型態的遊戲。
有許多遊戲廠商開發的遊戲類型非常多元,因此他們適合採用這類遊戲Middleware,以便同時可開發不同的遊戲。
雖然General-purpose的Middleware有效能較低的疑慮,但是相信在硬體及繪圖技術的提昇之下,效能上的些許缺失將不會對遊戲開發造成困擾。
較有名的Middleware包括NetImmerse、3DGM、Check Six、Serious Sam等。
隨著多人線上遊戲的盛行,專門用來開發線上連線遊戲的Middleware也開始出現。
他們除了提供多人互動及網路連線時的功能,有些還提供收費機制及資料流量的管制等功能。
目前市場上提供相關技術的廠商包括Gamespy 及國內的邦博公司。
遊戲研發商在開發遊戲時,會根據遊戲的企劃腳本來決定要採用何種遊戲技術。
當遊戲廠商決定要開發時下主流的3D遊戲時,就會面臨到遊戲引擎開發的成本是否過大的問題;一個即時的3D遊戲Middleware通常會支援超過20個以上先進的電腦繪圖及動畫功能,若工程師沒有相當的實力,要在遊戲上市之前開發出所需的功能供遊戲製作,是一件相當不容易的事情。
此外,測試與除錯是一個遊戲製作過程中相當重要的一環,常常當機的遊戲會影響到玩家的興致,且會讓人對該廠商的製作能力產生懷疑,可惜的是,一個新的遊戲Middleware通常需要更長的測試及除錯的時間,這些因素都會對開發成本造成影響。
另外,人員的流動、新的硬體平台測試、新的繪圖技術更新、不同平台的移植等,都使得維護自有的遊戲開發Middleware變得困難。
而Middleware的市場,也就在這樣的情形下漸漸開拓起來,因為它的優點就在於提供穩定的遊戲開發平台、最新的動畫或繪圖功能、與遊戲引擎互相搭配的遊戲製作工具等,藉由Middleware的支援,遊戲廠商可以輕易地移植到不同的遊戲平台。
使用Middleware來開發遊戲時,仍有許多的問題尚待克服。
一般的遊戲引擎設計師熱衷於掌握遊戲技術的細節,並享受技術開發的樂趣。
要使用現成的Middleware來開發遊戲,首先必須學習與追蹤別人的程式,如此便容易剝奪他們開發的樂趣。
因此,程式設計師必需先克服這點心理上的障礙。
此外,一般的遊戲Middleware 所提供的功能,都是應用了高階的3D電腦動畫或是電腦繪圖的技術。
遊戲開發者必須具備相當的功力,才能發揮出這些遊戲Middleware的威力。
有些商業的Middleware,不管是系統規格或是使用手冊等文件非常缺乏,不容易學習使用。
有些Middleware只提供開發元件或是程式庫供遊戲程式使用,對於急需程式原始碼(如表一所示)來開發更有效率遊戲的廠商會非常不方便。
Middleware供應商所提供的服務也各家不同,差異極大;服務較好的廠商會在限定時間內回答客戶的問題,服務較差的則可能拖上數個星期,如此增加遊戲開發的不確定性。
摘自~遊戲開發技術發展趨勢分析資策會多媒體實驗室劉振鐸所以可以說遊戲引擎就是一個可以創建出遊戲所需的各種功能的環境。
欲善其事,先利其器。
為了產生超凡絕倫的圖像,必頇使用超凡絕倫的引擎。
在今天的遊戲界,《Unreal》和《雷神之錘III》的引擎可謂“倚天”與“屠龍”,不相上下,誰都有拾掇出一番天外仙境的水平。
相比idsoft的《雷神之錘》系列,《Unreal Championship》在某些地方做得更勝一籌,相信玩過《Unreal Championship 》的玩家必定對它廣闊的室外場景印象深刻,光這一點,就是雷神引擎無法比擬的。
雷神之錘引擎的作品Medal of Honor: Allied Assault Soldier of Fortune 2 Star Wars : Jedi KnightUnreal引擎的作品Unreal Championship Lineage2 駭客任務:The Conspiracy其他優秀引擎Mafia: The City of Lost Heaven No One Lives ForeverINSANITY 2 遊戲引擎LithTech 遊戲引擎二. UNREAL功能與特性優秀的物理碰撞計算系統(Karma Physics Engine)他使你可以很輕易作出剛體碰撞. 水中浮力. 輪胎行走. 骨骼運動. 推力. 彈力…等等效果強大的材質系統(Material)∙複合式材質類型∙高光材質或是完全受光及完全不受光的材質類型∙用alpha channel作出透空材質∙為材質作平移. 旋轉. 擺動…的動畫材質∙階層式方法編輯材質.可讀性很高∙支援自發光材質∙所有材質均可貼在除了地形之外的所有物件Matinee系統. 可輕易作出過場動畫支持PS2. X box. Game cube三大遊樂器, 尤其是Xbox Making Faces(只支援maya)人性化的地形製作強大的粒子系統。