游戲引擎大比拼_第1頁
游戲引擎大比拼_第2頁
游戲引擎大比拼_第3頁
游戲引擎大比拼_第4頁
游戲引擎大比拼_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第1章游戲引擎大比拼第1章游戲引擎大比拼PAGEPAGE28PAGEPAGE29第1章游戲引擎大比拼

不論男女老少,很多人在初次使用計算機、iPad、iPhone、oPhone接觸互聯(lián)網(wǎng)時,都會不約而同地選擇“打游戲”。國內(nèi)第一款網(wǎng)絡游戲是《萬王之王》,2000千禧之年在國內(nèi)公開面市,隨后開創(chuàng)了一種劃時代的全新娛樂方式。其實,這款網(wǎng)絡游戲當時僅僅由兩個人完成,一個是“萬王之父”Ruby,另一個是“萬王之母”O(jiān)nyx。這對夫妻在1998年12月完成了圖形版《萬王之王》的雛形,并在臺灣省展開了Alpha版測試。游戲的主題是自建國家(公會),然后互相攻伐,在網(wǎng)絡世界中體驗氣勢恢宏的萬人國家戰(zhàn)爭。在技術層面,主要是完成了由“文字+指令”組成的MUD(泥巴)游戲向2D網(wǎng)絡圖形化游戲的全面跨越。2001年3月,《萬王之王》達到巔峰,獲得年度全國軟件行業(yè)協(xié)會評比網(wǎng)絡游戲第一名、中國第一屆網(wǎng)絡游戲評選之最佳網(wǎng)絡游戲等殊榮。2001年底,雷爵公司正式宣布為《萬王之王》的后續(xù)大作《萬王之王2》立項,并著手進行研發(fā)。但是,《萬王之王2》自研發(fā)之日起就命運多舛。原因之一是《萬王之王2》的游戲引擎技術暴露出很多問題。與此同時,整個網(wǎng)絡游戲行業(yè)的游戲引擎技術在2002-2003年期間發(fā)生了一次質的飛躍。因此,《萬王之王2》的游戲視覺表現(xiàn)與很多采用新引擎所研發(fā)的網(wǎng)絡游戲出現(xiàn)越來越大的差距。到2003年初的時候,雷爵公司不得不將已經(jīng)完成了40%的《萬王之王2》回爐重制,由此產(chǎn)生一系列雪崩效應,最終導致《萬王之王2》在2007年3月20日正式停止運營。同年12月,巨人網(wǎng)絡宣布將著手進行《萬王之王3》的研發(fā)工作,并以此正式宣告巨人網(wǎng)絡進軍3D網(wǎng)絡游戲領域。響。1.1國內(nèi)熱門網(wǎng)絡游戲引擎類型統(tǒng)計目前,國內(nèi)一些較有人氣的網(wǎng)絡游戲雖然仍舊采用2D或2.5D游戲引擎,但運營商引進或自主開發(fā)的3D游戲已經(jīng)逐步成為主流,有關統(tǒng)計數(shù)據(jù)如表1.1~1.2所示。表1.12001-2009年熱門網(wǎng)絡游戲引擎數(shù)據(jù)統(tǒng)計游戲名稱引擎/產(chǎn)地起測時間游戲名稱引擎/產(chǎn)地起測時間熱血傳奇2D/日韓2001仙劍情緣33D/大陸2009奇跡MU2.5D/日韓2002大話西游2D/大陸2004夢幻西游2D/大陸2009仙境傳說2.5D/日韓2009魔力寶貝2D/日韓2007FIFAOL23D/歐美2009英雄連OL3D/大陸2006誅仙3D/大陸2007神泣3D/日韓2006QQ炫霧2.5D/大陸2008問道2D/大陸2006巨星2.5D/大陸2009完美世界3D/大陸2008傳奇世界2D/大陸2003天堂II3D/日韓2004指環(huán)王OL3D/歐美2009反恐精英3D/歐美2008蒼天OL3D/日韓2008QQ飛車3D/大陸2008武林外傳3D/大陸2009 續(xù)表游戲名稱引擎/產(chǎn)地起測時間游戲名稱引擎/產(chǎn)地起測時間大話西游III2D/大陸2009神鬼傳奇3D/大陸2009驚天動地3D/日韓2006QQ堂2D/大陸2004生死格斗OL3D/日韓2009RF3D/大陸2008新奇跡世界3D/日韓2007寵物森林3D/大陸2008新卓越之劍2D/大陸2007彩虹島2D/日韓2009功夫世界3D/大陸2007街頭籃球2.5D/日韓2005魔神爭霸3D/大陸2008光線飛車3D/日韓2007大富翁OL2D/大陸2008十二之天貳3D/日韓2009三國群英傳2.5D/港臺2005OL3D/大陸20092010年以來,人們比較關注的一些網(wǎng)絡游戲的引擎構成統(tǒng)計數(shù)據(jù)如表1.2所示(有些游戲可能已經(jīng)更新?lián)Q代,請以最新數(shù)據(jù)為準)。百度數(shù)據(jù)研究中心2009年年底發(fā)布的調查結果表明:“46.42%的用戶傾向于3D游戲;11.16%的用戶傾向于2.5D游戲;42.43%的用戶傾向于2D游戲”。我們認為,這里的傾向有可能是假象,主要是國內(nèi)游戲開發(fā)商、運營商提供了相當數(shù)量的2.5D和2D游戲,國內(nèi)玩家缺乏其他3D同類選擇。果然,百度數(shù)據(jù)研究中心2010年年底發(fā)布的調查結果表明:“3D概念更加深入人心,關注度保持在54%以上。2D網(wǎng)游產(chǎn)品受到進一步擠壓,關注度由年初43.4%回落到年底38.6%”。我們認為,這種趨勢會進一步加強,玩家將逐漸放棄關注2D產(chǎn)品,最多只參與一些經(jīng)典的2D作品。表1.22010年以來較受關注的網(wǎng)絡游戲引擎數(shù)據(jù)統(tǒng)計引擎分類游戲名稱2D星座OL、爭霸OL-百戰(zhàn)堂、神墓OL、亮劍OL、江湖行、大明龍權、名將三國、傳奇3、昆侖OL、神武-逍遙外傳、幻想世界、西游記、翼魂、夢幻魔獸、天元、浪漫Q唐、冒險島OL、魔騎士、征途、天工物語、倚天劍與屠龍刀2、夢幻星球、幻境傳說、三國殺OL、星辰變、時空戰(zhàn)記、夢幻蜀山、石器時代2、俠義世界、征途2、熱血昆侖、英雄往事、冒險大陸、地下城與勇士、降龍之劍、泡泡堂、傳世群英傳、綠色征途、大話軒轅、天涯OL、夢幻誅仙、大話仙劍、蓬萊、封神榜3、QQ幻想世界、風色幻想OL、新絕代雙驕OL、夢想帝王、秦傷、桃花源記、劍靈·決、蒼穹之怒、仙境冒險、倚天屠龍記、大話西游之戰(zhàn)歌、英雄Q傳、問道外傳、圣斗士2、大話紅樓、武林秘籍、八仙外傳、武俠無雙、水滸傳、斗神、守護之劍、核金風暴、忍者世界、將軍令、三界西游、天跡、決戰(zhàn)雙城、永久基地2、元斗士、陸戰(zhàn)王、龍之大陸、貂嬋、紅途、抗戰(zhàn)2、九州OL、奇門、山海奇緣、邪風曲OL、夢想世界、戰(zhàn)國群雄、明朝演義、白蛇傳OL、諾亞傳說、夢幻昆侖、新鬼吹燈、都市快打、夢幻穿越、英雄美人2、仙侶外傳、熱血世界、鐵血丹心、夢幻情緣、盤古戰(zhàn)紀、漫游OL、名將2、大話戰(zhàn)國歸來、新石頭記、刀劍英雄、蒼茫世界、圣龍Q傳、劍仙、劍雨天下、時空戰(zhàn)記、奪寶世界、仙魔傳奇、夢回山海、災變、天地劫、熱血傳奇、夢幻西游、魔力寶貝、雷電、劍俠世界、英雄島、數(shù)碼寶貝OL、英雄年代、大秦天下、龍影、漂流幻境、生肖傳說、仙尊、海之樂章、逍遙傳說、天朝、機戰(zhàn)、戰(zhàn)國后傳、新天驕、幻想封神、快樂神仙、勇者斗斗龍、開心果、真愛西游、滄海、華夏前傳、仙侶奇緣3、長江7號、炎黃OL、開創(chuàng)世紀2013、星空傳奇、西夏OL、戀仙OL 續(xù)表引擎分類游戲名稱2.5D成吉思汗、蒼穹之劍、QQ仙境、獸血外傳、仙途、西游天下、魔咒、易三國、帝王OL、魔域、倩女幽魂OL、天龍八部2、天之痕OL、街頭籃球2、獵國、遠征OL、醉逍遙、大唐無雙、東邪西毒、巨人前傳、神仙傳、蒼生OL、神鬼世界、魔界2、月影傳說、軒轅傳奇、仙OL、凡人修仙傳、極速輪滑、夢幻問情、煉獄OL、傭兵天下、神話、巨刃、百年戰(zhàn)爭、魔戒傳奇、暗夜傳說、夢想島、夢幻迪士尼、魔盜OL、水滸無雙、埃爾之光、兵王、九刃、圣道傳奇、仙蛇傳、霸者無雙、盛世傳奇、諸神國度、仙門、武魂、龍紋、海之夢、六道2、風色群英傳、死神之刃、艾米爾編年史、傳奇密傳、劍圣OL、西游3、天子、錦衣衛(wèi)、十虎、天魔傳說、龍之傳奇、月光寶盒、封神爭霸OL、魔神無雙、江山美人、漢武大帝、TANTRA2(密傳2)、煮酒天下、梁山豪杰、火鳳燎原、修魔、藍空OL、決勝、預言2、特勤隊2、光之冒險、玄界OL、雷霆、巨俠、行會爭霸、超神傳、劍雨OL、科洛斯風云、封神演義前傳、屠魔、劍俠傳奇、紅顏、仙境傳說、QQ炫舞、大唐豪俠外傳、英雄無敵OL、劍俠時代、夢幻情天、拍拍部落、倚天屠魔、紅色警戒、勁舞世界、猛將傳OL、傾國傾城、帝王OL、逍遙界、熱血天下、天魔傳奇、十二封印3DAVA、真三國無雙OL、赤壁、地牢騎士團、星塵傳說、仙魔OL、眾神之戰(zhàn)、創(chuàng)世紀、萬王之王3、誅仙2、穿越火線、俠客列傳、戰(zhàn)斗足球、東游記、納雅外傳、iTown、永恒之塔、魔獸世界、流星蝴蝶劍OL、神兵傳奇、天下貳、極光世界、龍之谷、絕地反擊、Mstar、跑跑卡丁車、神魔大陸、完美國際、武林至尊、天之翼、全球使命、夢幻聊齋、丟丟、洛汗、獵刃、岐山、戰(zhàn)地之王、精靈樂章、龍的傳人、熱血江湖、圣域傳說、天源4591、天境、創(chuàng)世西游、QQ仙俠傳、武神、夢三國、水滸Q傳、?;?、神雕OL、天翼決、晶鐵之門、QQ西游、金剛8號、創(chuàng)誓記、自在飛車、新飛飛、王者世界、勇士OL、七劍OL、洛奇、幻魔之眼、新封印傳說、龍騰世界、LUNAOL、新蜀門、網(wǎng)球寶貝、仙劍神曲OL、九陰真經(jīng)、英雄聯(lián)盟、仙劍情緣OL、功夫英雄、開心大陸、書劍恩仇錄、御龍在天、戰(zhàn)地風云OL、突擊風暴、卓越之劍2、天堂夢、NBA2KOL、奇跡世界2、泡泡戰(zhàn)士、第九大陸、巫師之怒、刀劍2、鹿鼎記、全民足球、紙片人、桃園、三國戰(zhàn)魂、坦克世界、聚仙、地下城守護者OL、生化戰(zhàn)場、魔鑰、大沖鋒、火力突擊、天外飛仙、風暴戰(zhàn)區(qū)、暗黑紀元、勇者之翼、戰(zhàn)爭前線、勁唱團、隋唐演義OL、悟空傳、天驕3、白蛇傳說、天地決、特種部隊、龍之夢OL、烈焰行動、君·天下、潘多拉、零紀元、精靈傳說、麻辣江湖、魔卡精靈、熱血天驕、Avalon、炫舞吧2、大劍OL、獨孤九劍、玄天之劍、誅仙前傳、玄武、熱血戰(zhàn)隊、烽火大唐、代號巨人X、五岳乾坤、特戰(zhàn)先鋒、蠻荒、高爾夫達人、?;辍崃ε徘?、黑暗帝國、寵物王國、神鬼傳奇、一級戒備、煉獄世界、哈姆寶寶、終極火力、驚天動地2、圣魔之血、開心星球、狼隊、幻獸大陸、中華龍塔、乾坤OL、混沌之門、八仙過海、夢境之城、熱血戰(zhàn)地、魔卡、熱斗傳說、藍海戰(zhàn)記、JR01、蜀山神話、魔霸、MKZ軍魂、石器2012、刀劍笑、上古世界、完美世界、界王、神跡、西游群英傳、瘋狂飛空艇、大漢龍騰、惡魔法則3、越野狂飆、絕對火力、舞型舞秀、洪荒、熱血水滸、俠客行、出發(fā)OL、天子傳奇、復仇、中華英雄OL、新地牢騎士團、勁舞團、FIFAOL、星戰(zhàn)前夜、飄邈之旅、反恐精英OL、上古神殿、新武林外傳、俠道金剛、聊個齋、守護傳說、飛天風云、霸王大陸、幻想學園、大航海時代OL、尋仙、通靈王、龍魂、第七區(qū)、群英賦、武林群俠傳OL、寵物小精靈OL、精靈復興、空戰(zhàn)世紀、熱舞派對、極速輪滑、反恐行動、魔法之門、人生OL、水晶物語OL、星空之戀、超級樂者、超級舞者、飚車世界、異界OL、夢幻龍族、春秋爭霸、信長野望OL、隋唐Q傳、熱血騎士、魔龍戰(zhàn)紀、風云、舞街區(qū)、戰(zhàn)鼓傳說、滅神、沖鋒OL、超級西西三國、鐵血星球、天命OL、唯舞獨尊OL、幻想大陸、激戰(zhàn)海陸空、奇?zhèn)b傳、童夢伴隨著三網(wǎng)融合以及3G時代的逐步來臨,用戶擁有的游戲終端設備的性能不斷提升,游戲帶寬成本不斷降低,精美絕倫的畫面品質以及別具匠心的創(chuàng)意可以在網(wǎng)絡游戲情節(jié)中發(fā)揮得淋漓盡致,成為吸引玩家的核心秘笈。因此,采用性能卓越的3D引擎,已經(jīng)成為游戲開發(fā)商在玩家中“攻城略地、劃分疆土”的秘密武器。例如,巨人網(wǎng)絡在復興《萬王之王3》時,就宣稱組建了200多人的精英開發(fā)團隊,采用具有專利的服務器端技術(3D游戲引擎中的一部分功能)進行研發(fā)。通常,3D游戲引擎完整代碼由游戲開發(fā)商嚴格控制,甚至連游戲開發(fā)人員也無法窺其全貌。一般游戲愛好者、程序開發(fā)人員如果沒有較長時間的探索積累,很難迅速構造一個簡單易用、性能優(yōu)良、架構合理、開放擴展的3D游戲引擎。本書通過一系列分析對比,從全世界一些知名的開源商業(yè)3D游戲引擎中遴選出Panda3D,將其作為經(jīng)典3D游戲引擎呈現(xiàn)給讀者,幫助讀者完整把握3D游戲引擎的基本架構與功能,掌握一種3D游戲引擎的開發(fā)與使用。實踐已經(jīng)證明,Panda3D是一個成熟的商業(yè)3D游戲引擎,可以“拿來就用”。另一方面,對于那些追求3D游戲引擎更高目標的研發(fā)人員,Panda3D無疑也是一個經(jīng)得起考驗的“巨人的肩膀”。1.2Panda3D的前世今生從誕生之日起,Panda3D的目標就是服務于商業(yè)化3D應用開發(fā)。當?shù)纤鼓釡蕚錇榈纤鼓嶂黝}公園開發(fā)一系列3D應用時,Panda3D在研制“阿拉丁的魔毯”過程中逐步形成并最終演化為開源商業(yè)3D游戲引擎。隨后,作為DisneyVRStudio的核心,Panda3D先后用來創(chuàng)建由一系列卡通人物游戲集合構成的“卡通城OL”及第二代MMORPG“加勒比海盜OL”。Panda3D中Panda是PlatformAgnosticNetworkedDisplayArchitecture各單詞第一個字母的縮寫,其真正含義是“平臺無關網(wǎng)絡化顯示架構”。天公作美,竟然與我們的國寶熊貓同名。在USNews排名中計算機水平第一的美國著名學府“卡內(nèi)基梅隆大學”承擔了Panda3D的研制。后來,迪斯尼工程師繼續(xù)大規(guī)模開發(fā)3D游戲,而Panda3D的研制者為了促進各大學更為方便地開展虛擬現(xiàn)實研究項目,決定從2002年開始,將3D引擎發(fā)布為開源項目。發(fā)布開源項目不是簡單的事情,需要持續(xù)更新引擎的新技術并提供大量的文檔和實例以繁榮開源社區(qū)。目前,Panda3D開源工作由卡內(nèi)基梅隆娛樂技術中心負責。成為世界上最為活躍的開源商業(yè)化3D游戲引擎社區(qū)之一。到目前為止,采用Panda3D引擎的一些著名開發(fā)商及其商業(yè)化產(chǎn)品如表1.3所示。隨著時間的推移,Panda3D引擎名稱來歷中的技術背景已經(jīng)變得越來越模糊了?,F(xiàn)在,卡內(nèi)基梅隆娛樂技術中心也樂于以熊貓作為這個3D游戲引擎的Logo(帶著紅色、綠色雙色眼鏡的藍色熊貓)。為了確保讀者對Panda3D有全面的了解,先暫時停止對這款游戲引擎的深入探索,看看游戲引擎行業(yè)的整體狀況。表1.3采用Panda3D的著名開發(fā)商及其商業(yè)化產(chǎn)品(運行截屏參看彩頁)開發(fā)商商業(yè)化產(chǎn)品迪斯尼Disney卡通城:/加勒比海盜OL:/welcome秋月娛樂AutumnMoonEntertainment巫胡島的幽靈海盜:http://www.ghost-pirates.de/start.php吸血鬼傳奇:/SimOpsStudiosCode3D:/MSASafetyPoliceLine熱成像仿真游戲:/thermal_enforcer.htmlTreeform敢死天使第二次星宿戰(zhàn)爭:/index.htmlKochMediaGmbH,Austria七百萬:/1.3游戲引擎的發(fā)展游戲引擎是游戲廠商擁有和使用的用于開發(fā)游戲的專用中間件,可以有選擇地在微軟Windows、Linux、Mac、Symbian、Android等操作系統(tǒng)上運行?,F(xiàn)代游戲引擎最核心的目的是集成、封裝開發(fā)游戲時的服務器端功能,并為客戶端游戲應用提供相關支持。作為延伸和擴展,許多游戲引擎還提供快速開發(fā)環(huán)境。游戲引擎不僅可以用來開發(fā)游戲,也可以用于虛擬現(xiàn)實、動態(tài)仿真、影視視頻制作、互動娛樂、時尚UI、醫(yī)學診斷、CAI等領域。撇開底層實現(xiàn)技術,游戲引擎的核心功能包括場景運行、2D及3D圖形渲染、物理碰撞檢測及響應、動畫、音頻、腳本、人工智能、網(wǎng)絡、流、內(nèi)存管理、多線程、本地化等。借助于游戲引擎,游戲開發(fā)可以大量實現(xiàn)代碼重用,促進產(chǎn)業(yè)規(guī)?;?。從專業(yè)技術角度而言,不同游戲引擎的區(qū)別在于提供不同的硬件兼容、軟件架構、組件結構及3D游戲對象抽象。對于設計合理的游戲引擎,無論是在使用不同操作系統(tǒng)的個人電腦、移動終端還是專用游戲平臺上,運行相同游戲幾乎不需要修改代碼或者修改量非常少。隨著計算機組件技術的不斷成熟,好的游戲引擎允許不斷替換、升級或擴展特定的組成部分,例如物理動力特性引擎、多維音效引擎、高清數(shù)字視頻引擎等。有些引擎甚至采用不同松耦合的組件系統(tǒng)集成產(chǎn)生。當然,相對于引擎擴展性而言,引擎實時性更加至關重要。由于視覺需求是第一位的,很多“游戲引擎”有時專注于實時3D渲染,舍棄了其他功能定位,并把相關內(nèi)容空出,留給后續(xù)開發(fā)人員。其實,這類“游戲引擎”本質上是“圖形引擎”、“渲染引擎”。例如OGRE、Irrlicht、JMonkey、RealmForge、Truevision3D、CrystalSpace、Genesis3D、Vision等引擎。1.3.1抽象硬件比游戲引擎、圖形引擎更為底層的圖形及多媒體API軟件抽象是Direct3D、OpenGL、SimpleDirectMediaLayer(SDL)、OpenAudioLibrary(OpenAL),適用于圖形處理器(GPU)、視頻卡或聲卡。它們對鼠標、鍵盤、游戲桿、網(wǎng)卡、聲卡等進行了硬件無關處理。有時,這些底層函數(shù)庫也被用來直接開發(fā)游戲,所以在一定程度上產(chǎn)生了誤解。其實它們不是引擎而是函數(shù)庫,更加關注與硬件的兼容集成性。隨著硬件圖形加速技術的發(fā)展,各種物理API,例如逐行倒相制式(PAL)、3D資產(chǎn)內(nèi)部交換格式(COLLADA)也逐步出現(xiàn)。它們通常由不同中間件廠商提供,為上層應用與底層物理處理單元提供一種軟件抽象和隔離。1.3.2軟件抽象早先的游戲從頭到尾很少采用抽象設計概念,只是進行緊耦合式開發(fā),代碼很難重用,除函數(shù)外沒有其他軟件抽象層次。第一代圖形引擎或渲染引擎代表是Argonaut公司的BRender、Criterion公司的Renderware和Reality實驗室的RenderMorphics。后者速度最快,但團隊一些主要開發(fā)人員被微軟撬走從事Direct3D研制,而RenderMorphics引擎也在被游戲巨頭ElectronicArts收購后有意逐漸廢棄。完整的游戲引擎概念出現(xiàn)在20世紀90年代中期,與第一人稱射擊類3D游戲(FPS)的興起有關,其典型代表是Doom和Quake。獲得許可后,開發(fā)人員可以設計自己的場景、角色、武器和關卡,無需一切從頭開始。有關定制部分也稱為“游戲內(nèi)容”、“游戲資產(chǎn)”。游戲策劃、游戲資產(chǎn)制作與游戲編程的分工加速了游戲產(chǎn)業(yè)化過程。后來,一些公司更加專注于游戲引擎的設計與實現(xiàn)問題,并通過軟件許可證方式獲利,例如Unreal引擎。通常,一個高端商業(yè)化游戲引擎的單個許可證費用是1萬到100萬美元。由于游戲引擎研制的專業(yè)化運作,游戲產(chǎn)業(yè)更能健康持續(xù)地與最新技術一起同步發(fā)展。與數(shù)據(jù)庫等行業(yè)軟件類似,現(xiàn)代游戲引擎是一個非常龐雜精致的應用支持系統(tǒng),其內(nèi)部架構、組件模式,最終精確實時地強化著用戶體驗?,F(xiàn)代游戲引擎大多強調渲染、腳本、關卡、藝術效果等功能的強分隔、松耦合。為牛頓式技術癡人與畢加索式藝術瘋子同臺演出提供了可能。不同流派的游戲引擎已經(jīng)廣泛應用于各種游戲。多線程技術是現(xiàn)代游戲引擎的核心機制,涉及場景運行、渲染、物理碰撞檢測及響應、動畫、音頻、腳本、人工智能、網(wǎng)絡、流、內(nèi)存管理、本地化。例如,在多線程技術保持領先的一些賽車游戲中,物理碰撞檢測及響應引擎可以使用一個單獨的線程,在其他核心子系統(tǒng)移動之前就開始運行,因為渲染和其他任務刷新頻率為30~60Hz,而物理碰撞檢測及響應引擎刷新頻率大約為100~360Hz。當前,游戲引擎已經(jīng)將跨平臺、跨設備作為一個發(fā)展方向,對iPhone、iPad、瀏覽器的支持日益加強。實現(xiàn)語言也從原來的C/C++為主,豐富到涵蓋Java、C#/.NET、Python等。因為隨著硬件設備整體性能的大幅度提高,高級語言已經(jīng)不再會過多延遲游戲運行,相反,高級語言尤其是腳本語言的靈活性,為開發(fā)人員及用戶提供了更大的好處。本書將深入介紹Python腳本語言帶來的靈活和便利。微軟在游戲引擎領域也是動作頻頻,使用.NETFramework和新發(fā)布的XNAGameStudio、GameDevelopmentSite,全面支持Xbox360以及Zune播放器。還有一些引擎,不對第三方發(fā)布,由游戲開發(fā)商單獨控制使用。它們不在本書討論范圍之內(nèi)。1.4開源游戲引擎整體比較業(yè)界公開且比較知名的開源游戲引擎統(tǒng)計如表1.4所示。從統(tǒng)計數(shù)據(jù)來看,C++語言依然是目前游戲引擎的主要開發(fā)語言,而腳本語言中支持較多的是Lua和Python。還有一些免費游戲引擎,不提供源代碼,但是可以在一定程度上免費使用,本書不討論。表1.4知名開源游戲引擎統(tǒng)計名稱開發(fā)語言綁定跨平臺SDL針對2D腳本代表游戲許可證AlephOneC是是否LuaMarathonMarkupLanguageMarathonGPLAllegroLibraryCAda、C++、C#、D、Lisp、Lua、Pascal、Mercury、Python、Perl、Scheme是否是ZlibArdor3DJava是否ZlibAxiomC#是是否DynamicLanguageRuntimeLGPLBlenderC++Python是是否PythonGPLBox2DC++Java、C#、Lua、Action-Script、JavaScript、D、PythonDarkBasic是否是MIT

