獨立開發者:新手做2D手游該用哪些工具

jopen 10年前發布 | 10K 次閱讀 2D

獨立開發者:新手做2D手游該用哪些工具

【GameLook專稿,轉載請注明出處】

GameLook報道/隨著全球手游行業規模將突破250億美元,越來越多的開發者開始進入手游研發領域,而作為一名菜鳥,很多時候,如果沒有其 他開發者的建議,我們會走很多彎路,最近獨立工作室Sheado.net公司的Chad Ata在博客中分享了他們從一開始進入手游研發到如今四年多以來積累的經驗,希望可以給新入行者提供一些幫助。以下是GameLook編譯的博客內容:

一開始進入游戲研發領域的時候,你很難知道該選擇什么工具、什么程序語言以及哪些框架,你會面臨許許多多的選擇和建議,我和我的團隊總能發現其他游戲公司的經驗是有用的,所以這里提供一些我們的經驗,希望給做手游的新手們一些幫助。

獨立開發者:新手做2D手游該用哪些工具

初入手游行業

雖然在其他行業有過10多年的編程和策劃經驗,但當我開始做手游研發的時候,依然覺得自己是一只菜鳥。我們的第一個游戲Furdiburb(寵物 冒險游戲)最初是在2009年開始研發的,當時是專門為Android而做的。對于毫無游戲研發經驗的我們來說,Java是唯一可用到編程語言。作為一個 2D游戲,我們(非常不明智)沒有使用OpenGL就開始非硬件加速圖形開發。隨著Furdi受到了更多人的歡迎,我們的游戲項目也得到更多的注意,最終 我們遇到了性能和移植問題。如果我們此前學習了其他開發者的經驗,很多問題都是可以完全避免的。

找到更好的方法

在完成了Furdiburb的研發,并且使用playn緩慢的把游戲移植到了iOS平臺之后,我們決定開始第二款游戲(Eras of Alchemy)的研發。我們當時希望擺脫Java語言,找到可以廣泛使用的跨平臺研發工具,最好是未來還可以支持主機游戲平臺。

獨立開發者:新手做2D手游該用哪些工具

隨后我們開始了搜索,我用了將近一個月的時間對框架、工具以及引擎進行對比,最后,我和我的團隊非常滿意新的研發方式,直到現在也非常不錯。這里 我不會說為什么要選擇這些,框架是經常變化的,一年前選擇它的理由可能到現在就已經不再是考慮的主要因素了。所以,這篇文章的其余部分只會對我們選擇某個 工具的原因進行簡單的描述。以下就是我們當初選擇并對比了一個月之后的結果:

編程

我們所列舉的都是在研發我們游戲的時候用到的,而且只是我們做游戲的方式而已,很多工具和框架的結合也是非常完美的,需要開發者們自行發現。

框架

我們選擇的所有架構,要么是開源的,要么就是有開放的代碼。這是非常好的,因為我們在必要的時候可以進行緊急修改和優化。

Cocos2d-x:我們所有的跨平臺研發都是使用開源Cocos2d-x框架完成,在Eras Of Alchemy的研發過程中,我們使用了版本2,我們的下一個游戲正在使用的是版本3,進行了大幅度的API以及性能提升。整體來說,Cocos2d-x 的2D表現非常好,而且文件管理非常方便。

Spine:我們使用Spine做了動畫,所以我們加入了C語言為基礎的Cocos2d-x插件。

Box2D:我們還沒有發布一款使用該引擎的游戲,但我們的下一款游戲A Quiver Of Crows將會使用,我們目前研發就使用了這個工具。

獨立開發者:新手做2D手游該用哪些工具

SQLite:Cocos2d-x本身也提供數據存儲方案,但我們更喜歡使用SQLite,因為它的讀寫速度和表現更好。

編程語言

C++:Cocos2d-x支持多種語言編程,但我們選擇了C++,因為我們覺得目前該語言是最合適做跨平臺研發的。

C:你經常會想要加入一些開源的API,其中有一些就是C語言編程的。

Java:我們依然需要用到Java,但也只是在Android平臺做游戲內IAP、廣告以及特殊系統功能的時候。語言之間的切換可以通過JNI來完成。

Objective-C:選擇它的理由和Java一樣,我們使用Objective-C是為了使用iOS系統的特定功能。

Scripting:這包括程序化腳本和其他腳本語言,所有的開發者們都要時不時的寫腳本,但我們卻很少會談論這個問題。這個問題是非常容易的, 但如果你和我一樣而且由于不常使用而不記得一些語法的話,這個工作有是非常耗時間的,我們要給維護代碼、自動音頻轉換以及紋理打包寫腳本。

