在軟件開發(fā)中,游戲開發(fā)這個(gè)方向看起來(lái)目標(biāo)很明確,但其實(shí)是個(gè)領(lǐng)域很廣的方向,入門的時(shí)候如果得不到指點(diǎn)一二,很容易誤入歧途,相反,如果走這條路之前能得到前人的一些指路,是可以事半功倍的。
一 平臺(tái)與編程語(yǔ)言選擇
首先,游戲開發(fā)的平臺(tái)就有很多類型:
個(gè)人主機(jī)平臺(tái):Windows、Linux、Mac OC;
移動(dòng)平臺(tái):iOS、Android、Windows Phone、BlackBerryOS、Symbian;
專業(yè)主機(jī)平臺(tái):Xbox、PlayStation、Will等。
如果你想從事移動(dòng)平臺(tái)的游戲開發(fā),Android主流JAVA語(yǔ)言,iOS主流Object-C語(yǔ)言,那么你就要去學(xué)習(xí)這個(gè)平臺(tái)主流的語(yǔ)言,而在個(gè)人主機(jī)上主流的游戲開發(fā)語(yǔ)言現(xiàn)在包括以后很長(zhǎng)時(shí)間也還是C++。
但是并不是所不同平臺(tái)的游戲開發(fā),就毫無(wú)共通之處,學(xué)了這個(gè)到了另一個(gè)平臺(tái)就無(wú)用了。不是這樣的,編程的世界里你走得越遠(yuǎn)你會(huì)發(fā)現(xiàn)很多東西的本質(zhì)都是相似的,例如你如果扎實(shí)地理解了C++的基本語(yǔ)法(而不是死記硬背),日后再轉(zhuǎn)Java語(yǔ)言也不是很難的事情,因?yàn)樗鼈儽举|(zhì)的面向?qū)ο筇匦赃€有各種編程語(yǔ)言特性都是相通的。
所以,如果你想走得遠(yuǎn),在學(xué)習(xí)的時(shí)候不能簡(jiǎn)單流于表面,對(duì)于一樣知識(shí)越深入到底層,你就越能看到其它知識(shí)與其的異曲同工之處,因此你將比別人更輕松。但是,當(dāng)然一開始最好盡可能是貼合自己的專屬領(lǐng)域和編程語(yǔ)言,這樣能盡快地在這個(gè)領(lǐng)域持有一席之地。
無(wú)論你選擇哪個(gè)平臺(tái),游戲開發(fā)這個(gè)浩大的工程都離不開游戲引擎,所以這里都有二條路線讓你選擇:
只使用游戲引擎;
使用游戲引擎并深入學(xué)習(xí)游戲引擎原理。
線路一:只使用游戲引擎
對(duì)于第一條路線,游戲引擎的使用并不困難,因此適合想快速上手游戲開發(fā)工作的人。我們工作大多數(shù)時(shí)候也不會(huì)自己開發(fā)游戲引擎,所以這樣對(duì)于一般的日常工作也沒什么大礙。對(duì)于只使用游戲引擎的人來(lái)說,入門階段要做的就是看該引擎的教程(書籍、視頻、網(wǎng)上博客、網(wǎng)上教程、官方幫助文檔等),并且熟練該教程所使用的編程語(yǔ)言。
所以你要做的第一件事,就是去了解現(xiàn)在流行的游戲引擎。因?yàn)椴煌脚_(tái)下的性能不同,支持的編程語(yǔ)言也不盡相同,所以針對(duì)不同平臺(tái)下的流行的游戲引擎也是不同的(方括號(hào)里面是特別推薦的,基于開源性、易用性、性能與效果等方面的綜合水平推薦):
windows或游戲主機(jī):【Unreal】、寒霜、CE3
蘋果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è)游戲引擎流行意味著官方的功能比較完善和易用,問答社區(qū)也比較多人解疑。各個(gè)游戲引擎也各有千秋,Unity3d勝在簡(jiǎn)單易用,對(duì)性能要求不高,但是效果不夠華麗,因而一般用在移動(dòng)平臺(tái)而不會(huì)用在電腦或游戲主機(jī)。Unreal勝在開源免費(fèi),而且效果也很出色,但是對(duì)設(shè)備要求比較高,因而常常用來(lái)開發(fā)效果絢麗的大型游戲。cocos2d-x也是開源免費(fèi)的,在2D領(lǐng)域深有造詣,但是缺點(diǎn)是不可視化開發(fā)。另外,如果你想了解游戲引擎原理,那么首要考慮的就是開源的游戲引擎。
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式