剛進(jìn)入游戲開發(fā)領(lǐng)域時,總是很難決定應(yīng)該使用什么工具、語言和框架。(約翰f肯尼迪)。

你將面對各種各樣的選擇以及大量需要考慮的觀點。而我和我的團(tuán)隊發(fā)現(xiàn)參考其它游戲公司的開發(fā)環(huán)境是非常有幫助的。

蹣跚而行

盡管擁有在其它領(lǐng)域10年以上的編程和設(shè)計經(jīng)驗,但是當(dāng)開始開發(fā)游戲時我還是覺得自己就像個新手。我們的第一個項目《外星寵物》開始于2009年,并且在那時候只面向Android平臺。Java是唯一適合初出茅廬的人所使用的語言,所以我們果斷選擇了它。為了創(chuàng)造一款2D游戲,我們并未使用OpenGL去開發(fā)游戲(這是錯誤的)。而因為Furdi廣受歡迎,所以整個項目也因此受到廣大關(guān)注。我們最終發(fā)現(xiàn)自己需要面對像性能和可移植性等問題。而如果我們能夠從其他開發(fā)者身上吸取經(jīng)驗教訓(xùn)便有可能避免許多不必要的問題。

找到一個更好的方法

在完成《Furdiburb》并幾乎快將游戲移植到iOS(使用playn)后,我們決定轉(zhuǎn)向創(chuàng)造第二款游戲(《煉金時代》)。為了進(jìn)一步擴展交叉平臺開發(fā)并為未來的主機開發(fā)做準(zhǔn)備,我們決定舍棄Java。

所以我們便開始進(jìn)行各種探索。我花了將近1個月的時間去比較不同框架,工具和引擎,最終我和我的團(tuán)隊決定使用一種全新的開發(fā)方式,這也是我們到今天仍在使用的方式。我并不清楚為什么我們會有這樣的選擇??蚣芸偸遣粩喟l(fā)生著變化,我們在一年前做出一個決定的原因可能在今天早已無效。而在之后的內(nèi)容中我將簡單地描述我們使用的方法以及為什么會使用這種方法。

編程

這是我們用于編寫游戲程序的內(nèi)容。這是我們做事的方法。結(jié)合各自不同的工具和框架是非常有效的。

框架

我們所選擇的所有框架要么是開源的,要么是帶有公開的代碼。這對我們有很大的幫助,因為如此我們便可以根據(jù)需求做出適當(dāng)?shù)恼{(diào)整與緊急的修改。

Cocos2d-x—-我們的所有跨平臺開發(fā)都是依賴于開放源Cocos2d-x框架。對于《煉金時代》,我們使用的是第二版。我們也將在之后的游戲中使用最新的第三版,即包含大量關(guān)于API和性能的完善。從整體看來Cocos2d-x 2D擁有突出的性能以及出色的文件編制功能。

Spine—-我們在動畫制作中使用了Spine,所以我們添加了他們基于C語言的Cocos2d-x插件。

Box2D—-雖然我們還未使用Box2D發(fā)行過游戲,但是我們在下一款游戲《A Quiver of Crows》的開發(fā)中使用了這一工具。

SQLite—-Cocos2d-x提供給我們一個數(shù)據(jù)儲存解決方法,但我們更傾向于使用SQLite,因為它能夠幫助我們更好地閱讀/編寫。

語言

C++—-Cocos2d-x支持多種語言,但我們還是選擇了C++,因為我們認(rèn)為這是當(dāng)下最友好的跨平臺語言。

C—-有時候你可能會想整合一個開放源API。而有些開放源便是基于C語言進(jìn)行編寫。

Java—-我們?nèi)匀恍枰褂肑ava,但只是為了在Android平臺上整合IAP,廣告和針對于OS的功能。語言間的交流是通過JNI完成的。

Objective-C—-與Java一樣,我們使用Objective-C去創(chuàng)造針對于iOS的功能。

腳本語言—-包含shell腳本語言和其它腳本語言。所有開發(fā)者都需要經(jīng)常編寫腳本,但我們卻很少談及它。這是相對簡單的內(nèi)容,但也是費時的內(nèi)容,就像如果你和我一樣因為很少使用而很難記住語法的話。我們是為了編譯代碼,自動化音頻轉(zhuǎn)化,自動化關(guān)卡創(chuàng)造和整合紋理而編寫腳本。

開發(fā)環(huán)境

Xcode—-每個人都跟我們說Xcode很糟糕!所以我便決定嘗試看看,但是我卻必須承認(rèn),這已經(jīng)成為現(xiàn)在的我最喜歡的開發(fā)環(huán)境。我們會使用Xcode進(jìn)行跨平臺開發(fā)以及面向蘋果的編程工作。

Eclipse—-我們會在所有與Java和Android相關(guān)的開發(fā)中使用Eclipse,包括資源配置與調(diào)試?,F(xiàn)在的Android主推Android Studio而不是Eclipse,但我們既沒有時間也沒有動力再去轉(zhuǎn)向它了。

Visual Studio—-這同樣也是個優(yōu)秀的IDE。我們主要是在與微軟相關(guān)的編程,調(diào)試和資源配置中使用它。

