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