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