續(xù)表名稱開發(fā)語言綁定跨平臺SDL針對2D腳本代表游戲許可證BuildC否否CafuC++是否否LuaGPLProprietaryClanLibC++是是是ClanlibCrystalSpaceC++Python、Perl、Java是是否LGPLCubeC++是是否ZlibCube2C++是是否ZlibDelta3dC++是否PythonLGPLDGDLPC是否是LPCDXFrameworkC++否否PythonBSDExultC++是是是GPLFlixelt是否是GregoryWeir系列MITGenesisDeviceObjectPascal否否PascalScriptLGPLGenesis3DC否否GlestC++是否否LuaHPLC++是是否Penumbra:OvertureGPLProprietaryidTech1C是否否DoomDoomIIGPLidTech2C是否否QuakeIIGPLidTech3C是否否QuakeIIIArenaGPLidTech4C++是是否有Doom3,Wolf-enstein,Brink,EnemyTerritoryQuakeWarsProprietaryioquake3C是是否GPL

續(xù)表名稱開發(fā)語言綁定跨平臺SDL針對2D腳本代表游戲許可證IrrlichtC++Java,Perl,Ruby,Lua,Python,Delphi,FreeBAS,GameMaker,AutoIt是是否Squirrel,AutoItH-CraftChampion-shipZlibJake2Java是否否GPLjMonkeyJava是否否BSDJogreJava是否是GPLKlayGEC++是否否PythonGPLLightweightJavaGameLibraryJava是否是MinecraftBSDNebulaDeviceC++Python,Java,.NET是否LuaRubyTcl/TkPythonMITOpenScenceGraphC++是否否LuaPythonLGPLORXC/C++是是是ZlibPanda3DC++Python是否否Python已介紹BSDPixelLightC++是否否LGPLPLIBC++是是否LGPLQtC++Python,Java,CommonLisp,Haskell是否是QtScriptLGPLQuakeC是否否QuakeCGPL

