在軟件開(kāi)發(fā)中,游戲開(kāi)發(fā)的方向似乎有一個(gè)明確的目標(biāo),但實(shí)際上它是一個(gè)非常廣泛的方向,如果你沒(méi)有得到指導(dǎo),很容易誤入歧途的人,相反,如果你能得到一些來(lái)自前輩的指引采取這條路之前,它可以用一半的努力得到兩倍的結(jié)果。
一 平臺(tái)與編程語(yǔ)言選擇
首先,游戲開(kāi)發(fā)的平臺(tái)就有很多類(lèi)型:
個(gè)人主機(jī)平臺(tái):Windows、Linux、Mac OC;
移動(dòng)平臺(tái):iOS、Android、Windows Phone、BlackBerryOS、Symbian;
專(zhuān)業(yè)主機(jī)平臺(tái):Xbox、PlayStation、Will等。
如果你想面向手機(jī)平臺(tái)開(kāi)發(fā)游戲,面向Android開(kāi)發(fā)JAVA,面向iOS開(kāi)發(fā)Object-C,那么你就需要學(xué)習(xí)面向該平臺(tái)的主流語(yǔ)言,而c++是目前以及未來(lái)很長(zhǎng)一段時(shí)間內(nèi)面向個(gè)人主機(jī)開(kāi)發(fā)游戲的主流語(yǔ)言。但不同平臺(tái)上的游戲開(kāi)發(fā)并非毫無(wú)共同點(diǎn),如果你是在另一個(gè)平臺(tái)上學(xué)習(xí)的,那就毫無(wú)用處了。不是這樣的,編程的世界越遠(yuǎn)你會(huì)發(fā)現(xiàn)很多事情的本質(zhì)是一樣的,例如,如果你是一個(gè)堅(jiān)實(shí)的理解c++的基本語(yǔ)法(而不是記住),后來(lái)它也不難把Java語(yǔ)言,因?yàn)槊嫦驅(qū)ο筇匦缘谋举|(zhì)與各種編程語(yǔ)言特性是相互關(guān)聯(lián)的。
所以,如果你想走得遠(yuǎn),在學(xué)習(xí)的時(shí)候不能簡(jiǎn)單流于表面,對(duì)于一樣知識(shí)越深入到底層,你就越能看到其它知識(shí)與其的異曲同工之處,因此你將比別人更輕松。但是,當(dāng)然一開(kāi)始最好盡可能是貼合自己的專(zhuān)屬領(lǐng)域和編程語(yǔ)言,這樣能盡快地在這個(gè)領(lǐng)域持有一席之地。
無(wú)論你選擇哪個(gè)平臺(tái),游戲開(kāi)發(fā)這個(gè)浩大的工程都離不開(kāi)游戲引擎,所以這里都有二條路線讓你選擇:
? 只使用游戲引擎;
? 使用游戲引擎并深入學(xué)習(xí)游戲引擎原理。
線路一:只使用游戲引擎
對(duì)于第一條路線,游戲引擎的使用并不困難,因此適合想快速上手游戲開(kāi)發(fā)工作的人。我們工作大多數(shù)時(shí)候也不會(huì)自己開(kāi)發(fā)游戲引擎,所以這樣對(duì)于一般的日常工作也沒(méi)什么大礙。對(duì)于只使用游戲引擎的人來(lái)說(shuō),入門(mén)階段要做的就是看該引擎的教程(書(shū)籍、視頻、網(wǎng)上博客、網(wǎng)上教程、官方幫助文檔等),并且熟練該教程所使用的編程語(yǔ)言。
所以你要做的第一件事,就是去了解現(xiàn)在流行的游戲引擎。因?yàn)椴煌脚_(tái)下的性能不同,支持的編程語(yǔ)言也不盡相同,所以針對(duì)不同平臺(tái)下的流行的游戲引擎也是不同的(方括號(hào)里面是特別推薦的,基于開(kāi)源性、易用性、性能與效果等方面的綜合水平推薦):
? windows或游戲主機(jī):【Unreal】、寒霜、CE3
? 蘋(píng)果ios:【unity3D】、【cocos2d-ObjC】、【Unreal】、sparrow、sprite kit。
? 安卓:【unity3d】、【cocos2d-x】、【Unreal】、AndEngine、libgdx。
? 網(wǎng)頁(yè):【Egret】、【cocos2d-html5】、Fancy3D、unity3d。
在選擇游戲引擎的時(shí)候,盡可能選用流行的游戲引擎,因?yàn)檫@個(gè)游戲引擎流行意味著官方的功能比較完善和易用,問(wèn)答社區(qū)也比較多人解疑。各個(gè)游戲引擎也各有千秋,Unity3d勝在簡(jiǎn)單易用,對(duì)性能要求不高,但是效果不夠華麗,因而一般用在移動(dòng)平臺(tái)而不會(huì)用在電腦或游戲主機(jī)。Unreal勝在開(kāi)源免費(fèi),而且效果也很出色,但是對(duì)設(shè)備要求比較高,因而常常用來(lái)開(kāi)發(fā)效果絢麗的大型游戲。cocos2d-x也是開(kāi)源免費(fèi)的,在2D領(lǐng)域深有造詣,但是缺點(diǎn)是不可視化開(kāi)發(fā)。另外,如果你想了解游戲引擎原理,那么首要考慮的就是開(kāi)源的游戲引擎。
不同游戲引擎使用的編程語(yǔ)言或者腳本語(yǔ)言可能是不一樣的,所以當(dāng)你想要學(xué)習(xí)某個(gè)游戲引擎的時(shí)候,也應(yīng)該留意該游戲引擎所使用的語(yǔ)言。大部分情況是,Windows用的的是C++,同時(shí)結(jié)合lua或python腳本語(yǔ)言。而ios平臺(tái)下使用Objective-C或swift,安卓平臺(tái)下使用Java。但這不是必然的,例如Unity在各個(gè)平臺(tái)下都可以用C#或者javascript腳本語(yǔ)言。
下面是商業(yè)上流行的游戲引擎詳細(xì)比較:
1) Unreal4(虛幻4)
? 適用平臺(tái):Microsoft Windows、Mac OS X、iOS、Android、虛擬現(xiàn)實(shí)設(shè)備(包括但不限于SteamVR/HTC Vive、Morpheus、Oculus Rift及Gear VR)、Linux、SteamOS及 HTML5平臺(tái)。
? 編程語(yǔ)言:C++或無(wú)需編寫(xiě)代碼。
? 優(yōu)點(diǎn):開(kāi)源免費(fèi),畫(huà)面效果出色,已有多款商業(yè)大作經(jīng)驗(yàn)。同時(shí),它還能跨平臺(tái),商店資源豐富,提供了無(wú)需編寫(xiě)代碼即可制作游戲的強(qiáng)大功能(可視化開(kāi)發(fā))。
? 缺點(diǎn):開(kāi)發(fā)機(jī)器配置要求較高。
2) Unity3D
? 適用平臺(tái):iOS、Android、Windows phone 8、Tizen、Microsoft Windows、Windows Store應(yīng)用程序、Mac、Linux/Steam OS、網(wǎng)絡(luò)播放器、WebGL、PlayStation3、 PlayStation4、PlayStation Vita版、Xbox One、Xbox 360、Wii U、Android TV、Samsung SMART TV、Oculus Rift、Gear VR、Microsoft Hololens、Playstation VR。
? 編程語(yǔ)言:C#、javascript、Boo。
? 優(yōu)點(diǎn):方便易用,中文資料豐富,跨平臺(tái),商店資源豐富,可視化開(kāi)發(fā)。
? 缺點(diǎn):畫(huà)面效果一般,不是免費(fèi)開(kāi)源,引擎效率比較低。
3) Cocos2d系列(包Cocos2d-x、Cocos2d-ObjC、Cocos2d-html5、Cocos2d-xna等)
? 適用平臺(tái):Microsoft Windows、OS X、 Linux、iOS、 Android、 Tizen、 Linux、Mac OS X、HTML5瀏覽器、Windows Phone 7 & 8、Xbox 360。
? 編程語(yǔ)言:Python、Objective-C、C++、 Lua、 JavaScript、 Swift、JavaScript、 C#。
? 優(yōu)點(diǎn):開(kāi)源免費(fèi),跨平臺(tái),中文資料豐富,2D技術(shù)豐富且成熟。
? 缺點(diǎn):不可視化開(kāi)發(fā),3D方面技術(shù)不成熟。
4) CryEngine3
? 適用平臺(tái):Microsoft Windows、OS X、Linux、PlayStation 3、PlayStation 4、Wii U、Xbox 360、Xbox One、iOS、Android。
? 編程語(yǔ)言:C++、Lua。
? 優(yōu)點(diǎn):畫(huà)面效果世界一流,可視化開(kāi)發(fā),跨平臺(tái)。
? 缺點(diǎn):開(kāi)發(fā)機(jī)器配置要求較高,不是免費(fèi)開(kāi)源。
5) Frostbite3(寒霜3)
? 適用平臺(tái):Microsoft Windows、PlayStation 3、PlayStation 4、Xbox 360、Xbox One。
? 編程語(yǔ)言:C++。
? 優(yōu)點(diǎn):畫(huà)面效果出色,可視化開(kāi)發(fā),跨平臺(tái)。
? 缺點(diǎn):開(kāi)發(fā)機(jī)器配置要求較高,不是免費(fèi)開(kāi)源。
6) Egret(白鷺)
? 適用平臺(tái):HTML5、iOS、Android、Windows Phone。
? 編程語(yǔ)言:TypeScript、JavaScript。
? 優(yōu)點(diǎn):免費(fèi)開(kāi)源,配套工具多,全中文文檔,可視化開(kāi)發(fā),跨平臺(tái)。
? 缺點(diǎn):支持平臺(tái)較少,大多數(shù)時(shí)候用于開(kāi)發(fā)對(duì)性能和效率要求不高的小游戲。
但是使用游戲引擎畢竟是停留在表面看不到本質(zhì),當(dāng)游戲開(kāi)發(fā)的時(shí)候出現(xiàn)了某些問(wèn)題或者特殊需求,你往往很難處理。而且游戲引擎技術(shù)日新月異,你所學(xué)的幾乎都是別人留下來(lái)的方法,而不是其本質(zhì)思想。如果將來(lái)別的游戲引擎興起,你又要重新學(xué)習(xí)另外的游戲引擎怎么使用。在很多大公司里面,甚至都有自己公司內(nèi)部專(zhuān)用的引擎(如網(wǎng)易公司的風(fēng)魂引擎、金山公司的劍網(wǎng)3引擎、蝸牛公司的Flexi引擎等等)。所以單純地走這條路線,可能不會(huì)讓你走得很遠(yuǎn)并且可能會(huì)日漸乏味。
隨著科學(xué)技術(shù)的發(fā)展,以及社會(huì)的不斷進(jìn)步,游戲已經(jīng)成為了我們生活中的一部分,從而吸引了許多想要學(xué)習(xí)游戲開(kāi)發(fā)的伙伴,那么游戲開(kāi)發(fā)好不好學(xué)呢今天我們就一起來(lái)了解一下吧其實(shí)從零基礎(chǔ)學(xué)習(xí)游戲開(kāi)發(fā)并不...
全球游戲市場(chǎng)的火爆和迅猛發(fā)展,使得不少人想加入游戲行業(yè),一是有“有錢(qián)景”,二是一款全民游戲總能引發(fā)一陣全民狂潮,甚至影響流行文化,讓游戲團(tuán)隊(duì)頗有成就感。就國(guó)內(nèi)游戲行業(yè)的情況看,新版號(hào)的再次發(fā)放...
在軟件開(kāi)發(fā)中游戲開(kāi)發(fā)的方向似乎有一個(gè)明確的目標(biāo)但實(shí)際上它是一個(gè)非常廣泛的方向如果你沒(méi)有得到指導(dǎo)很容易誤入歧途的人相反如果你能得到一些來(lái)自前輩的指引采取這條路之前它可以用一半的努力得...
以人才需求來(lái)看,一般要求大專(zhuān)、本科學(xué)歷,一年以上開(kāi)發(fā)經(jīng)驗(yàn)的人員一般待遇都會(huì)在10左右,高級(jí)人才甚至達(dá)到2025。隨著工作經(jīng)驗(yàn)和技能的增加,從業(yè)人員薪資水平不斷增長(zhǎng)。...
游戲動(dòng)作在這里小編想說(shuō)的是,零基礎(chǔ)學(xué)游戲動(dòng)作的話(huà),起步肯定比較難,如果你有美術(shù)類(lèi)的基礎(chǔ),或者學(xué)過(guò)人體解刨學(xué),那就可以好學(xué)一點(diǎn)。游戲動(dòng)作...
游戲3建模游戲3建模行業(yè)的發(fā)展前景近幾年建模市場(chǎng)一直保持火熱的發(fā)展態(tài)勢(shì),預(yù)計(jì)未來(lái)510年還將延續(xù)這一態(tài)勢(shì),但是3建模行業(yè)人才緊缺的現(xiàn)象也隨之越發(fā)明顯。所以就業(yè)方面是完...
在巨大的游戲消費(fèi)市場(chǎng)和技術(shù)發(fā)展的推動(dòng)下,我國(guó)的游戲行業(yè)發(fā)展很快,是如今發(fā)展態(tài)勢(shì)良好的行業(yè)之一,其中崗位高薪是游戲行業(yè)的一個(gè)特點(diǎn)。這就吸引了很多的人...
9月是開(kāi)學(xué)的日子,不論是進(jìn)入新的校園,還是又升了一個(gè)年級(jí),課業(yè)的壓力隨著暑假結(jié)束又開(kāi)始慢慢增加,但對(duì)于游戲的熱愛(ài)卻是始終不減。在互聯(lián)網(wǎng)時(shí)代下,手游對(duì)于每個(gè)人來(lái)說(shuō)都成為了休閑娛樂(lè)的第一選擇。 ...
游戲/動(dòng)畫(huà)
課程資料包領(lǐng)取