發(fā)布時(shí)間 : 2020-06-03
文章熱度 : 187
游戲編程語(yǔ)言多種多樣,學(xué)好每一種編程語(yǔ)言,對(duì)于游戲程序開(kāi)發(fā)來(lái)說(shuō)都至關(guān)重要。但根據(jù)現(xiàn)階段及未來(lái)游戲的發(fā)展方向來(lái)說(shuō),還是有側(cè)重點(diǎn)的,那哪一種語(yǔ)言是比較重要的呢?
現(xiàn)代各種領(lǐng)域的開(kāi)發(fā)技術(shù)已經(jīng)成熟,不再能隨意選擇開(kāi)發(fā)語(yǔ)言和技術(shù)棧,絕大多數(shù)情況下只能使用比較流行的方案、工具、和語(yǔ)言。
以上觀點(diǎn)不僅適用于游戲開(kāi)發(fā)領(lǐng)域,其實(shí)更適用于網(wǎng)頁(yè)前端、網(wǎng)站后端、爬蟲(chóng)、大數(shù)據(jù)、AI等等其它方向。
舉個(gè)例子:用python開(kāi)發(fā)游戲其實(shí)是很有趣的,特別是語(yǔ)法上比較便利。但是隨著時(shí)代發(fā)展,采用python的游戲引擎越來(lái)越少、越來(lái)越邊緣化,離主流技術(shù)越來(lái)越遠(yuǎn)。
現(xiàn)在有些人選擇用python做游戲更多的就只是以學(xué)習(xí)為目的了,缺少很多常用的工具、技術(shù)支持,需要自己造輪子,離做出真正的游戲會(huì)比較遠(yuǎn)。
類似的,現(xiàn)在編寫(xiě)爬蟲(chóng)絕大多數(shù)情況下都會(huì)使用python;學(xué)習(xí)AI的課程 99%會(huì)采用python+TensorFlow;網(wǎng)頁(yè)前端基本只能用javascript(以及js的衍生語(yǔ)言比如typescript)。由于現(xiàn)在做技術(shù)非常有必要沿著前人的路繼續(xù)走,所以只能選擇相對(duì)成熟的技術(shù)和語(yǔ)言,沒(méi)有太多自由選擇的空間。
具體到游戲開(kāi)發(fā)上,如何選擇呢?
目前王道之選應(yīng)該是Unity引擎,開(kāi)發(fā)語(yǔ)言為C#。它也是在與Cocos2d、UE4等成熟引擎的競(jìng)爭(zhēng)中脫穎而出的,在功能、效果、開(kāi)發(fā)難度上取得了很好的平衡。優(yōu)點(diǎn)不需多言,反正是大多數(shù)人的選擇。
其次是UE4(虛幻4,unreal engine 4),UE4對(duì)于高性能設(shè)備(電腦和PS4等)支持更好,用于開(kāi)發(fā)手游也不錯(cuò)。上手UE4的主要問(wèn)題是知識(shí)系統(tǒng)相對(duì)繁雜。
比如Unity的物理系統(tǒng),碰撞體、剛體組件都比較簡(jiǎn)單和統(tǒng)一,腳本聯(lián)動(dòng)也很好理解,初學(xué)者掌握起來(lái)很快。相比之下UE4的相關(guān)組件要多很多,且由于窗口比較多,初學(xué)者往往會(huì)迷失在一些奇怪的地方(當(dāng)然熟悉了之后就沒(méi)問(wèn)題了)。
UE4的開(kāi)發(fā)語(yǔ)言是C++,但是游戲邏輯可以不寫(xiě)一行代碼,直接用“藍(lán)圖”解決。使用“藍(lán)圖”開(kāi)發(fā)游戲的利弊就不展開(kāi)說(shuō)了,總之UE4為用戶提供了“較低的門檻”與“較高的門檻”這兩種選擇;而Unity是提供了統(tǒng)一一種“適中的門檻”。具體好壞見(jiàn)仁見(jiàn)智了。
游戲開(kāi)發(fā)還有另一個(gè)分支——H5游戲,也就是微信小游戲、網(wǎng)頁(yè)游戲等,也可以打成app包。在這個(gè)領(lǐng)域中,cocos2d-h5又大有用武之地。但是目前這個(gè)領(lǐng)域主要還是服務(wù)于小游戲、簡(jiǎn)單類型的游戲的,離“現(xiàn)代游戲開(kāi)發(fā)技術(shù)”有一點(diǎn)距離。
現(xiàn)代引擎已經(jīng)提供了很友好的開(kāi)發(fā)方式和編程方式,Unity的C#,UE4的藍(lán)圖等等。建議初學(xué)者把絕大部分精力花在這些主流的開(kāi)發(fā)技術(shù)上面。無(wú)論用哪種語(yǔ)言和技術(shù),其思想以及解決問(wèn)題的方法都是相通的,使用主流技術(shù)學(xué)習(xí)曲線更平滑、提高也更快。
另一方面,C/C++這些更底層、潛力更大的語(yǔ)言未來(lái)也要掌握。對(duì)于想走技術(shù)路線的人來(lái)說(shuō),這些底層技術(shù)是遲早要掌握的(初學(xué)者可以不急著先學(xué)這些)。不僅在UE4里面C++可以直接用到;即便是用Unity,掌握C/C++以及了解底層原理也會(huì)大有裨益,比如現(xiàn)在流行的tolua等擴(kuò)展庫(kù)就是把C/C++編寫(xiě)的庫(kù)與C#做了結(jié)合。
總結(jié)來(lái)說(shuō):首先,一開(kāi)始要跟上主流技術(shù);其次,游戲開(kāi)發(fā)的技術(shù)方面非常注重積累,底層技術(shù)這幾十年來(lái)也一直在發(fā)展,C++的地位越發(fā)穩(wěn)固而不可替代。
明確目標(biāo)是一方面,找到好的學(xué)習(xí)環(huán)境和好的學(xué)習(xí)資源也非常重要,上海博思游戲?qū)W校為零基礎(chǔ)學(xué)員提供精心設(shè)計(jì)的游戲程序課程,為學(xué)員的游戲開(kāi)發(fā)學(xué)習(xí)之旅保駕護(hù)航。