續(xù)表名稱開發(fā)語言綁定跨平臺SDL針對2D腳本代表游戲許可證RealityFactoryC++否否SimKinTelepath,ImageoftheWeekTheLegendofOkkoraHouseofShadowsMITRealmForgeC#C/C++,C#,D,Delphi,Ada,Perl,Fortran,Python,VB.NET是否C#JScriptLostIsle,LizardRockIslandLGPLRetributionC++否否GPLRubygameRuby是是是LGPLSecondLifeC++是否否LSLSphereC++是否是JavaScriptSpringC++是否否LuaGPLStratagusC是是是LuaGPL1.5知名游戲引擎及代表游戲一些知名游戲引擎及其代表游戲如表1.5所示。其中,實力較強的完全商業(yè)化游戲引擎是Jade、PhyreEngine、SourceEngine、UnrealEngine3.x等。另外,可以看出,即便與完全商業(yè)化運作的游戲引擎相比,Panda3D也還是相當有實力。表1.5知名游戲引擎及其代表游戲游戲引擎名稱代表游戲Nel3DMMORPGGameEngineRyzom,TheSagaofRyzomAlamoEmpireatWar,ForcesofCorruption,UniverseatWar:EarthAssault續(xù)表游戲引擎名稱代表游戲AdventureGameStudioChzoMythos,SovietUnterzoegersdorf,TheBlackwellSeries,BenJordan:ParanormalInvestigatorAnvilAssassin’sCreedII,PrinceofPersia:TheForgottenSands,Assassin’sCreed:BrotherhoodBigWorldTwinSkies,StargateWorldsCPAL3DMementoMori,Numen:ContestofHeroes,PoundofGround,AlternativaCryEngineFarCry,Aion:TheTowerofEternityCryEngine2Crysis,EntropiaUniverseCryEngine3Crysis2CrystalToolsFinalFantasyXIII,FinalFantasyVersusXIII,FinalFantasyXIIIAgito,FinalFantasyXIVDuniaEngineFarCry2,JamesCameron’sAvatar:TheGameEssenceEngineCompanyofHeroes,OpposingFronts,Warhammer40,000:DawnofWar2EuropaEngineEuropaUniversalis,HeartsofIronGamebryoDarkAgeofCamelot,TheElderScrollsIV:Oblivion,Fallout3,Fallout:NewVegasGoldSrcHalf-Life,GunmanChroniclesGogiiGamesEngineMortimerBeckettseries,MirrorMysteriesHeroEngineHero’sJourney,StarWars:TheOldRepublicHPLEnginePenumbra:Overture,Penumbra:BlackPlague,Penumbra:Requiem,Amnesia:TheDarkDescentidTech4Doom3,Quake4,Prey,EnemyTerritory:QuakeWars,WolfensteinInfernalEngineGhostbusters:TheVideoGame,MushroomMen:TheSporeWars,BassProShops:TheStrike,Roogoo:TwistedTowersInfinityEngineBaldur’sGate,Baldur’sGateII:ShadowsofAmn,Planescape:Torment,IcewindDale,IcewindDlaeIIIronEngineSinsofaSolarEmpire