開發環境

Xcode:所有人都告訴我們說Xcode非常好,所以我進行了嘗試,而且我不得不說的是,這是目前我最喜歡的開發環境。這里我并不想說太多具體的原因,因為我不想引發集成開發環境(IDE)爭論,我們使用Xcode做跨平臺研發,也為蘋果平臺做專門的編程。

Eclipse:對于IDE來說慢的可怕,但我看來卻非常好用。我們用Eclipse做了所有的Java和Android研發,包括適配和修復 bug。Android目前在推Android Studio而不是Eclipse,但我們沒有那么多的時間,也沒有什么特別的理由去轉換到新的工具。

Visual Studio:也是個非常優秀的IDE,我們用它來做左右和微軟相關的編程、Bug修復以及適配。

版本控制

即便你的團隊只有一個人,你也應該使用版本控制。所有人都會犯錯,而且任何一次大改都可能導致游戲神秘的死亡。我們的團隊只有3個人,因此從第一天做手游開始,版本控制就是非常必要的。目前有非常多的方案可以選擇,但我們使用的有以下幾個:

SVN:我個人喜歡SVN,因為可以做到所有我需要的功能,比如合并、同步、恢復等等,但學習起來比較困難。

Git:我們使用的很多開源框架都使用Git。我們使用Git就是為了保持與框架同步,當需要的時候可以進行快速修復。

電腦

很明顯,你做游戲是需要使用電腦的。最初所有的研發都是在Linux機器上完成的。但我們開始了iOS平臺的研發之后,用兩三臺電腦變得效率非常 低,所以我們買了一些iMac,而且我們都非常喜歡用它來做游戲研發。幸運的是,OSX的很多指令與Linux相同,所以我們的很多腳本都沒有做改變。

圖形工具

Adobe CS:相信這個沒有人覺得奇怪,我們的美術師最常使用的是Illustrator和Photoshop。

Spine:非常推薦這個工具制作骨骼動畫,和傳統的幀到幀動畫相比,骨骼動畫可以節約硬盤空間,還可以節約大量的研發時間,提供強大的功能,比如動畫混合、蒙皮技術以及網格變形。

Texture Packer:你或許會想要把圖片進行打包獲得更大的圖像以獲得更好的游戲表現。我們選擇Texture Packer來完成這項工作,而且我們還使用它的指令功能進行自動化打包處理。

關卡編輯器

我們使用的關卡編輯工具包括:

沒有編輯器:如果可以不用的話,我們絕不會使用編輯器。我們可以用代碼解決,這聽起來非常瘋狂,而且有點浪費時間,但如果你的團隊非常小的話,有時候為了節約時間可以不必為了一次性的任務專門用代碼寫一個編輯器。

定制化編輯器:有時候我們寫了一個非常不好用的游戲內編輯器來做圖形或者關卡,我的意思是未經優化的,恐怕也只有我們會這么做。

R.U.B.E:對于我們的下一個游戲,我們在使用R.U.B.E(Really Useful Box2D Editor)之前,幾乎自己研發了一個游戲內編輯器,這個非常強悍的工具節約了我們大量的時間,但如果我們決定要做關卡編輯器的話,我們必須自己研發。

音樂和視頻

Ffmpeg:我個人非常喜歡ffmpeg,這個工具非常好用,我們通常使用腳本用它把我們的視頻變成各個平臺需要的格式。

Cakewalk Sonar:這是個非常強悍的音樂制作軟件,一開始的學習會比較困難。

GArritan Personal Orchestra:如果你想給自己的游戲加入管弦樂,Garritan可以帶來非常高質量的音樂,我們通常和Sonar混合使用。

Audacity:一個非常不錯的視頻編輯和錄制工具。

以下2個是我們已經不再使用的工具,但可能對于新手來說依然具有推薦意義:

Anvil Studio:如果你熟悉樂器而且樂意學一些音樂知識,并且想要做MIDI格式的音樂,這是個非常不錯的軟件。

Linux Multaimedia Studio:這是個非常不錯而且簡單的軟件,可以制作非常不錯的音樂,而且不需要你閱讀很多的音樂知識。

結論

目前做游戲的工具非常多,以上的這些工具只是我們在做2D游戲的時候選擇的工具,目前為止,我們對這些工具非常滿意,我們最新的游戲發布到了 iOS、Android和Windows Phone平臺。我們還打算在下一款游戲發布的時候,用同樣的工具把游戲擴展到PC、Mac以及Linux平臺。
 原文  http://www.gamelook.com.cn/2014/12/194858

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!