版本控制

即使你是只有一個人的團(tuán)隊,你也應(yīng)該使用版本控制!每個人都會犯錯,任何硬盤驅(qū)動器都有可能癱瘓。我們是一支擁有三個人的團(tuán)隊,所以從第一天開始我們便非常重視版本控制。雖然對此的解決方法并不多,但我還是想和你們分享我們使用的一些方法:

SVN—-我很喜歡SVN。它能做我需要它做的所有事(包括合并,同步,歷史等等),唯一的缺陷便是它不具有較高的學(xué)習(xí)曲線。

Git—-在眾多開放源框架中我們還是依賴于Git。我們會使用Git去保持實時更新,有時候還會在需要進(jìn)行快速修改時用它去創(chuàng)造分支內(nèi)容。

計算機

顯然你需要使用計算機才能創(chuàng)造電子游戲!最初所有開發(fā)工作都是基于Linux,但是當(dāng)我們開始面向iOS開發(fā)游戲時,Linux已經(jīng)很難再同時應(yīng)對兩臺或三臺計算機(甚至是系統(tǒng)多重啟動的機器)。所以我們便購買了幾臺iMacs并使用它們?nèi)ラ_發(fā)游戲。幸運的是OSX中的命令行與Linux的一樣,如此我們便不需要再去改變大量腳本。

圖像藝術(shù)

Adobe Creative Suite—-這沒有什么意外,我們的美術(shù)師使用最多的便是Illustrator和Photoshop。

Spine—-我真的極力推薦這個骨架動畫工具!比起傳統(tǒng)的逐幀動畫,骨架動畫能夠幫助你節(jié)省更多磁盤空間。并且因為擁有像動畫混合,角色蒙皮和可變形的網(wǎng)格等強大功能,它還能幫你節(jié)省下不少時間。

Texture Packer—-你可能會為了擁有更好的性能而想將圖像打包到更大的紋理中。為此我們便選擇了Texture Packer,我們還使用了他們的命令行功能去自動化打包過程。

bmGlyph—-如果你計劃使用位圖字體(而不是運行Truetype字體),你便需要位圖字體生成器。我們選擇的是OSX可兼容的bmGlyph,這對我們非常有效。

關(guān)卡編輯

以下是我們用于設(shè)計關(guān)卡和圖像布局的工具。

沒有編輯器!—-有時候我們不會使用任何編輯器!我們只是編寫了代碼。雖然這聽起來很瘋狂也很無理,但如果你的團(tuán)隊真的很小,那么放棄編寫一個編輯器將能夠幫助你們節(jié)省不少時間。

定制編輯器—-有時候我們會編寫一個較笨拙的游戲內(nèi)部編輯器去創(chuàng)造圖像布局或設(shè)置關(guān)卡。對于笨拙,我指的是未優(yōu)化,因為只有我們自己會使用這一編輯器。

R.U.B.E—-對于我們的下一款游戲,我們先是創(chuàng)造了一個游戲內(nèi)部編輯器,然后偶然發(fā)現(xiàn)了R.U.B.E(游戲邦注:即Really Useful Box2D Editor,真的很有用的Box2D編輯器)。這一工具幫助我們節(jié)省了不少時間,但如果我們決定發(fā)布一個關(guān)卡編輯器的話,我們還是要創(chuàng)造自己的編輯器。

音樂和音頻

ffmpeg—-我是ffmpeg的忠實粉絲。它真的很棒!我們是在腳本中使用它將音頻轉(zhuǎn)化成面向特定目標(biāo)平臺的適當(dāng)格式。

Cakewalk Sonar—-這是一個非常強大的音樂制作程序,在一開始便帶有一個復(fù)雜的學(xué)習(xí)曲線。

Garritan Personal Orchestra—-如果你想要的是orchestral VSTs(樂器),Garritan便擁有非常高的音質(zhì)。我們便是使用它與Sonar結(jié)合在一起。

Audacity—-這是一個很棒的音頻編輯器與錄音工具。

而以下是我們雖然不再使用,但仍想推薦你們的工具:

Anvil Studio—-如果你曾培訓(xùn)過樂器并且能夠瀏覽/操控音符和時間等,且想要創(chuàng)造MIDI的話,這對你來說便是一個很不錯的程序。

Linux Multimedia Studio—-LMMS是一個非常簡單的程序。你將能夠使用它去創(chuàng)造高科技舞曲/電子樂。并且該程序也不需要你知道如何看樂譜。

結(jié)論

如今創(chuàng)造游戲的方法多種多樣。而以上是我們選擇的用于創(chuàng)造跨平臺2D游戲的方法,并且到目前為止我們都用的很順暢。我們最近的游戲已經(jīng)面向Android(Google Play,Kindle和Nook),iOS和Windows Phone發(fā)行了。我們也將使用同樣的工具和框架將我們的下一款游戲進(jìn)一步帶向PC,Mac和Linux等平臺。

1.《外星寵物怎么過音樂關(guān)看這里!創(chuàng)造2D游戲所使用的各種工具分享》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《外星寵物怎么過音樂關(guān)看這里!創(chuàng)造2D游戲所使用的各種工具分享》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/3025767.html