版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章游戲引擎大比拼第1章游戲引擎大比拼PAGEPAGE28PAGEPAGE29第1章游戲引擎大比拼
不論男女老少,很多人在初次使用計(jì)算機(jī)、iPad、iPhone、oPhone接觸互聯(lián)網(wǎng)時(shí),都會(huì)不約而同地選擇“打游戲”。國(guó)內(nèi)第一款網(wǎng)絡(luò)游戲是《萬(wàn)王之王》,2000千禧之年在國(guó)內(nèi)公開(kāi)面市,隨后開(kāi)創(chuàng)了一種劃時(shí)代的全新娛樂(lè)方式。其實(shí),這款網(wǎng)絡(luò)游戲當(dāng)時(shí)僅僅由兩個(gè)人完成,一個(gè)是“萬(wàn)王之父”Ruby,另一個(gè)是“萬(wàn)王之母”O(jiān)nyx。這對(duì)夫妻在1998年12月完成了圖形版《萬(wàn)王之王》的雛形,并在臺(tái)灣省展開(kāi)了Alpha版測(cè)試。游戲的主題是自建國(guó)家(公會(huì)),然后互相攻伐,在網(wǎng)絡(luò)世界中體驗(yàn)氣勢(shì)恢宏的萬(wàn)人國(guó)家戰(zhàn)爭(zhēng)。在技術(shù)層面,主要是完成了由“文字+指令”組成的MUD(泥巴)游戲向2D網(wǎng)絡(luò)圖形化游戲的全面跨越。2001年3月,《萬(wàn)王之王》達(dá)到巔峰,獲得年度全國(guó)軟件行業(yè)協(xié)會(huì)評(píng)比網(wǎng)絡(luò)游戲第一名、中國(guó)第一屆網(wǎng)絡(luò)游戲評(píng)選之最佳網(wǎng)絡(luò)游戲等殊榮。2001年底,雷爵公司正式宣布為《萬(wàn)王之王》的后續(xù)大作《萬(wàn)王之王2》立項(xiàng),并著手進(jìn)行研發(fā)。但是,《萬(wàn)王之王2》自研發(fā)之日起就命運(yùn)多舛。原因之一是《萬(wàn)王之王2》的游戲引擎技術(shù)暴露出很多問(wèn)題。與此同時(shí),整個(gè)網(wǎng)絡(luò)游戲行業(yè)的游戲引擎技術(shù)在2002-2003年期間發(fā)生了一次質(zhì)的飛躍。因此,《萬(wàn)王之王2》的游戲視覺(jué)表現(xiàn)與很多采用新引擎所研發(fā)的網(wǎng)絡(luò)游戲出現(xiàn)越來(lái)越大的差距。到2003年初的時(shí)候,雷爵公司不得不將已經(jīng)完成了40%的《萬(wàn)王之王2》回爐重制,由此產(chǎn)生一系列雪崩效應(yīng),最終導(dǎo)致《萬(wàn)王之王2》在2007年3月20日正式停止運(yùn)營(yíng)。同年12月,巨人網(wǎng)絡(luò)宣布將著手進(jìn)行《萬(wàn)王之王3》的研發(fā)工作,并以此正式宣告巨人網(wǎng)絡(luò)進(jìn)軍3D網(wǎng)絡(luò)游戲領(lǐng)域。響。1.1國(guó)內(nèi)熱門(mén)網(wǎng)絡(luò)游戲引擎類(lèi)型統(tǒng)計(jì)目前,國(guó)內(nèi)一些較有人氣的網(wǎng)絡(luò)游戲雖然仍舊采用2D或2.5D游戲引擎,但運(yùn)營(yíng)商引進(jìn)或自主開(kāi)發(fā)的3D游戲已經(jīng)逐步成為主流,有關(guān)統(tǒng)計(jì)數(shù)據(jù)如表1.1~1.2所示。表1.12001-2009年熱門(mén)網(wǎng)絡(luò)游戲引擎數(shù)據(jù)統(tǒng)計(jì)游戲名稱(chēng)引擎/產(chǎn)地起測(cè)時(shí)間游戲名稱(chēng)引擎/產(chǎn)地起測(cè)時(shí)間熱血傳奇2D/日韓2001仙劍情緣33D/大陸2009奇跡MU2.5D/日韓2002大話(huà)西游2D/大陸2004夢(mèng)幻西游2D/大陸2009仙境傳說(shuō)2.5D/日韓2009魔力寶貝2D/日韓2007FIFAOL23D/歐美2009英雄連OL3D/大陸2006誅仙3D/大陸2007神泣3D/日韓2006QQ炫霧2.5D/大陸2008問(wèn)道2D/大陸2006巨星2.5D/大陸2009完美世界3D/大陸2008傳奇世界2D/大陸2003天堂II3D/日韓2004指環(huán)王OL3D/歐美2009反恐精英3D/歐美2008蒼天OL3D/日韓2008QQ飛車(chē)3D/大陸2008武林外傳3D/大陸2009 續(xù)表游戲名稱(chēng)引擎/產(chǎn)地起測(cè)時(shí)間游戲名稱(chēng)引擎/產(chǎn)地起測(cè)時(shí)間大話(huà)西游III2D/大陸2009神鬼傳奇3D/大陸2009驚天動(dòng)地3D/日韓2006QQ堂2D/大陸2004生死格斗OL3D/日韓2009RF3D/大陸2008新奇跡世界3D/日韓2007寵物森林3D/大陸2008新卓越之劍2D/大陸2007彩虹島2D/日韓2009功夫世界3D/大陸2007街頭籃球2.5D/日韓2005魔神爭(zhēng)霸3D/大陸2008光線(xiàn)飛車(chē)3D/日韓2007大富翁O(píng)L2D/大陸2008十二之天貳3D/日韓2009三國(guó)群英傳2.5D/港臺(tái)2005OL3D/大陸20092010年以來(lái),人們比較關(guān)注的一些網(wǎng)絡(luò)游戲的引擎構(gòu)成統(tǒng)計(jì)數(shù)據(jù)如表1.2所示(有些游戲可能已經(jīng)更新?lián)Q代,請(qǐng)以最新數(shù)據(jù)為準(zhǔn))。百度數(shù)據(jù)研究中心2009年年底發(fā)布的調(diào)查結(jié)果表明:“46.42%的用戶(hù)傾向于3D游戲;11.16%的用戶(hù)傾向于2.5D游戲;42.43%的用戶(hù)傾向于2D游戲”。我們認(rèn)為,這里的傾向有可能是假象,主要是國(guó)內(nèi)游戲開(kāi)發(fā)商、運(yùn)營(yíng)商提供了相當(dāng)數(shù)量的2.5D和2D游戲,國(guó)內(nèi)玩家缺乏其他3D同類(lèi)選擇。果然,百度數(shù)據(jù)研究中心2010年年底發(fā)布的調(diào)查結(jié)果表明:“3D概念更加深入人心,關(guān)注度保持在54%以上。2D網(wǎng)游產(chǎn)品受到進(jìn)一步擠壓,關(guān)注度由年初43.4%回落到年底38.6%”。我們認(rèn)為,這種趨勢(shì)會(huì)進(jìn)一步加強(qiáng),玩家將逐漸放棄關(guān)注2D產(chǎn)品,最多只參與一些經(jīng)典的2D作品。表1.22010年以來(lái)較受關(guān)注的網(wǎng)絡(luò)游戲引擎數(shù)據(jù)統(tǒng)計(jì)引擎分類(lèi)游戲名稱(chēng)2D星座OL、爭(zhēng)霸O(shè)L-百戰(zhàn)堂、神墓OL、亮劍OL、江湖行、大明龍權(quán)、名將三國(guó)、傳奇3、昆侖OL、神武-逍遙外傳、幻想世界、西游記、翼魂、夢(mèng)幻魔獸、天元、浪漫Q唐、冒險(xiǎn)島OL、魔騎士、征途、天工物語(yǔ)、倚天劍與屠龍刀2、夢(mèng)幻星球、幻境傳說(shuō)、三國(guó)殺OL、星辰變、時(shí)空戰(zhàn)記、夢(mèng)幻蜀山、石器時(shí)代2、俠義世界、征途2、熱血昆侖、英雄往事、冒險(xiǎn)大陸、地下城與勇士、降龍之劍、泡泡堂、傳世群英傳、綠色征途、大話(huà)軒轅、天涯OL、夢(mèng)幻誅仙、大話(huà)仙劍、蓬萊、封神榜3、QQ幻想世界、風(fēng)色幻想OL、新絕代雙驕OL、夢(mèng)想帝王、秦傷、桃花源記、劍靈·決、蒼穹之怒、仙境冒險(xiǎn)、倚天屠龍記、大話(huà)西游之戰(zhàn)歌、英雄Q傳、問(wèn)道外傳、圣斗士2、大話(huà)紅樓、武林秘籍、八仙外傳、武俠無(wú)雙、水滸傳、斗神、守護(hù)之劍、核金風(fēng)暴、忍者世界、將軍令、三界西游、天跡、決戰(zhàn)雙城、永久基地2、元斗士、陸戰(zhàn)王、龍之大陸、貂嬋、紅途、抗戰(zhàn)2、九州OL、奇門(mén)、山海奇緣、邪風(fēng)曲OL、夢(mèng)想世界、戰(zhàn)國(guó)群雄、明朝演義、白蛇傳OL、諾亞傳說(shuō)、夢(mèng)幻昆侖、新鬼吹燈、都市快打、夢(mèng)幻穿越、英雄美人2、仙侶外傳、熱血世界、鐵血丹心、夢(mèng)幻情緣、盤(pán)古戰(zhàn)紀(jì)、漫游OL、名將2、大話(huà)戰(zhàn)國(guó)歸來(lái)、新石頭記、刀劍英雄、蒼茫世界、圣龍Q傳、劍仙、劍雨天下、時(shí)空戰(zhàn)記、奪寶世界、仙魔傳奇、夢(mèng)回山海、災(zāi)變、天地劫、熱血傳奇、夢(mèng)幻西游、魔力寶貝、雷電、劍俠世界、英雄島、數(shù)碼寶貝OL、英雄年代、大秦天下、龍影、漂流幻境、生肖傳說(shuō)、仙尊、海之樂(lè)章、逍遙傳說(shuō)、天朝、機(jī)戰(zhàn)、戰(zhàn)國(guó)后傳、新天驕、幻想封神、快樂(lè)神仙、勇者斗斗龍、開(kāi)心果、真愛(ài)西游、滄海、華夏前傳、仙侶奇緣3、長(zhǎng)江7號(hào)、炎黃OL、開(kāi)創(chuàng)世紀(jì)2013、星空傳奇、西夏OL、戀仙OL 續(xù)表引擎分類(lèi)游戲名稱(chēng)2.5D成吉思汗、蒼穹之劍、QQ仙境、獸血外傳、仙途、西游天下、魔咒、易三國(guó)、帝王OL、魔域、倩女幽魂OL、天龍八部2、天之痕OL、街頭籃球2、獵國(guó)、遠(yuǎn)征OL、醉逍遙、大唐無(wú)雙、東邪西毒、巨人前傳、神仙傳、蒼生OL、神鬼世界、魔界2、月影傳說(shuō)、軒轅傳奇、仙OL、凡人修仙傳、極速輪滑、夢(mèng)幻問(wèn)情、煉獄OL、傭兵天下、神話(huà)、巨刃、百年戰(zhàn)爭(zhēng)、魔戒傳奇、暗夜傳說(shuō)、夢(mèng)想島、夢(mèng)幻迪士尼、魔盜OL、水滸無(wú)雙、埃爾之光、兵王、九刃、圣道傳奇、仙蛇傳、霸者無(wú)雙、盛世傳奇、諸神國(guó)度、仙門(mén)、武魂、龍紋、海之夢(mèng)、六道2、風(fēng)色群英傳、死神之刃、艾米爾編年史、傳奇密傳、劍圣OL、西游3、天子、錦衣衛(wèi)、十虎、天魔傳說(shuō)、龍之傳奇、月光寶盒、封神爭(zhēng)霸O(shè)L、魔神無(wú)雙、江山美人、漢武大帝、TANTRA2(密傳2)、煮酒天下、梁山豪杰、火鳳燎原、修魔、藍(lán)空OL、決勝、預(yù)言2、特勤隊(duì)2、光之冒險(xiǎn)、玄界OL、雷霆、巨俠、行會(huì)爭(zhēng)霸、超神傳、劍雨OL、科洛斯風(fēng)云、封神演義前傳、屠魔、劍俠傳奇、紅顏、仙境傳說(shuō)、QQ炫舞、大唐豪俠外傳、英雄無(wú)敵OL、劍俠時(shí)代、夢(mèng)幻情天、拍拍部落、倚天屠魔、紅色警戒、勁舞世界、猛將傳OL、傾國(guó)傾城、帝王OL、逍遙界、熱血天下、天魔傳奇、十二封印3DAVA、真三國(guó)無(wú)雙OL、赤壁、地牢騎士團(tuán)、星塵傳說(shuō)、仙魔OL、眾神之戰(zhàn)、創(chuàng)世紀(jì)、萬(wàn)王之王3、誅仙2、穿越火線(xiàn)、俠客列傳、戰(zhàn)斗足球、東游記、納雅外傳、iTown、永恒之塔、魔獸世界、流星蝴蝶劍OL、神兵傳奇、天下貳、極光世界、龍之谷、絕地反擊、Mstar、跑跑卡丁車(chē)、神魔大陸、完美國(guó)際、武林至尊、天之翼、全球使命、夢(mèng)幻聊齋、丟丟、洛汗、獵刃、岐山、戰(zhàn)地之王、精靈樂(lè)章、龍的傳人、熱血江湖、圣域傳說(shuō)、天源4591、天境、創(chuàng)世西游、QQ仙俠傳、武神、夢(mèng)三國(guó)、水滸Q傳、?;?、神雕OL、天翼決、晶鐵之門(mén)、QQ西游、金剛8號(hào)、創(chuàng)誓記、自在飛車(chē)、新飛飛、王者世界、勇士OL、七劍OL、洛奇、幻魔之眼、新封印傳說(shuō)、龍騰世界、LUNAOL、新蜀門(mén)、網(wǎng)球?qū)氊?、仙劍神曲OL、九陰真經(jīng)、英雄聯(lián)盟、仙劍情緣OL、功夫英雄、開(kāi)心大陸、書(shū)劍恩仇錄、御龍?jiān)谔?、?zhàn)地風(fēng)云OL、突擊風(fēng)暴、卓越之劍2、天堂夢(mèng)、NBA2KOL、奇跡世界2、泡泡戰(zhàn)士、第九大陸、巫師之怒、刀劍2、鹿鼎記、全民足球、紙片人、桃園、三國(guó)戰(zhàn)魂、坦克世界、聚仙、地下城守護(hù)者OL、生化戰(zhàn)場(chǎng)、魔鑰、大沖鋒、火力突擊、天外飛仙、風(fēng)暴戰(zhàn)區(qū)、暗黑紀(jì)元、勇者之翼、戰(zhàn)爭(zhēng)前線(xiàn)、勁唱團(tuán)、隋唐演義OL、悟空傳、天驕3、白蛇傳說(shuō)、天地決、特種部隊(duì)、龍之夢(mèng)OL、烈焰行動(dòng)、君·天下、潘多拉、零紀(jì)元、精靈傳說(shuō)、麻辣江湖、魔卡精靈、熱血天驕、Avalon、炫舞吧2、大劍OL、獨(dú)孤九劍、玄天之劍、誅仙前傳、玄武、熱血戰(zhàn)隊(duì)、烽火大唐、代號(hào)巨人X、五岳乾坤、特戰(zhàn)先鋒、蠻荒、高爾夫達(dá)人、?;辍崃ε徘?、黑暗帝國(guó)、寵物王國(guó)、神鬼傳奇、一級(jí)戒備、煉獄世界、哈姆寶寶、終極火力、驚天動(dòng)地2、圣魔之血、開(kāi)心星球、狼隊(duì)、幻獸大陸、中華龍塔、乾坤OL、混沌之門(mén)、八仙過(guò)海、夢(mèng)境之城、熱血戰(zhàn)地、魔卡、熱斗傳說(shuō)、藍(lán)海戰(zhàn)記、JR01、蜀山神話(huà)、魔霸、MKZ軍魂、石器2012、刀劍笑、上古世界、完美世界、界王、神跡、西游群英傳、瘋狂飛空艇、大漢龍騰、惡魔法則3、越野狂飆、絕對(duì)火力、舞型舞秀、洪荒、熱血水滸、俠客行、出發(fā)OL、天子傳奇、復(fù)仇、中華英雄OL、新地牢騎士團(tuán)、勁舞團(tuán)、FIFAOL、星戰(zhàn)前夜、飄邈之旅、反恐精英OL、上古神殿、新武林外傳、俠道金剛、聊個(gè)齋、守護(hù)傳說(shuō)、飛天風(fēng)云、霸王大陸、幻想學(xué)園、大航海時(shí)代OL、尋仙、通靈王、龍魂、第七區(qū)、群英賦、武林群俠傳OL、寵物小精靈OL、精靈復(fù)興、空戰(zhàn)世紀(jì)、熱舞派對(duì)、極速輪滑、反恐行動(dòng)、魔法之門(mén)、人生OL、水晶物語(yǔ)OL、星空之戀、超級(jí)樂(lè)者、超級(jí)舞者、飚車(chē)世界、異界OL、夢(mèng)幻龍族、春秋爭(zhēng)霸、信長(zhǎng)野望OL、隋唐Q傳、熱血騎士、魔龍戰(zhàn)紀(jì)、風(fēng)云、舞街區(qū)、戰(zhàn)鼓傳說(shuō)、滅神、沖鋒OL、超級(jí)西西三國(guó)、鐵血星球、天命OL、唯舞獨(dú)尊OL、幻想大陸、激戰(zhàn)海陸空、奇?zhèn)b傳、童夢(mèng)伴隨著三網(wǎng)融合以及3G時(shí)代的逐步來(lái)臨,用戶(hù)擁有的游戲終端設(shè)備的性能不斷提升,游戲帶寬成本不斷降低,精美絕倫的畫(huà)面品質(zhì)以及別具匠心的創(chuàng)意可以在網(wǎng)絡(luò)游戲情節(jié)中發(fā)揮得淋漓盡致,成為吸引玩家的核心秘笈。因此,采用性能卓越的3D引擎,已經(jīng)成為游戲開(kāi)發(fā)商在玩家中“攻城略地、劃分疆土”的秘密武器。例如,巨人網(wǎng)絡(luò)在復(fù)興《萬(wàn)王之王3》時(shí),就宣稱(chēng)組建了200多人的精英開(kāi)發(fā)團(tuán)隊(duì),采用具有專(zhuān)利的服務(wù)器端技術(shù)(3D游戲引擎中的一部分功能)進(jìn)行研發(fā)。通常,3D游戲引擎完整代碼由游戲開(kāi)發(fā)商嚴(yán)格控制,甚至連游戲開(kāi)發(fā)人員也無(wú)法窺其全貌。一般游戲愛(ài)好者、程序開(kāi)發(fā)人員如果沒(méi)有較長(zhǎng)時(shí)間的探索積累,很難迅速構(gòu)造一個(gè)簡(jiǎn)單易用、性能優(yōu)良、架構(gòu)合理、開(kāi)放擴(kuò)展的3D游戲引擎。本書(shū)通過(guò)一系列分析對(duì)比,從全世界一些知名的開(kāi)源商業(yè)3D游戲引擎中遴選出Panda3D,將其作為經(jīng)典3D游戲引擎呈現(xiàn)給讀者,幫助讀者完整把握3D游戲引擎的基本架構(gòu)與功能,掌握一種3D游戲引擎的開(kāi)發(fā)與使用。實(shí)踐已經(jīng)證明,Panda3D是一個(gè)成熟的商業(yè)3D游戲引擎,可以“拿來(lái)就用”。另一方面,對(duì)于那些追求3D游戲引擎更高目標(biāo)的研發(fā)人員,Panda3D無(wú)疑也是一個(gè)經(jīng)得起考驗(yàn)的“巨人的肩膀”。1.2Panda3D的前世今生從誕生之日起,Panda3D的目標(biāo)就是服務(wù)于商業(yè)化3D應(yīng)用開(kāi)發(fā)。當(dāng)?shù)纤鼓釡?zhǔn)備為迪斯尼主題公園開(kāi)發(fā)一系列3D應(yīng)用時(shí),Panda3D在研制“阿拉丁的魔毯”過(guò)程中逐步形成并最終演化為開(kāi)源商業(yè)3D游戲引擎。隨后,作為DisneyVRStudio的核心,Panda3D先后用來(lái)創(chuàng)建由一系列卡通人物游戲集合構(gòu)成的“卡通城OL”及第二代MMORPG“加勒比海盜OL”。Panda3D中Panda是PlatformAgnosticNetworkedDisplayArchitecture各單詞第一個(gè)字母的縮寫(xiě),其真正含義是“平臺(tái)無(wú)關(guān)網(wǎng)絡(luò)化顯示架構(gòu)”。天公作美,竟然與我們的國(guó)寶熊貓同名。在USNews排名中計(jì)算機(jī)水平第一的美國(guó)著名學(xué)府“卡內(nèi)基梅隆大學(xué)”承擔(dān)了Panda3D的研制。后來(lái),迪斯尼工程師繼續(xù)大規(guī)模開(kāi)發(fā)3D游戲,而Panda3D的研制者為了促進(jìn)各大學(xué)更為方便地開(kāi)展虛擬現(xiàn)實(shí)研究項(xiàng)目,決定從2002年開(kāi)始,將3D引擎發(fā)布為開(kāi)源項(xiàng)目。發(fā)布開(kāi)源項(xiàng)目不是簡(jiǎn)單的事情,需要持續(xù)更新引擎的新技術(shù)并提供大量的文檔和實(shí)例以繁榮開(kāi)源社區(qū)。目前,Panda3D開(kāi)源工作由卡內(nèi)基梅隆娛樂(lè)技術(shù)中心負(fù)責(zé)。成為世界上最為活躍的開(kāi)源商業(yè)化3D游戲引擎社區(qū)之一。到目前為止,采用Panda3D引擎的一些著名開(kāi)發(fā)商及其商業(yè)化產(chǎn)品如表1.3所示。隨著時(shí)間的推移,Panda3D引擎名稱(chēng)來(lái)歷中的技術(shù)背景已經(jīng)變得越來(lái)越模糊了?,F(xiàn)在,卡內(nèi)基梅隆娛樂(lè)技術(shù)中心也樂(lè)于以熊貓作為這個(gè)3D游戲引擎的Logo(帶著紅色、綠色雙色眼鏡的藍(lán)色熊貓)。為了確保讀者對(duì)Panda3D有全面的了解,先暫時(shí)停止對(duì)這款游戲引擎的深入探索,看看游戲引擎行業(yè)的整體狀況。表1.3采用Panda3D的著名開(kāi)發(fā)商及其商業(yè)化產(chǎn)品(運(yùn)行截屏參看彩頁(yè))開(kāi)發(fā)商商業(yè)化產(chǎn)品迪斯尼Disney卡通城:/加勒比海盜OL:/welcome秋月娛樂(lè)AutumnMoonEntertainment巫胡島的幽靈海盜:http://www.ghost-pirates.de/start.php吸血鬼傳奇:/SimOpsStudiosCode3D:/MSASafetyPoliceLine熱成像仿真游戲:/thermal_enforcer.htmlTreeform敢死天使第二次星宿戰(zhàn)爭(zhēng):/index.htmlKochMediaGmbH,Austria七百萬(wàn):/1.3游戲引擎的發(fā)展游戲引擎是游戲廠商擁有和使用的用于開(kāi)發(fā)游戲的專(zhuān)用中間件,可以有選擇地在微軟Windows、Linux、Mac、Symbian、Android等操作系統(tǒng)上運(yùn)行?,F(xiàn)代游戲引擎最核心的目的是集成、封裝開(kāi)發(fā)游戲時(shí)的服務(wù)器端功能,并為客戶(hù)端游戲應(yīng)用提供相關(guān)支持。作為延伸和擴(kuò)展,許多游戲引擎還提供快速開(kāi)發(fā)環(huán)境。游戲引擎不僅可以用來(lái)開(kāi)發(fā)游戲,也可以用于虛擬現(xiàn)實(shí)、動(dòng)態(tài)仿真、影視視頻制作、互動(dòng)娛樂(lè)、時(shí)尚UI、醫(yī)學(xué)診斷、CAI等領(lǐng)域。撇開(kāi)底層實(shí)現(xiàn)技術(shù),游戲引擎的核心功能包括場(chǎng)景運(yùn)行、2D及3D圖形渲染、物理碰撞檢測(cè)及響應(yīng)、動(dòng)畫(huà)、音頻、腳本、人工智能、網(wǎng)絡(luò)、流、內(nèi)存管理、多線(xiàn)程、本地化等。借助于游戲引擎,游戲開(kāi)發(fā)可以大量實(shí)現(xiàn)代碼重用,促進(jìn)產(chǎn)業(yè)規(guī)?;?。從專(zhuān)業(yè)技術(shù)角度而言,不同游戲引擎的區(qū)別在于提供不同的硬件兼容、軟件架構(gòu)、組件結(jié)構(gòu)及3D游戲?qū)ο蟪橄蟆?duì)于設(shè)計(jì)合理的游戲引擎,無(wú)論是在使用不同操作系統(tǒng)的個(gè)人電腦、移動(dòng)終端還是專(zhuān)用游戲平臺(tái)上,運(yùn)行相同游戲幾乎不需要修改代碼或者修改量非常少。隨著計(jì)算機(jī)組件技術(shù)的不斷成熟,好的游戲引擎允許不斷替換、升級(jí)或擴(kuò)展特定的組成部分,例如物理動(dòng)力特性引擎、多維音效引擎、高清數(shù)字視頻引擎等。有些引擎甚至采用不同松耦合的組件系統(tǒng)集成產(chǎn)生。當(dāng)然,相對(duì)于引擎擴(kuò)展性而言,引擎實(shí)時(shí)性更加至關(guān)重要。由于視覺(jué)需求是第一位的,很多“游戲引擎”有時(shí)專(zhuān)注于實(shí)時(shí)3D渲染,舍棄了其他功能定位,并把相關(guān)內(nèi)容空出,留給后續(xù)開(kāi)發(fā)人員。其實(shí),這類(lèi)“游戲引擎”本質(zhì)上是“圖形引擎”、“渲染引擎”。例如OGRE、Irrlicht、JMonkey、RealmForge、Truevision3D、CrystalSpace、Genesis3D、Vision等引擎。1.3.1抽象硬件比游戲引擎、圖形引擎更為底層的圖形及多媒體API軟件抽象是Direct3D、OpenGL、SimpleDirectMediaLayer(SDL)、OpenAudioLibrary(OpenAL),適用于圖形處理器(GPU)、視頻卡或聲卡。它們對(duì)鼠標(biāo)、鍵盤(pán)、游戲桿、網(wǎng)卡、聲卡等進(jìn)行了硬件無(wú)關(guān)處理。有時(shí),這些底層函數(shù)庫(kù)也被用來(lái)直接開(kāi)發(fā)游戲,所以在一定程度上產(chǎn)生了誤解。其實(shí)它們不是引擎而是函數(shù)庫(kù),更加關(guān)注與硬件的兼容集成性。隨著硬件圖形加速技術(shù)的發(fā)展,各種物理API,例如逐行倒相制式(PAL)、3D資產(chǎn)內(nèi)部交換格式(COLLADA)也逐步出現(xiàn)。它們通常由不同中間件廠商提供,為上層應(yīng)用與底層物理處理單元提供一種軟件抽象和隔離。1.3.2軟件抽象早先的游戲從頭到尾很少采用抽象設(shè)計(jì)概念,只是進(jìn)行緊耦合式開(kāi)發(fā),代碼很難重用,除函數(shù)外沒(méi)有其他軟件抽象層次。第一代圖形引擎或渲染引擎代表是Argonaut公司的BRender、Criterion公司的Renderware和Reality實(shí)驗(yàn)室的RenderMorphics。后者速度最快,但團(tuán)隊(duì)一些主要開(kāi)發(fā)人員被微軟撬走從事Direct3D研制,而RenderMorphics引擎也在被游戲巨頭ElectronicArts收購(gòu)后有意逐漸廢棄。完整的游戲引擎概念出現(xiàn)在20世紀(jì)90年代中期,與第一人稱(chēng)射擊類(lèi)3D游戲(FPS)的興起有關(guān),其典型代表是Doom和Quake。獲得許可后,開(kāi)發(fā)人員可以設(shè)計(jì)自己的場(chǎng)景、角色、武器和關(guān)卡,無(wú)需一切從頭開(kāi)始。有關(guān)定制部分也稱(chēng)為“游戲內(nèi)容”、“游戲資產(chǎn)”。游戲策劃、游戲資產(chǎn)制作與游戲編程的分工加速了游戲產(chǎn)業(yè)化過(guò)程。后來(lái),一些公司更加專(zhuān)注于游戲引擎的設(shè)計(jì)與實(shí)現(xiàn)問(wèn)題,并通過(guò)軟件許可證方式獲利,例如Unreal引擎。通常,一個(gè)高端商業(yè)化游戲引擎的單個(gè)許可證費(fèi)用是1萬(wàn)到100萬(wàn)美元。由于游戲引擎研制的專(zhuān)業(yè)化運(yùn)作,游戲產(chǎn)業(yè)更能健康持續(xù)地與最新技術(shù)一起同步發(fā)展。與數(shù)據(jù)庫(kù)等行業(yè)軟件類(lèi)似,現(xiàn)代游戲引擎是一個(gè)非常龐雜精致的應(yīng)用支持系統(tǒng),其內(nèi)部架構(gòu)、組件模式,最終精確實(shí)時(shí)地強(qiáng)化著用戶(hù)體驗(yàn)?,F(xiàn)代游戲引擎大多強(qiáng)調(diào)渲染、腳本、關(guān)卡、藝術(shù)效果等功能的強(qiáng)分隔、松耦合。為牛頓式技術(shù)癡人與畢加索式藝術(shù)瘋子同臺(tái)演出提供了可能。不同流派的游戲引擎已經(jīng)廣泛應(yīng)用于各種游戲。多線(xiàn)程技術(shù)是現(xiàn)代游戲引擎的核心機(jī)制,涉及場(chǎng)景運(yùn)行、渲染、物理碰撞檢測(cè)及響應(yīng)、動(dòng)畫(huà)、音頻、腳本、人工智能、網(wǎng)絡(luò)、流、內(nèi)存管理、本地化。例如,在多線(xiàn)程技術(shù)保持領(lǐng)先的一些賽車(chē)游戲中,物理碰撞檢測(cè)及響應(yīng)引擎可以使用一個(gè)單獨(dú)的線(xiàn)程,在其他核心子系統(tǒng)移動(dòng)之前就開(kāi)始運(yùn)行,因?yàn)殇秩竞推渌蝿?wù)刷新頻率為30~60Hz,而物理碰撞檢測(cè)及響應(yīng)引擎刷新頻率大約為100~360Hz。當(dāng)前,游戲引擎已經(jīng)將跨平臺(tái)、跨設(shè)備作為一個(gè)發(fā)展方向,對(duì)iPhone、iPad、瀏覽器的支持日益加強(qiáng)。實(shí)現(xiàn)語(yǔ)言也從原來(lái)的C/C++為主,豐富到涵蓋Java、C#/.NET、Python等。因?yàn)殡S著硬件設(shè)備整體性能的大幅度提高,高級(jí)語(yǔ)言已經(jīng)不再會(huì)過(guò)多延遲游戲運(yùn)行,相反,高級(jí)語(yǔ)言尤其是腳本語(yǔ)言的靈活性,為開(kāi)發(fā)人員及用戶(hù)提供了更大的好處。本書(shū)將深入介紹Python腳本語(yǔ)言帶來(lái)的靈活和便利。微軟在游戲引擎領(lǐng)域也是動(dòng)作頻頻,使用.NETFramework和新發(fā)布的XNAGameStudio、GameDevelopmentSite,全面支持Xbox360以及Zune播放器。還有一些引擎,不對(duì)第三方發(fā)布,由游戲開(kāi)發(fā)商單獨(dú)控制使用。它們不在本書(shū)討論范圍之內(nèi)。1.4開(kāi)源游戲引擎整體比較業(yè)界公開(kāi)且比較知名的開(kāi)源游戲引擎統(tǒng)計(jì)如表1.4所示。從統(tǒng)計(jì)數(shù)據(jù)來(lái)看,C++語(yǔ)言依然是目前游戲引擎的主要開(kāi)發(fā)語(yǔ)言,而腳本語(yǔ)言中支持較多的是Lua和Python。還有一些免費(fèi)游戲引擎,不提供源代碼,但是可以在一定程度上免費(fèi)使用,本書(shū)不討論。表1.4知名開(kāi)源游戲引擎統(tǒng)計(jì)名稱(chēng)開(kāi)發(fā)語(yǔ)言綁定跨平臺(tái)SDL針對(duì)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ù)表名稱(chēng)開(kāi)發(fā)語(yǔ)言綁定跨平臺(tái)SDL針對(duì)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ù)表名稱(chēng)開(kāi)發(fā)語(yǔ)言綁定跨平臺(tái)SDL針對(duì)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ù)表名稱(chēng)開(kāi)發(fā)語(yǔ)言綁定跨平臺(tái)SDL針對(duì)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所示。其中,實(shí)力較強(qiáng)的完全商業(yè)化游戲引擎是Jade、PhyreEngine、SourceEngine、UnrealEngine3.x等。另外,可以看出,即便與完全商業(yè)化運(yùn)作的游戲引擎相比,Panda3D也還是相當(dāng)有實(shí)力。表1.5知名游戲引擎及其代表游戲游戲引擎名稱(chēng)代表游戲Nel3DMMORPGGameEngineRyzom,TheSagaofRyzomAlamoEmpireatWar,ForcesofCorruption,UniverseatWar:EarthAssault續(xù)表游戲引擎名稱(chēng)代表游戲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ù)表游戲引擎名稱(chēng)代表游戲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ù)表游戲引擎名稱(chēng)代表游戲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游戲引擎的成本與收益采用游戲引擎開(kāi)發(fā)游戲是上手迅速、品質(zhì)有保障、技術(shù)領(lǐng)先、開(kāi)發(fā)周期縮短的一種工業(yè)化分工合作模式。不管使用哪種游戲引擎,都會(huì)有一定的成本構(gòu)成和預(yù)期收益。(1) 通常,使用游戲引擎的直接成本構(gòu)成如下:許可證費(fèi)用。支付給游戲引擎開(kāi)發(fā)商的全部費(fèi)用,包括游戲產(chǎn)品許可證費(fèi)用、版稅協(xié)議、客戶(hù)培訓(xùn)費(fèi)用等。由游戲產(chǎn)品支持客戶(hù)數(shù)、許可證綁定目標(biāo)平臺(tái)、每客戶(hù)或每年度服務(wù)、銷(xiāo)售版稅等因素決定。游戲產(chǎn)品費(fèi)用。與游戲產(chǎn)品整個(gè)生命周期中“游戲研發(fā)階段”各產(chǎn)業(yè)鏈環(huán)節(jié)相關(guān)的全部費(fèi)用。包括創(chuàng)意、提案、制作、集成、測(cè)試、發(fā)布費(fèi)用,直接用于相關(guān)產(chǎn)品開(kāi)發(fā)的策劃、管理、設(shè)計(jì)與實(shí)現(xiàn)。培訓(xùn)費(fèi)用。這是評(píng)估游戲引擎的一個(gè)重要尺度。涉及開(kāi)發(fā)團(tuán)隊(duì)技術(shù)學(xué)習(xí)曲線(xiàn)成本、時(shí)間投資成本、開(kāi)發(fā)商培訓(xùn)成本。由論壇、知識(shí)庫(kù)、技術(shù)文檔、教學(xué)視頻、在線(xiàn)幫助、實(shí)際案例等因素決定。維護(hù)升級(jí)費(fèi)用。不論是自己開(kāi)發(fā)游戲引擎還是使用第三方游戲引擎,都需要對(duì)游戲引擎的軟件抽象設(shè)計(jì)、技術(shù)實(shí)現(xiàn)進(jìn)行維護(hù)和升級(jí),以適應(yīng)游戲效果、游戲規(guī)模、硬件平臺(tái)、設(shè)備性能、IT技術(shù)的變革。由開(kāi)發(fā)團(tuán)隊(duì)研發(fā)費(fèi)用、福利薪資、軟硬件測(cè)試配置等因素決定。資質(zhì)評(píng)測(cè)費(fèi)用。在評(píng)測(cè)游戲產(chǎn)品相關(guān)資質(zhì)時(shí),對(duì)于創(chuàng)意、藝術(shù)視覺(jué)、音效、產(chǎn)品質(zhì)量、性能體驗(yàn)都需要嚴(yán)格把關(guān)。使用游戲引擎降低了資質(zhì)評(píng)測(cè)的時(shí)間和費(fèi)用,減少了培訓(xùn)、支持、現(xiàn)場(chǎng)跟蹤的時(shí)間及人力投入。(2) 另一方面,使用游戲引擎的直接收益如下:節(jié)省時(shí)間。游戲產(chǎn)品開(kāi)發(fā)過(guò)程簡(jiǎn)化為創(chuàng)意、提案、游戲資產(chǎn)制作、游戲內(nèi)容集成、測(cè)試、發(fā)布。每個(gè)環(huán)節(jié)之間的時(shí)序依賴(lài)和對(duì)底層技術(shù)的依賴(lài)相對(duì)弱化。有些游戲甚至可以直接采用“腳本+游戲資產(chǎn)”來(lái)實(shí)現(xiàn)。節(jié)省成本。開(kāi)發(fā)團(tuán)隊(duì)及其管理得以精簡(jiǎn),對(duì)開(kāi)發(fā)人員整體技能要求可以有所下降,節(jié)省單個(gè)產(chǎn)品開(kāi)發(fā)預(yù)算,為延長(zhǎng)產(chǎn)品線(xiàn)提供了可能。聚焦游戲產(chǎn)品本質(zhì)。游戲產(chǎn)品歸根結(jié)底是創(chuàng)意產(chǎn)品,借助于優(yōu)秀的游戲引擎,游戲開(kāi)發(fā)商可以更加聚焦于游戲的創(chuàng)意,并保證好的創(chuàng)意可以最終轉(zhuǎn)換為好的產(chǎn)品,好的體驗(yàn)。支持更為專(zhuān)業(yè)。游戲引擎是一種開(kāi)放式、發(fā)展的中間件,有利于專(zhuān)業(yè)技術(shù)人才資源的有效整合和共享。共享行業(yè)知識(shí)經(jīng)驗(yàn)。游戲開(kāi)發(fā)商在成長(zhǎng)過(guò)程中會(huì)遇到一系列問(wèn)題,其有效解決往往與技術(shù)實(shí)現(xiàn)密切相關(guān)。采用游戲引擎可以快速獲取有關(guān)行業(yè)知識(shí)經(jīng)驗(yàn),對(duì)于游戲開(kāi)發(fā)商的迅速發(fā)展能提供更多的機(jī)會(huì)和便利。1.7選擇游戲引擎的尺度游戲?qū)<襇arkDeloura曾經(jīng)做過(guò)一項(xiàng)調(diào)查,統(tǒng)計(jì)有關(guān)游戲開(kāi)發(fā)商選擇不同游戲引擎的尺度,可以歸結(jié)為以下幾個(gè)方面:整體目標(biāo)。大約90%的開(kāi)發(fā)商認(rèn)為是確保藝術(shù)家、設(shè)計(jì)師快速上手;大約80%的開(kāi)發(fā)商認(rèn)為是需要開(kāi)發(fā)人員只關(guān)注游戲必需代碼;大約70%的開(kāi)發(fā)商認(rèn)為是需要游戲開(kāi)發(fā)快一點(diǎn)并且代碼編寫(xiě)量少一點(diǎn)。引擎質(zhì)量。大約70%的開(kāi)發(fā)商關(guān)注引擎與計(jì)劃游戲產(chǎn)品流派是否匹配;大約70%的開(kāi)發(fā)商關(guān)注代碼可讀性及擴(kuò)展性;大約60%的開(kāi)發(fā)商關(guān)注與現(xiàn)有開(kāi)發(fā)資源環(huán)境的集成性;大約60%的開(kāi)發(fā)商關(guān)注是否可以獲取源代碼。實(shí)踐有效性(適用于開(kāi)發(fā)人員)。大約90%的開(kāi)發(fā)人員考慮獲取源代碼;大約80%的開(kāi)發(fā)人員考慮與其他中間件的集成性,大約80%的開(kāi)發(fā)人員考慮資源管理易于變更;大約80%的開(kāi)發(fā)人員考慮不斷獲取游戲引擎最新版本;大約80%的開(kāi)發(fā)人員考慮清晰的工程開(kāi)發(fā)路線(xiàn)圖。技術(shù)功能。大約90%的開(kāi)發(fā)商需要多線(xiàn)程/多處理器功能;大約90%的開(kāi)發(fā)商需要渲染管道;大約90%的開(kāi)發(fā)商需要?jiǎng)赢?huà)系統(tǒng);大約80%的開(kāi)發(fā)商需要物理碰撞檢測(cè);大約80%的開(kāi)發(fā)商需要流機(jī)制。支持工具集。大約80%的開(kāi)發(fā)商希望支持配置文件;大約80%的開(kāi)發(fā)商希望具有所有目標(biāo)平臺(tái)的預(yù)覽工具;大約80%的開(kāi)發(fā)商希望具有獨(dú)立的場(chǎng)景構(gòu)造工具;大約70%的開(kāi)發(fā)商希望具有粒子系統(tǒng)編輯器;大約70%的開(kāi)發(fā)商希望具有腳本支持功能。對(duì)于大多數(shù)游戲開(kāi)發(fā)商而言,采用國(guó)外完全商業(yè)化運(yùn)作的游戲引擎的費(fèi)用過(guò)于昂貴,而采用開(kāi)源游戲引擎是一個(gè)相對(duì)經(jīng)濟(jì)實(shí)惠、后續(xù)發(fā)展力強(qiáng)勁的選擇。因此,在了解了游戲引擎的整體狀況之后,我們來(lái)深入對(duì)比幾款著名的開(kāi)源游戲引擎。1.8十大開(kāi)源游戲引擎深入比較在國(guó)內(nèi)外,業(yè)界盛傳有十大開(kāi)源游戲引擎,分別是OGRE、Irrlicht、Panda3D、CrystalSpace、jME、BlenderGameEngine、RealityFactory、TheNebulaDevice2、RealmForge、OpenScene-Graph。我們對(duì)這十款開(kāi)源游戲引擎深入進(jìn)行分析。(1) OGRE是面向?qū)ο髨D形渲染引擎(Object-OrientedGraphicsRenderingEngine)的縮寫(xiě),采用C++開(kāi)發(fā),以MIT許可證發(fā)布,可以在Windows、Linux、Mac上運(yùn)行。OGRE自己也說(shuō)明本身不是游戲引擎。其主要特征如下:面向?qū)ο?,插件擴(kuò)展架構(gòu),具有文檔支持。支持腳本??梢酝ㄟ^(guò)腳本管理材質(zhì)資產(chǎn)并進(jìn)行多路渲染。支持物理碰撞檢測(cè)。支持頂點(diǎn)燈光、像素?zé)艄?、燈光映射。支持陰影映射、三維陰影。支持多紋理、凹凸貼圖、多重材質(zhì)貼圖、立體投影。支持頂點(diǎn)、像素、高級(jí)著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持逆向運(yùn)動(dòng)動(dòng)畫(huà)、骨架動(dòng)畫(huà)、變形動(dòng)畫(huà)、混合動(dòng)畫(huà)及姿態(tài)動(dòng)畫(huà)。支持網(wǎng)格加載、皮膚、漸進(jìn)網(wǎng)格。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、運(yùn)動(dòng)模糊、天空、水、霧、絲帶軌跡、透明對(duì)象。支持XML文件轉(zhuǎn)換。引擎特性全面(),穩(wěn)定性好(),支持全面(),不容易上手和使用()。(2) Irrlicht采用C++開(kāi)發(fā),以zlib/libpng許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、FreeBSD、Xbox上運(yùn)行。Irrlicht自己也說(shuō)明本身不是游戲引擎。其主要特征如下:面向?qū)ο?,插件擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建場(chǎng)景、燈光、GUI編輯器。支持物理碰撞檢測(cè)。支持頂點(diǎn)燈光、像素?zé)艄?、燈光映射。支持陰影映射、三維陰影、模板緩沖區(qū)陰影。支持多紋理、凹凸貼圖、多重材質(zhì)貼圖、立體投影。支持頂點(diǎn)、像素、高級(jí)著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu),允許無(wú)縫集成室內(nèi)及室外場(chǎng)景。支持骨架動(dòng)畫(huà)、變形動(dòng)畫(huà)及混合動(dòng)畫(huà)。支持網(wǎng)格加載。支持環(huán)境映射、公告牌、粒子、天空、水、霧。支持地形渲染。引擎特性全面(),穩(wěn)定性好(),支持全面(),容易上手和使用()。(3) Panda3D采用C++和Python開(kāi)發(fā),以BSD許可證發(fā)布,可以在Windows、Linux、Mac、SunOS上使用。Panda3D是一個(gè)完整的游戲引擎。其主要特征如下:面向?qū)ο?,腳本擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建場(chǎng)景、粒子、關(guān)卡編輯器。支持物理碰撞檢測(cè),可以用于運(yùn)動(dòng)物體。支持頂點(diǎn)燈光、像素?zé)艄?、燈光映射。支持陰影映射、三維陰影、模板緩沖區(qū)陰影。支持多紋理、凹凸貼圖、多重材質(zhì)貼圖、立體投影。支持頂點(diǎn)、像素、高級(jí)著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持骨架動(dòng)畫(huà)。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、公告牌、粒子、霧、火。支持地形渲染。支持“客戶(hù)端/服務(wù)器”網(wǎng)絡(luò)模式。支持2D、3D和流音效。支持有限狀態(tài)機(jī)、人工智能。引擎特性全面(),穩(wěn)定性很好(),支持很全面(),很容易上手和使用()。(4) CrystalSpace采用C++開(kāi)發(fā),以L(fǎng)GPL許可證發(fā)布,可以在Windows、Linux、Mac上使用。CrystalSpace是一個(gè)完整的游戲引擎。其主要特征如下:面向?qū)ο螅M件擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建場(chǎng)景、燈光、GUI編輯器。支持物理碰撞檢測(cè),可以用于運(yùn)動(dòng)物體。支持頂點(diǎn)燈光、燈光映射。支持陰影映射、三維陰影。支持多紋理、多重材質(zhì)貼圖。支持頂點(diǎn)、像素著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持骨架動(dòng)畫(huà)、幀動(dòng)畫(huà)、變形動(dòng)畫(huà)。支持網(wǎng)格加載、漸進(jìn)網(wǎng)格。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空、鏡像。支持地形渲染。支持2D、3D音效。支持游戲世界管理。通過(guò)有限狀態(tài)機(jī)、行為樹(shù)、神經(jīng)網(wǎng)絡(luò)、遺傳算法支持人工智能。引擎特性很全面(),穩(wěn)定性好(),支持很全面(),不容易上手和使用()。(5) jME是jMonkeyEngine的縮寫(xiě),采用Java開(kāi)發(fā),以BSD許可證發(fā)布,可以在Windows、Linux、Mac上使用。JME的目標(biāo)是提供一個(gè)Java語(yǔ)言3D游戲引擎,但業(yè)界目前也有人認(rèn)為jME還不是一個(gè)游戲引擎。其主要特征如下:面向?qū)ο螅寮U(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建游戲世界編輯器。支持物理碰撞檢測(cè)。支持頂點(diǎn)燈光、燈光映射。支持三維陰影。支持多紋理、多重材質(zhì)貼圖。支持頂點(diǎn)、像素、高級(jí)著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持骨架動(dòng)畫(huà)、幀動(dòng)畫(huà)。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空、水、火、爆炸、霧。支持地形渲染。支持3D音效。引擎特性全面(),穩(wěn)定性好(),支持很全面(),容易上手和使用()。(6) Blender游戲引擎是采用C++和Python開(kāi)發(fā),以GPL許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、FreeBSD、Irix上使用。Blender是一個(gè)完整的游戲引擎。其主要特征如下:面向?qū)ο螅寮澳_本擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建工作流、GUI、數(shù)據(jù)庫(kù)、角色等編輯器。支持物理碰撞檢測(cè),可以用于運(yùn)動(dòng)物體。支持頂點(diǎn)燈光、像素?zé)艄?。支持陰影映射。支持多紋理、凹凸貼圖。支持頂點(diǎn)、像素著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持逆向運(yùn)動(dòng)動(dòng)畫(huà)、幀動(dòng)畫(huà)。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、粒子、天空、水、霧。支持地形渲染。支持“客戶(hù)端/服務(wù)器”網(wǎng)絡(luò)模式。支持2D及3D音效。通過(guò)腳本方式支持人工智能。引擎特性基本全面(),穩(wěn)定性基本不錯(cuò)(),支持全面(),不容易上手和使用()。(7) RealityFactory是采用C++開(kāi)發(fā),以MIT許可證發(fā)布,可以在Windows上使用。RealityFactory自稱(chēng)游戲無(wú)需編程。其主要特征如下:面向?qū)ο?,腳本擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建幾何形體編輯器。支持物理碰撞檢測(cè)。支持頂點(diǎn)燈光、像素?zé)艄?、輻射燈光、三維燈光。支持陰影映射。支持多紋理、凹凸貼圖、多重材質(zhì)貼圖、投影。支持頂點(diǎn)、像素著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持骨架動(dòng)畫(huà)、幀動(dòng)畫(huà)及混合動(dòng)畫(huà)。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、公告牌、粒子、天空、水、火、爆炸、霧、貼花、天氣、鏡像。支持地形渲染。支持“客戶(hù)端/服務(wù)器”網(wǎng)絡(luò)模式。支持3D及流音效。通過(guò)路徑查找、決策及腳本方式支持人工智能。引擎特性基本全面(),穩(wěn)定性基本不錯(cuò)(),支持基本全面(),容易上手和使用()。(8) TheNebulaDevice2是采用C++開(kāi)發(fā),以MIT許可證發(fā)布,可以在Windows、Linux上使用。NebulaDevice是一個(gè)完整的游戲引擎。其主要特征如下:面向?qū)ο螅寮澳_本擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建幾何形體編輯器。支持物理碰撞檢測(cè)。支持頂點(diǎn)燈光、像素?zé)艄?、燈光映射、光澤映射。支持陰影映射。支持多紋理、凹凸貼圖、多重材質(zhì)貼圖、投影。支持頂點(diǎn)、像素、高級(jí)著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持骨架動(dòng)畫(huà)、幀動(dòng)畫(huà)、變形動(dòng)畫(huà)及混合動(dòng)畫(huà)。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空。支持地形渲染。支持“客戶(hù)端/服務(wù)器”、P2P網(wǎng)絡(luò)模式。支持2D、3D及流音效。通過(guò)腳本方式支持人工智能。引擎特性全面(),穩(wěn)定性好(),支持基本全面(),不容易上手和使用()。(9) RealmForge是采用C#在OGRE上開(kāi)發(fā),以L(fǎng)GPL許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、HP/UX、FreeBSD上使用。RealmForge是一個(gè)完整的游戲引擎,現(xiàn)在已經(jīng)轉(zhuǎn)入商業(yè)化運(yùn)作。其主要特征如下:面向?qū)ο螅寮澳_本擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建游戲編輯器。支持物理碰撞檢測(cè),可以用于運(yùn)動(dòng)物體。支持頂點(diǎn)燈光、像素?zé)艄?、燈光映射。支持陰影映射、投影面、立體投影。支持多紋理、凹凸貼圖、多重材質(zhì)貼圖、投影。支持頂點(diǎn)、像素、高級(jí)著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持骨架動(dòng)畫(huà)、幀動(dòng)畫(huà)、面部動(dòng)畫(huà)及混合動(dòng)畫(huà)。支持網(wǎng)格加載、皮膚及漸進(jìn)網(wǎng)格。支持環(huán)境映射、鏡頭眩光、公告牌、粒子、天空、水、火、爆炸、貼花、霧、天氣、鏡像。支持地形渲染。支持“客戶(hù)端/服務(wù)器”、P2P網(wǎng)絡(luò)、主控服務(wù)器模式。支持3D及流音效。通過(guò)路徑查找、決策、優(yōu)先狀態(tài)機(jī)、腳本、神經(jīng)網(wǎng)絡(luò)等方式支持人工智能。引擎特性全面(),穩(wěn)定性基本不錯(cuò)(),支持基本全面(),不容易上手和使用()。(10) OpenSceneGraph是采用C++開(kāi)發(fā),以L(fǎng)GPL許可證發(fā)布,可以在Windows、Linux、Mac、Solaris、SunOS、FreeBSD、Irix、Playstation上使用。OpenSceneGraph是一個(gè)完整的游戲引擎。其主要特征如下:面向?qū)ο?,插件及腳本擴(kuò)展架構(gòu),具有文檔支持。支持內(nèi)建場(chǎng)景編輯器。支持物理碰撞檢測(cè)。支持頂點(diǎn)燈光、各向異性燈光。支持投影面、立體投影。支持多紋理、多重材質(zhì)貼圖、投影。支持頂點(diǎn)、像素、高級(jí)著色。支持場(chǎng)景管理,具有多種數(shù)據(jù)結(jié)構(gòu)。支持骨架動(dòng)畫(huà)、幀動(dòng)畫(huà)及混合動(dòng)畫(huà)。支持網(wǎng)格加載及皮膚。支持環(huán)境映射、公告牌、粒子、鏡像。支持地形渲染。支持“客戶(hù)端/服務(wù)器”、P2P網(wǎng)絡(luò)、主控服務(wù)器模式。支持2D、3D及流音效。引擎特性全面(),穩(wěn)定性好(),支持還可以(),上手和使用比較難()。一般說(shuō)來(lái),選擇開(kāi)源游戲引擎一定需要獲取源碼、好的文檔及開(kāi)放式支持。穩(wěn)定性對(duì)于商業(yè)化運(yùn)作是一個(gè)雙刃劍,利于產(chǎn)品的開(kāi)發(fā)運(yùn)營(yíng),但需要有效引入新的游戲技術(shù)革新。引擎涵蓋特性是一個(gè)積累過(guò)程,可以不斷添加和改進(jìn)。上手和使用性也反映了設(shè)計(jì)開(kāi)發(fā)游戲引擎的團(tuán)隊(duì)的內(nèi)在價(jià)值取向以技術(shù)為主,還是以應(yīng)用為主。游戲開(kāi)發(fā)商都希望研制、運(yùn)營(yíng)一個(gè)萬(wàn)眾矚目的游戲產(chǎn)品,但是,使用按照不同許可證發(fā)布的游戲引擎開(kāi)發(fā)的游戲產(chǎn)品需要遵循相應(yīng)的知識(shí)產(chǎn)權(quán)法規(guī)。因此,游戲引擎的軟件許可證成為選擇時(shí)的一個(gè)極其重要的考慮因素。1.9開(kāi)源游戲引擎許可證比較許可證是軟件作者對(duì)使用同一作品的其他人授予的特殊許可,表明作者仍然持有作品的原始版權(quán)或?qū)@?,并沒(méi)有放棄有關(guān)權(quán)利。如果是直接公開(kāi)發(fā)布作品,意味著作者放棄了一切版權(quán),人們無(wú)需提及作品的原作者和貢獻(xiàn)者。如果逐一授權(quán),作者需要自行處理個(gè)人許可授權(quán)事務(wù)。開(kāi)源許可證使得其他人無(wú)需尋求特別的許可就可以方便地為項(xiàng)目添磚加瓦,同時(shí)也保護(hù)了原創(chuàng)者的權(quán)利,確保作者至少可以因?yàn)樽约旱呢暙I(xiàn)而獲得贊譽(yù),同時(shí)防止其他人將作者的成果據(jù)為己有。上面討論的開(kāi)源游戲引擎許可證主要有MIT、BSD、GPL、LGPL、Zlib/libpng,有關(guān)初創(chuàng)人、版本/年代、可鏈接其他許可證代碼、可變更許可證發(fā)布等內(nèi)容如表1.6所示。表1.6有關(guān)許可證鏈接、發(fā)布限定許可證初創(chuàng)人版本/年代可鏈接其他許可證代碼可變更許可證發(fā)布游戲引擎BSD加利福尼亞大學(xué)-可以可以Panda3D,jMEGPL自由軟件基金3.0/2007不可以不可以BlenderLGPL自由軟件基金3.0/2007可以不可以O(shè)penSceneGraphCrystalSpaceRealmForgeMIT麻省理工學(xué)院1988可以可以O(shè)GRE,RealityFactory,NebulaDeviceZlib/libpng--可以可以Irrlicht(1) BSD許可證在軟件傳播和使用過(guò)程中對(duì)版權(quán)限制非常少,基本上沒(méi)有約束,可以用于任何商業(yè)場(chǎng)合。實(shí)際上,BSD許可證強(qiáng)調(diào)的只是聲明一下“祖籍淵源”。因此,BSD許可證軟件使用最為廣泛。二版、新版BSD許可證模板主要強(qiáng)調(diào)以下權(quán)利:分發(fā)、使用未經(jīng)修改或修改后源碼時(shí),必須保留有關(guān)版權(quán)聲明和免責(zé)聲明。以二進(jìn)制形式再分發(fā)軟件時(shí),必須保留有關(guān)版權(quán)聲明和免責(zé)聲明。未經(jīng)許可,不得以軟件貢獻(xiàn)者的名字為軟件的衍生產(chǎn)品做代言。(2) GNUGPL是通用公共許可證(GeneralPublicLicense)的縮寫(xiě),是使用最廣泛的自由軟件許可證。GPL強(qiáng)調(diào)許可證使用時(shí)必須唯一且必須傳承,因?yàn)楹霌P(yáng)和恪守的是“自由軟件正本清源,代碼開(kāi)放基業(yè)長(zhǎng)青”的理念,也得到社會(huì)各界人士的積極支持。但是,在使用過(guò)程中必須開(kāi)放自己的代碼,否則會(huì)陷入版權(quán)糾紛。這樣,雖然Blender是一個(gè)非常好的開(kāi)源游戲引擎,但我們無(wú)法對(duì)后續(xù)創(chuàng)意進(jìn)行有效的商業(yè)化運(yùn)作。GPL堅(jiān)持軟件開(kāi)放源代碼,但相關(guān)服務(wù)和支持可以收費(fèi)。最新版本GPL許可證模板主要強(qiáng)調(diào)以下權(quán)利:違反GPL授權(quán)的拷貝、分發(fā)、向公眾發(fā)布等傳播活動(dòng)有可能直接或間接侵權(quán)。分發(fā)自由軟件時(shí),必須把自由傳遞給接受者,讓接受者明白具有獲取全部源代碼的權(quán)利并且能夠得到全部源代碼。自由軟件沒(méi)有任何擔(dān)保責(zé)任。軟件被修改過(guò)的版本必須明確標(biāo)示,從而避免它們的問(wèn)題被錯(cuò)誤地歸咎于先前的版本。源代碼接受者可以通過(guò)任何媒介發(fā)布未被修改過(guò)的副本,但必須顯著地在每個(gè)副本上都發(fā)布一個(gè)合適的版權(quán)通告。必須完整保持所有授權(quán)通告、所有免責(zé)聲明,并為所有接受者提供GPL授權(quán)。修改源代碼必須明確標(biāo)示并給出日期,完整保持所有授權(quán)通告、所有免責(zé)聲明,為接口提供適當(dāng)法律通告,并且只能為所有接受者提供GPL授權(quán)。傳播目標(biāo)代碼時(shí),必須同時(shí)在有關(guān)場(chǎng)地、介質(zhì)中或以網(wǎng)絡(luò)等方式提供源代碼。如果只有可以獲取源代碼的書(shū)面承諾,不允許盈利。公開(kāi)源代碼時(shí),不包括所調(diào)用的可分離的系統(tǒng)庫(kù)部分源代碼。允許附加條款,主要是免責(zé)聲明、法律通告、作者信息、禁止誤傳資料來(lái)源、修改的合理標(biāo)示方式、限制通過(guò)作者進(jìn)行商業(yè)代言及宣傳、保留合法商標(biāo)及標(biāo)記、接受者責(zé)任假設(shè)合同。違反GPL的行為將自動(dòng)終止授權(quán),在一定時(shí)間內(nèi)修改后可以恢復(fù)授權(quán)。如果貢獻(xiàn)者需要申請(qǐng)專(zhuān)利,必須履行公開(kāi)源代碼義務(wù)并允許自由修改(無(wú)專(zhuān)利版稅),否則就必須放棄盈利。更詳細(xì)的內(nèi)容可直接查閱有關(guān)許可證說(shuō)明。(3) GNULGPL是寬通用公共許可證(GNULesserGeneralPublicLicense)的縮寫(xiě),在標(biāo)準(zhǔn)GPL基礎(chǔ)上重點(diǎn)對(duì)庫(kù)進(jìn)行授權(quán)。LGPL放寬了對(duì)軟件鏈接的限制,不再?gòu)?qiáng)調(diào)鏈接的“純潔”,可以進(jìn)行“雜交”。所謂庫(kù)是應(yīng)用程序通過(guò)接口調(diào)用,但不依賴(lài)這種調(diào)用的軟件集合。對(duì)庫(kù)中類(lèi)的派生繼承也認(rèn)為是通過(guò)接口調(diào)用。庫(kù)和應(yīng)用程序構(gòu)成組合軟件,庫(kù)被稱(chēng)為鏈接版本。最小源代碼取決于應(yīng)用而不是鏈接版本,不能孤立地考慮組合軟件的一部分。組合軟件的相應(yīng)應(yīng)用代碼包括應(yīng)用、輔助工具程序及源代碼,但不包括所調(diào)用的系統(tǒng)庫(kù)。最新版本LGPL許可證模板主要強(qiáng)調(diào)以下權(quán)利:庫(kù)的任何修改、傳播不會(huì)依賴(lài)于應(yīng)用提供的功能或數(shù)據(jù),否則,庫(kù)也必須無(wú)條件使用GPL許可證。應(yīng)用可以使用庫(kù)提供的頭文件,但如果不在數(shù)字參數(shù)、數(shù)據(jù)結(jié)構(gòu)布局、數(shù)據(jù)結(jié)構(gòu)訪(fǎng)問(wèn)器、小型宏、內(nèi)聯(lián)函數(shù)及模板的限制之列,必須為每個(gè)副本提供所鏈接庫(kù)的通告。庫(kù)的鏈接授予LGPL許可,應(yīng)用程序授予GPL許可。組合軟件不能限制對(duì)庫(kù)的修改、調(diào)試、兼容式替換。(4) MIT許可證非常簡(jiǎn)短,但也比較松散含混。在軟件傳播和使用過(guò)程中對(duì)版權(quán)限制非常少,基本上沒(méi)有約束,可以用于任何商業(yè)場(chǎng)合。同樣,MIT許可證強(qiáng)調(diào)的也只是聲明一下“祖籍淵源”。新版MIT許可證模板主要強(qiáng)調(diào)以下權(quán)利:免費(fèi)授予任何獲得軟件及相關(guān)文檔的人不受限制地使用、拷貝、修改、合并、出版、分發(fā)、再授權(quán)和/或出售軟件的拷貝。版權(quán)聲明和許可聲明必須包含在軟件包的全部拷貝或?qū)嵸|(zhì)性部分中。其實(shí),許可聲明大部分內(nèi)容是免責(zé)聲明。(5) Zlib/libpng許可證沒(méi)有特別要求提供源代碼。在軟件傳播和使用過(guò)程中對(duì)版權(quán)限制非常少,基本上沒(méi)有約束,可以用于任何商業(yè)場(chǎng)合。最新版本Zlib/libpng許可證
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 政府項(xiàng)目采購(gòu)合同樣本
- 企業(yè)運(yùn)營(yíng)管理服務(wù)合同
- 材料采購(gòu)合同的人力資源
- 廢石采購(gòu)合同的簽訂感悟分享
- 混凝土分包項(xiàng)目合同范本
- 2024年混凝土工程分階段驗(yàn)收合同
- 2024年新型挖掘機(jī)租賃及操作培訓(xùn)服務(wù)合同3篇
- 2024年混凝土增強(qiáng)劑購(gòu)買(mǎi)合同
- 2024版體育賽事宣傳合作服務(wù)合同2篇
- 2024版反擔(dān)保抵押債權(quán)轉(zhuǎn)讓合同范本3篇
- 云管平臺(tái)的自動(dòng)化運(yùn)維與巡檢解決方案
- 新疆維吾爾喀什地區(qū)2023-2024學(xué)年四年級(jí)數(shù)學(xué)第一學(xué)期期末質(zhì)量檢測(cè)試題含答案
- 全年籃球訓(xùn)練計(jì)劃表
- Unit 5 Humans and nature Lesson 1 A sea story 課件-2023-2024學(xué)年高中英語(yǔ)北師大版(2019)必修第二冊(cè)
- 優(yōu)秀項(xiàng)目監(jiān)理部評(píng)選材料
- 新時(shí)代核心英語(yǔ)教程3 電子版
- 2022學(xué)年北京市高三各區(qū)語(yǔ)文二模古詩(shī)閱讀匯編
- 盆底功能障礙問(wèn)卷(PFDI20)
- O型圈新國(guó)標(biāo)尺寸表
- 礦山施工組織設(shè)計(jì)
- 民族藝術(shù)作品色彩的采集與重構(gòu)
評(píng)論
0/150
提交評(píng)論