網(wǎng)站制作NEWS
不使用游戲引擎如何開(kāi)發(fā)游戲
游戲引擎是在圖形接口(API)的基礎(chǔ)上運(yùn)行的。
如果把圖形接口比作英文單詞庫(kù),那游戲引擎就是金山詞霸和有道詞典。
所以不依賴游戲引擎的話,就需要直接驅(qū)動(dòng)圖形接口了。
如同不借助金山詞霸,你要如何成為一個(gè)英文作家?當(dāng)然是直接寫(xiě)英文了。
圖形接口其實(shí)有很多種。
但值得一提的只有四個(gè),其中兩個(gè)主流,兩個(gè)非主流。
兩個(gè)主流,分別是DirectX和OpenGL。
而兩個(gè)非主流,是Metal和Vulkan。
除此之外,還有一些游戲機(jī)廠商自己的API,比如索尼的GNM和GNMX,它被用于PS4游戲開(kāi)發(fā)。
但這類圖形接口,只能服務(wù)于固定的硬件環(huán)境下。
簡(jiǎn)單說(shuō),如果將來(lái)再推出PS5的話,GNM和GNMX是無(wú)法使用的,因?yàn)橛布h(huán)境不同了。
所以這類圖形接口,會(huì)隨著宿主機(jī)型的滅亡而消失,無(wú)法被后續(xù)機(jī)種所繼承。
因此能夠用于各種不同硬件的API,一共就只有四個(gè)。
性能上,DirectX所向無(wú)敵。
兼容幾乎所有品牌與型號(hào)的硬件設(shè)備,并能支撐次世代級(jí)的畫(huà)面水平,從技術(shù)角度簡(jiǎn)直是完美的。
但問(wèn)題是,DirectX是微軟獨(dú)家的,只能工作在Windows系操作系統(tǒng)與Xbox游戲機(jī)之上。
借助DirectX的強(qiáng)大,開(kāi)發(fā)人員不需要太過(guò)注重優(yōu)化,便能獲得高超的性能與畫(huà)面水平。
至于OpenGL,其實(shí)誕生比DirectX要早,是圖形工作站上的產(chǎn)物。
它唯一的優(yōu)點(diǎn),就是可以跨系統(tǒng)。
不僅能運(yùn)行在Windows系統(tǒng)之上,還能運(yùn)行在Linux,Mac OS,安卓,IOS,甚至網(wǎng)頁(yè)之上。
由于有代碼膨脹的先天缺陷,性能與DirectX相比,簡(jiǎn)直弱爆了,約10倍左右的性能差距。
用于一些2D小游戲還好,開(kāi)發(fā)3D游戲,真是勉為其難。
雖然在手機(jī)上,可以看到類似《王者榮耀》之類的3D游戲,但這都是建立在開(kāi)發(fā)人員幾乎變態(tài)的優(yōu)化與妥協(xié)之上,才得以實(shí)現(xiàn),優(yōu)化的難度,遠(yuǎn)遠(yuǎn)超過(guò)開(kāi)發(fā)游戲本身,大多數(shù)情況下,都要靠降低畫(huà)質(zhì)標(biāo)準(zhǔn)才能實(shí)現(xiàn),“手游”與“端游”畫(huà)質(zhì)差距,便顯得一目了然。
也正因OpenGL低下的性能,Mac和Linux始終都是游戲的禁區(qū),幾乎所有次世代大作,都是在Windows環(huán)境下開(kāi)發(fā)出來(lái)的。
也正因?yàn)楦骷覐S商都對(duì)OpenGL的性能非常不滿意,才會(huì)有Metal和Vulkan誕生。
90年代的微軟天下無(wú)敵,整個(gè)IT行業(yè)綁在一起,還比不過(guò)微軟的一條胳膊粗,但隨著比爾蓋茨隱退,鮑爾默接任掌門人之后,微軟在策略上出現(xiàn)連續(xù)失誤,吞并任天堂計(jì)劃破產(chǎn),WP系統(tǒng)夭折,XBOX萎靡不振,.NET平臺(tái)錯(cuò)過(guò)最佳開(kāi)源時(shí)機(jī)。
微軟突然病了
由于WP系統(tǒng)夭折,DirectX因此沒(méi)能引入到移動(dòng)設(shè)備。
蘋(píng)果與谷歌趁勢(shì)崛起,占據(jù)了移動(dòng)端,安卓和IOS成了手游的首選平臺(tái)。
而開(kāi)發(fā)者則必須習(xí)慣,在OpenGL上開(kāi)發(fā)游戲。
優(yōu)化便成了首要問(wèn)題,開(kāi)發(fā)難度明顯增加。
之后,蘋(píng)果公司便發(fā)布了Metal,主要用于IOS游戲開(kāi)發(fā),蘋(píng)果公司號(hào)稱,它的性能比OpenGL高10倍,且可能超越DirectX。
但無(wú)論這些數(shù)據(jù)有多華麗,使用蘋(píng)果的標(biāo)準(zhǔn)總是要格外謹(jǐn)慎,因?yàn)樘O(píng)果設(shè)備與游戲行業(yè)本就格格不入,開(kāi)發(fā)手段也從來(lái)不與其他平臺(tái)共享。
因此你很可能“進(jìn)得去,卻出不來(lái),最后困死在連調(diào)試游戲都困難重重的mac上面”。
蘋(píng)果不僅從來(lái)不給開(kāi)發(fā)人員留后路,而且還賺開(kāi)發(fā)者的錢,需要先掏錢,才能開(kāi)發(fā)游戲。
加上Object-C,shake,Macintosh等事件,蘋(píng)果公司的奸商路線,所創(chuàng)造出的血淋淋的教訓(xùn)已經(jīng)夠多了。
否則當(dāng)年作為僅次于IBM的第二大電腦公司,擁有近40%的市占率,也不至于被邊緣化到只剩下個(gè)位數(shù)。
十年前IOS開(kāi)發(fā)還很火,Object-C程序員遍布大街小巷,而當(dāng)蘋(píng)果拋棄Object-C的時(shí)候,失業(yè)是他們唯一的選擇。
所以Metal可能會(huì)吸引到一些無(wú)辜的初學(xué)者,但按照蘋(píng)果公司一貫的行事作風(fēng),很難期待它會(huì)成為主流行業(yè)標(biāo)準(zhǔn)。
另外一個(gè)非主流,就是Vulkan,是AMD開(kāi)發(fā)的一個(gè)標(biāo)準(zhǔn),所以也主要是被AMD的顯卡所支持,后來(lái)開(kāi)始逐漸支持一些手機(jī)設(shè)備,系統(tǒng)方面支持windows和安卓,被視為目前最有可能取代OpenGL的潛力股,所以未來(lái)可能會(huì)很有前景。
但到底能不能成為主流,目前還很難說(shuō),尤其在英偉達(dá)都沒(méi)跟進(jìn)的前提下,去談行業(yè)標(biāo)準(zhǔn),顯得為時(shí)過(guò)早了。
如果你是傾向于次世代游戲方向,則DirectX是首選,因?yàn)樗男阅茉诮裉煲廊皇菬o(wú)可替代的,且至少目前根本看不到對(duì)手。
而且由于可以通過(guò)C#語(yǔ)言驅(qū)動(dòng),它的學(xué)習(xí)難度也要比OpenGL容易一些。
如果你只是希望學(xué)習(xí)圖形接口。
個(gè)人比較推薦OpenGL,因?yàn)樗懈鼜V泛的平臺(tái)適應(yīng)性。
但它很難承載太大型的游戲項(xiàng)目。
不過(guò)你依然可以把它用于游戲之外的項(xiàng)目。
比如有一個(gè)網(wǎng)頁(yè)版的OpenGL標(biāo)準(zhǔn),叫做WebGL,只要設(shè)置一下瀏覽器,就可以在網(wǎng)頁(yè)上顯示3D模型。
而如果你希望投資未來(lái),為將來(lái)做技術(shù)儲(chǔ)備。
那么兩者均可。
因?yàn)槿f(wàn)變不離其宗,即便將來(lái)有了更優(yōu)秀的圖形接口,基本原理總是不變的。
多重隨機(jī)標(biāo)簽