續(xù)表游戲引擎名稱代表游戲JadeEngineBeyondGood&Evil,PrinceofPersia:TheSandsofTime,PrinceofPersia:WarriorWithin,PrinceofPersia:TheTwoThrones,PeterJackon’sKingKong:TheOfficialGameoftheMovie,RaymanRavingRabbids,TMNT,RaymanRavingRabbids2,Naruto:RiseofaNinja,Naruto:TheBrokenBond,JamesCameron’sAvatar:TheGame(Wiiversion),PrinceofPersia:TheForgottenSands(WiiandPSPversions)K2EngineSavage2,HeroesofNewerthNebulaDevice3Darkensang:TheDarkEyeNeonEngineOperationFlahspoint2:DragonRisingRaceDriverGridPanda3D已介紹PhyreEngineMalicious(videogame)forPSN,RugbyLeagueLive,topatoi,CritterCrunch,Neptune,BurnZombieBurn,SavageMoon,\o"AnotherCentury'sEpisode:R"AnotherCentury'sEpisode:R,Demon'sSouls,Catan,\o"AtelierRorona:AlchemistofArland"AtelierRorona:AlchemistofArland,ArtonelicoQoga:KnellofArCiel,AtelierTotori:AlchemistofArland2,PachiParaDLHyperSeaStoryInKaribu,ZettaiZetsumeiToshi4:SummerMemories,TrinityUniverse,LastRebellion,\o"UnderSiege(2009videogame)"UnderSiege,GripShift,Shatter,flow,Flower,JourneyRAGEMidnightClub:LosAngeles,GrandTheftAutoIV,RockstarGamesPresentsTableTennis,RedDeadRedemptionRiotEngineDraken:OrderoftheFlame,Darken:TheAncients’Gates,TheLordoftheRings:TheFellowshipoftheRing,TheSuffering,TheSuffering:TiesThatBindRPGMakerVXEternalEdenRPGMakerXPAveyondSAGEEngineRedAltert3,Generals,TiberiumWars,TheBattleforMiddle-earthIIScimitarAssassin’sCreed,PrinceofPersia,ShaunWhiteSnowboardingShiVa3DVoodooDice,PinballYeah,TextingofTheBread,PirateWings,GravitonSilentStormEngineSilentStorm,SilentStorm:Sentinels,Hammer&Sickle,NightWatch,DayWatch,HeroesofMightandMagicV,JaggedAlliance3

續(xù)表游戲引擎名稱代表游戲SourceEngineHalfLife2,TeamFortress2,Protal,Left4Dead,Left4Dead2,Vampire:TheMasquerade-Bloodlines,SinEpisodes,DarkMessiahofMightandMagic,ZenoClash,Vindictus/Mabinogi:Heroes,KOSSecretOperationsTGEAMarbleBlastUltra,FallenEmpire:Legions,Dreamlords,PennyArcadeAdventures:OntheRain-Slick,PrecipiceofDarknessUniginePrimalCarnage,AfterfallUniverseUnityCartoonNetworkUniverse:FusionFall,TigerWoodsPGATourOnline,GooBall,GlobalConflicts:Palestine,Off_roadVelociraptorSafari,WolfQuest,DeadFrontierUnrealEngine2.xAmerica’sArmy,Exteel,LineageII,TheChroniclesofSpellborn,UnrealTournament2004,RagnarokOnline2UnrealEngine3.xAmerica’sArmy3,Batman:ArkhamAsylum,Borderlands,BrothersinArms:Hell’sHighway,BioShock,BlackSite:Area51,GearsofWar,GearsofWar2,UnrealTournament3,RainbowSixVegas,SplinterCell:Conviction,LostOdyssey,MassEffect,MassEffect2,TheLastRemnant,MedalofHonour:Airbourne,BladeandSoul,BulletstormVisionEngine8Arcania:AGothicTale,TheSettlers7:PathstoaKingdom,DIZZEL,DungeonHero,ArenaMorte,CutthroatX-RayEngineS.T.A.L.K.E.R.:ShadowofChernobyl,S.T.A.L.K.E.R.:ClearSky,S.T.A.L.K.E.R.:CallofPripyat4AEngineMetro20331.6游戲引擎的成本與收益采用游戲引擎開發(fā)游戲是上手迅速、品質有保障、技術領先、開發(fā)周期縮短的一種工業(yè)化分工合作模式。不管使用哪種游戲引擎,都會有一定的成本構成和預期收益。(1) 通常,使用游戲引擎的直接成本構成如下:許可證費用。支付給游戲引擎開發(fā)商的全部費用,包括游戲產(chǎn)品許可證費用、版稅協(xié)議、客戶培訓費用等。由游戲產(chǎn)品支持客戶數(shù)、許可證綁定目標平臺、每客戶或每年度服務、銷售版稅等因素決定。游戲產(chǎn)品費用。與游戲產(chǎn)品整個生命周期中“游戲研發(fā)階段”各產(chǎn)業(yè)鏈環(huán)節(jié)相關的全部費用。包括創(chuàng)意、提案、制作、集成、測試、發(fā)布費用,直接用于相關產(chǎn)品開發(fā)的策劃、管理、設計與實現(xiàn)。培訓費用。這是評估游戲引擎的一個重要尺度。涉及開發(fā)團隊技術學習曲線成本、時間投資成本、開發(fā)商培訓成本。由論壇、知識庫、技術文檔、教學視頻、在線幫助、實際案例等因素決定。維護升級費用。不論是自己開發(fā)游戲引擎還是使用第三方游戲引擎,都需要對游戲引擎的軟件抽象設計、技術實現(xiàn)進行維護和升級,以適應游戲效果、游戲規(guī)模、硬件平臺、設備性能、IT技術的變革。由開發(fā)團隊研發(fā)費用、福利薪資、軟硬件測試配置等因素決定。資質評測費用。在評測游戲產(chǎn)品相關資質時,對于創(chuàng)意、藝術視覺、音效、產(chǎn)品質量、性能體驗都需要嚴格把關。使用游戲引擎降低了資質評測的時間和費用,減少了培訓、支持、現(xiàn)場跟蹤的時間及人力投入。(2) 另一方面,使用游戲引擎的直接收益如下:節(jié)省時間。游戲產(chǎn)品開發(fā)過程簡化為創(chuàng)意、提案、游戲資產(chǎn)制作、游戲內(nèi)容集成、測試、發(fā)布。每個環(huán)節(jié)之間的時序依賴和對底層技術的依賴相對弱化。有些游戲甚至可以直接采用“腳本+游戲資產(chǎn)”來實現(xiàn)。節(jié)省成本。開發(fā)團隊及其管理得以精簡,對開發(fā)人員整體技能要求可以有所下降,節(jié)省單個產(chǎn)品開發(fā)預算,為延長產(chǎn)品線提供了可能。聚焦游戲產(chǎn)品本質。游戲產(chǎn)品歸根結底是創(chuàng)意產(chǎn)品,借助于優(yōu)秀的游戲引擎,游戲開發(fā)商可以更加聚焦于游戲的創(chuàng)意,并保證好的創(chuàng)意可以最終轉換為好的產(chǎn)品,好的體驗。支持更為專業(yè)。游戲引擎是一種開放式、發(fā)展的中間件,有利于專業(yè)技術人才資源的有效整合和共享。共享行業(yè)知識經(jīng)驗。游戲開發(fā)商在成長過程中會遇到一系列問題,其有效解決往往與技術實現(xiàn)密切相關。采用游戲引擎可以快速獲取有關行業(yè)知識經(jīng)驗,對于游戲開發(fā)商的迅速發(fā)展能提供更多的機會和便利。1.7選擇游戲引擎的尺度游戲專家MarkDeloura曾經(jīng)做過一項調查,統(tǒng)計有關游戲開發(fā)商選擇不同游戲引擎的尺度,可以歸結為以下幾個方面:整體目標。大約90%的開發(fā)商認為是確保藝術家、設計師快速上手;大約80%的開發(fā)商認為是需要開發(fā)人員只關注游戲必需代碼;大約70%的開發(fā)商認為是需要游戲開發(fā)快一點并且代碼編寫量少一點。引擎質量。大約70%的開發(fā)商關注引擎與計劃游戲產(chǎn)品流派是否匹配;大約70%的開發(fā)商關注代碼可讀性及擴展性;大約60%的開發(fā)商關注與現(xiàn)有開發(fā)資源環(huán)境的集成性;大約60%的開發(fā)商關注是否可以獲取源代碼。實踐有效性(適用于開發(fā)人員)。大約90%的開發(fā)人員考慮獲取源代碼;大約80%的開發(fā)人員考慮與其他中間件的集成性,大約80%的開發(fā)人員考慮資源管理易于變更;大約80%的開發(fā)人員考慮不斷獲取游戲引擎最新版本;大約80%的開發(fā)人員考慮清晰的工程開發(fā)路線圖。技術功能。大約90%的開發(fā)商需要多線程/多處理器功能;大約90%的開發(fā)商需要渲染管道;大約90%的開發(fā)商需要動畫系統(tǒng);大約80%的開發(fā)商需要物理碰撞檢測;大約80%的開發(fā)商需要流機制。支持工具集。大約80%的開發(fā)商希望支持配置文件;大約80%的開發(fā)商希望具有所有目標平臺的預覽工具;大約80%的開發(fā)商希望具有獨立的場景構造工具;大約70%的開發(fā)商希望具有粒子系統(tǒng)編輯器;大約70%的開發(fā)商希望具有腳本支持功能。對于大多數(shù)游戲開發(fā)商而言,采用國外完全商業(yè)化運作的游戲引擎的費用過于昂貴,而采用開源游戲引擎是一個相對經(jīng)濟實惠、后續(xù)發(fā)展力強勁的選擇。因此,在了解了游戲引擎的整體狀況之后,我們來深入對比幾款著名的開源游戲引擎。1.8十大開源游戲引擎深入比較在國內(nèi)外,業(yè)界盛傳有十大開源游戲引擎,分別是OGRE、Irrlicht、Panda3D、CrystalSpace、jME、BlenderGameEngine、RealityFactory、TheNebulaDevice2、RealmForge、OpenScene-Graph。我們對這十款開源游戲引擎深入進行分析。(1) OGRE是面向對象圖形渲染引擎(Object-OrientedGraphicsRenderingEngine)的縮寫,采用C++開發(fā),以MIT許可證發(fā)布,可以在Windows、Linux、Mac上運行。OGRE自己也說明本身不是游戲引擎。其主要特征如下:面向對象,插件擴展架構,具有文檔支持。支持腳本??梢酝ㄟ^腳本管理材質資產(chǎn)并進行多路渲染。支持物理碰撞檢測。支持頂點燈光、像素燈光、燈光映射。支持陰影映射、三維陰影。支持多紋理、凹凸貼圖、多重材質貼圖、立體投影。支持頂點、像素、高級著色。支持場景管理,具有多種數(shù)據(jù)結構。支持逆向運動動畫、骨架動畫、變形動畫、混合動畫及姿態(tài)動畫。支持網(wǎng)格加載、皮膚、漸進網(wǎng)格。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、運動模糊、天空、水、霧、絲帶軌跡、透明對象。支持XML文件轉換。引擎特性全面(),穩(wěn)定性好(),支持全面(),不容易上手和使用()。(2) Irrlicht采用C++開發(fā),以zlib/libpng許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、FreeBSD、Xbox上運行。Irrlicht自己也說明本身不是游戲引擎。其主要特征如下:面向對象,插件擴展架構,具有文檔支持。支持內(nèi)建場景、燈光、GUI編輯器。支持物理碰撞檢測。支持頂點燈光、像素燈光、燈光映射。支持陰影映射、三維陰影、模板緩沖區(qū)陰影。支持多紋理、凹凸貼圖、多重材質貼圖、立體投影。支持頂點、像素、高級著色。支持場景管理,具有多種數(shù)據(jù)結構,允許無縫集成室內(nèi)及室外場景。支持骨架動畫、變形動畫及混合動畫。支持網(wǎng)格加載。支持環(huán)境映射、公告牌、粒子、天空、水、霧。支持地形渲染。引擎特性全面(),穩(wěn)定性好(),支持全面(),容易上手和使用()。(3) Panda3D采用C++和Python開發(fā),以BSD許可證發(fā)布,可以在Windows、Linux、Mac、SunOS上使用。Panda3D是一個完整的游戲引擎。其主要特征如下:面向對象,腳本擴展架構,具有文檔支持。支持內(nèi)建場景、粒子、關卡編輯器。支持物理碰撞檢測,可以用于運動物體。支持頂點燈光、像素燈光、燈光映射。支持陰影映射、三維陰影、模板緩沖區(qū)陰影。支持多紋理、凹凸貼圖、多重材質貼圖、立體投影。支持頂點、像素、高級著色。支持場景管理,具有多種數(shù)據(jù)結構。支持骨架動畫。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、公告牌、粒子、霧、火。支持地形渲染。支持“客戶端/服務器”網(wǎng)絡模式。支持2D、3D和流音效。支持有限狀態(tài)機、人工智能。引擎特性全面(),穩(wěn)定性很好(),支持很全面(),很容易上手和使用()。(4) CrystalSpace采用C++開發(fā),以LGPL許可證發(fā)布,可以在Windows、Linux、Mac上使用。CrystalSpace是一個完整的游戲引擎。其主要特征如下:面向對象,組件擴展架構,具有文檔支持。支持內(nèi)建場景、燈光、GUI編輯器。支持物理碰撞檢測,可以用于運動物體。支持頂點燈光、燈光映射。支持陰影映射、三維陰影。支持多紋理、多重材質貼圖。支持頂點、像素著色。支持場景管理,具有多種數(shù)據(jù)結構。支持骨架動畫、幀動畫、變形動畫。支持網(wǎng)格加載、漸進網(wǎng)格。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空、鏡像。支持地形渲染。支持2D、3D音效。支持游戲世界管理。通過有限狀態(tài)機、行為樹、神經(jīng)網(wǎng)絡、遺傳算法支持人工智能。引擎特性很全面(),穩(wěn)定性好(),支持很全面(),不容易上手和使用()。(5) jME是jMonkeyEngine的縮寫,采用Java開發(fā),以BSD許可證發(fā)布,可以在Windows、Linux、Mac上使用。JME的目標是提供一個Java語言3D游戲引擎,但業(yè)界目前也有人認為jME還不是一個游戲引擎。其主要特征如下:面向對象,插件擴展架構,具有文檔支持。支持內(nèi)建游戲世界編輯器。支持物理碰撞檢測。支持頂點燈光、燈光映射。支持三維陰影。支持多紋理、多重材質貼圖。支持頂點、像素、高級著色。支持場景管理,具有多種數(shù)據(jù)結構。支持骨架動畫、幀動畫。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空、水、火、爆炸、霧。支持地形渲染。支持3D音效。引擎特性全面(),穩(wěn)定性好(),支持很全面(),容易上手和使用()。(6) Blender游戲引擎是采用C++和Python開發(fā),以GPL許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、FreeBSD、Irix上使用。Blender是一個完整的游戲引擎。其主要特征如下:面向對象,插件及腳本擴展架構,具有文檔支持。支持內(nèi)建工作流、GUI、數(shù)據(jù)庫、角色等編輯器。支持物理碰撞檢測,可以用于運動物體。支持頂點燈光、像素燈光。支持陰影映射。支持多紋理、凹凸貼圖。支持頂點、像素著色。支持場景管理,具有多種數(shù)據(jù)結構。支持逆向運動動畫、幀動畫。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、粒子、天空、水、霧。支持地形渲染。支持“客戶端/服務器”網(wǎng)絡模式。支持2D及3D音效。通過腳本方式支持人工智能。引擎特性基本全面(),穩(wěn)定性基本不錯(),支持全面(),不容易上手和使用()。(7) RealityFactory是采用C++開發(fā),以MIT許可證發(fā)布,可以在Windows上使用。RealityFactory自稱游戲無需編程。其主要特征如下:面向對象,腳本擴展架構,具有文檔支持。支持內(nèi)建幾何形體編輯器。支持物理碰撞檢測。支持頂點燈光、像素燈光、輻射燈光、三維燈光。支持陰影映射。支持多紋理、凹凸貼圖、多重材質貼圖、投影。支持頂點、像素著色。支持場景管理,具有多種數(shù)據(jù)結構。支持骨架動畫、幀動畫及混合動畫。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、公告牌、粒子、天空、水、火、爆炸、霧、貼花、天氣、鏡像。支持地形渲染。支持“客戶端/服務器”網(wǎng)絡模式。支持3D及流音效。通過路徑查找、決策及腳本方式支持人工智能。引擎特性基本全面(),穩(wěn)定性基本不錯(),支持基本全面(),容易上手和使用()。(8) TheNebulaDevice2是采用C++開發(fā),以MIT許可證發(fā)布,可以在Windows、Linux上使用。NebulaDevice是一個完整的游戲引擎。其主要特征如下:面向對象,插件及腳本擴展架構,具有文檔支持。支持內(nèi)建幾何形體編輯器。支持物理碰撞檢測。支持頂點燈光、像素燈光、燈光映射、光澤映射。支持陰影映射。支持多紋理、凹凸貼圖、多重材質貼圖、投影。支持頂點、像素、高級著色。支持場景管理,具有多種數(shù)據(jù)結構。支持骨架動畫、幀動畫、變形動畫及混合動畫。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空。支持地形渲染。支持“客戶端/服務器”、P2P網(wǎng)絡模式。支持2D、3D及流音效。通過腳本方式支持人工智能。引擎特性全面(),穩(wěn)定性好(),支持基本全面(),不容易上手和使用()。(9) RealmForge是采用C#在OGRE上開發(fā),以LGPL許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、HP/UX、FreeBSD上使用。RealmForge是一個完整的游戲引擎,現(xiàn)在已經(jīng)轉入商業(yè)化運作。其主要特征如下:面向對象,插件及腳本擴展架構,具有文檔支持。支持內(nèi)建游戲編輯器。支持物理碰撞檢測,可以用于運動物體。支持頂點燈光、像素燈光、燈光映射。支持陰影映射、投影面、立體投影。支持多紋理、凹凸貼圖、多重材質貼圖、投影。支持頂點、像素、高級著色。支持場景管理,具有多種數(shù)據(jù)結構。支持骨架動畫、幀動畫、面部動畫及混合動畫。支持網(wǎng)格加載、皮膚及漸進網(wǎng)格。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空、水、火、爆炸、貼花、霧、天氣、鏡像。支持地形渲染。支持“客戶端/服務器”、P2P網(wǎng)絡、主控服務器模式。支持3D及流音效。通過路徑查找、決策、優(yōu)先狀態(tài)機、腳本、神經(jīng)網(wǎng)絡等方式支持人工智能。引擎特性全面(),穩(wěn)定性基本不錯(),支持基本全面(),不容易上手和使用()。(10) OpenSceneGraph是采用C++開發(fā),以LGPL許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、SunOS、FreeBSD、Irix、Playstation上使用。OpenSceneGraph是一個完整的游戲引擎。其主要特征如下:面向對象,插件及腳本擴展架構,具有文檔支持。支持內(nèi)建場景編輯器。支持物理碰撞檢測。支持頂點燈光、各向異性燈光。支持投影面、立體投影。支持多紋理、多重材質貼圖、投影。支持頂點、像素、高級著色。支持場景管理,具有多種數(shù)據(jù)結構。支持骨架動畫、幀動畫及混合動畫。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、公告牌、粒子、鏡像。支持地形渲染。支持“客戶端/服務器”、P2P網(wǎng)絡、主控服務器模式。支持2D、3D及流音效。引擎特性全面(),穩(wěn)定性好(),支持還可以(),上手和使用比較難()。一般說來,選擇開源游戲引擎一定需要獲取源碼、好的文檔及開放式支持。穩(wěn)定性對于商業(yè)化運作是一個雙刃劍,利于產(chǎn)品的開發(fā)運營,但需要有效引入新的游戲技術革新。引擎涵蓋特性是一個積累過程,可以不斷添加和改進。上手和使用性也反映了設計開發(fā)游戲引擎的團隊的內(nèi)在價值取向以技術為主,還是以應用為主。游戲開發(fā)商都希望研制、運營一個萬眾矚目的游戲產(chǎn)品,但是,使用按照不同許可證發(fā)布的游戲引擎開發(fā)的游戲產(chǎn)品需要遵循相應的知識產(chǎn)權法規(guī)。因此,游戲引擎的軟件許可證成為選擇時的一個極其重要的考慮因素。1.9開源游戲引擎許可證比較許可證是軟件作者對使用同一作品的其他人授予的特殊許可,表明作者仍然持有作品的原始版權或專利,并沒有放棄有關權利。如果是直接公開發(fā)布作品,意味著作者放棄了一切版權,人們無需提及作品的原作者和貢獻者。如果逐一授權,作者需要自行處理個人許可授權事務。開源許可證使得其他人無需尋求特別的許可就可以方便地為項目添磚加瓦,同時也保護了原創(chuàng)者的權利,確保作者至少可以因為自己的貢獻而獲得贊譽,同時防止其他人將作者的成果據(jù)為己有。上面討論的開源游戲引擎許可證主要有MIT、BSD、GPL、LGPL、Zlib/libpng,有關初創(chuàng)人、版本/年代、可鏈接其他許可證代碼、可變更許可證發(fā)布等內(nèi)容如表1.6所示。表1.6有關許可證鏈接、發(fā)布限定許可證初創(chuàng)人版本/年代可鏈接其他許可證代碼可變更許可證發(fā)布游戲引擎BSD加利福尼亞大學-可以可以Panda3D,jMEGPL自由軟件基金3.0/2007不可以不可以BlenderLGPL自由軟件基金3.0/2007可以不可以OpenSceneGraphCrystalSpaceRealmForgeMIT麻省理工學院1988可以可以OGRE,RealityFactory,NebulaDeviceZlib/libpng--可以可以Irrlicht(1) BSD許可證在軟件傳播和使用過程中對版權限制非常少,基本上沒有約束,可以用于任何商業(yè)場合。實際上,BSD許可證強調的只是聲明一下“祖籍淵源”。因此,BSD許可證軟件使用最為廣泛。二版、新版BSD許可證模板主要強調以下權利:分發(fā)、使用未經(jīng)修改或修改后源碼時,必須保留有關版權聲明和免責聲明。以二進制形式再分發(fā)軟件時,必須保留有關版權聲明和免責聲明。未經(jīng)許可,不得以軟件貢獻者的名字為軟件的衍生產(chǎn)品做代言。(2) GNUGPL是通用公共許可證(GeneralPublicLicense)的縮寫,是使用最廣泛的自由軟件許可證。GPL強調許可證使用時必須唯一且必須傳承,因為弘揚和恪守的是“自由軟件正本清源,代碼開放基業(yè)長青”的理念,也得到社會各界人士的積極支持。但是,在使用過程中必須開放自己的代碼,否則會陷入版權糾紛。這樣,雖然Blender是一個非常好的開源游戲引擎,但我們無法對后續(xù)創(chuàng)意進行有效的商業(yè)化運作。GPL堅持軟件開放源代碼,但相關服務和支持可以收費。最新版本GPL許可證模板主要強調以下權利:違反GPL授權的拷貝、分發(fā)、向公眾發(fā)布等傳播活動有可能直接或間接侵權。分發(fā)自由軟件時,必須把自由傳遞給接受者,讓接受者明白具有獲取全部源代碼的權利并且能夠得到全部源代碼。自由軟件沒有任何擔保責任。軟件被修改過的版本必須明確標示,從而避免它們的問題被錯誤地歸咎于先前的版本。源代碼接受者可以通過任何媒介發(fā)布未被修改過的副本,但必須顯著地在每個副本上都發(fā)布一個合適的版權通告。必須完整保持所有授權通告、所有免責聲明,并為所有接受者提供GPL授權。修改源代碼必須明確標示并給出日期,完整保持所有授權通告、所有免責聲明,為接口提供適當法律通告,并且只能為所有接受者提供GPL授權。傳播目標代碼時,必須同時在有關場地、介質中或以網(wǎng)絡等方式提供源代碼。如果只有可以獲取源代碼的書面承諾,不允許盈利。公開源代碼時,不包括所調用的可分離的系統(tǒng)庫部分源代碼。允許附加條款,主要是免責聲明、法律通告、作者信息、禁止誤傳資料來源、修改的合理標示方式、限制通過作者進行商業(yè)代言及宣傳、保留合法商標及標記、接受者責任假設合同。違反GPL的行為將自動終止授權,在一定時間內(nèi)修改后可以恢復授權。如果貢獻者需要申請專利,必須履行公開源代碼義務并允許自由修改(無專利版稅),否則就必須放棄盈利。更詳細的內(nèi)容可直接查閱有關許可證說明。(3) GNULGPL是寬通用公共許可證(GNULesserGeneralPublicLicense)的縮寫,在標準GPL基礎上重點對庫進行授權。LGPL放寬了對軟件鏈接的限制,不再強調鏈接的“純潔”,可以進行“雜交”。所謂庫是應用程序通過接口調用,但不依賴這種調用的軟件集合。對庫中類的派生繼承也認為是通過接口調用。庫和應用程序構成組合軟件,庫被稱為鏈接版本。最小源代碼取決于應用而不是鏈接版本,不能孤立地考慮組合軟件的一部分。組合軟件的相應應用代碼包括應用、輔助工具程序及源代碼,但不包括所調用的系統(tǒng)庫。最新版本LGPL許可證模板主要強調以下權利:庫的任何修改、傳播不會依賴于應用提供的功能或數(shù)據(jù),否則,庫也必須無條件使用GPL許可證。應用可以使用庫提供的頭文件,但如果不在數(shù)字參數(shù)、數(shù)據(jù)結構布局、數(shù)據(jù)結構訪問器、小型宏、內(nèi)聯(lián)函數(shù)及模板的限制之列,必須為每個副本提供所鏈接庫的通告。庫的鏈接授予LGPL許可,應用程序授予GPL許可。組合軟件不能限制對庫的修改、調試、兼容式替換。(4) MIT許可證非常簡短,但也比較松散含混。在軟件傳播和使用過程中對版權限制非常少,基本上沒有約束,可以用于任何商業(yè)場合。同樣,MIT許可證強調的也只是聲明一下“祖籍淵源”。新版MIT許可證模板主要強調以下權利:免費授予任何獲得軟件及相關文檔的人不受限制地使用、拷貝、修改、合并、出版、分發(fā)、再授權和/或出售軟件的拷貝。版權聲明和許可聲明必須包含在軟件包的全部拷貝或實質性部分中。其實,許可聲明大部分內(nèi)容是免責聲明。(5) Zlib/libpng許可證沒有特別要求提供源代碼。在軟件傳播和使用過程中對版權限制非常少,基本上沒有約束,可以用于任何商業(yè)場合。最新版本Zlib/libpng許可證

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論