【轉載】淺談遊戲開發之2D手遊工具

淺談遊戲開發之2D手遊工具

來源:http://www.gameres.com/459713.htmlhtml

遊戲程序
平臺類型: iOS Android 
程序設計: 其它 
編程語言:  
引擎/SDK: 其它 

        全球手遊行業規模將突破250億美圓,愈來愈多的開發者開始進入手遊研發領域,而做爲一名菜鳥,不少時候,若是沒有其餘開發者的建議,會走不少彎。獨立工做室Sheado.net公司的Chad Ata在博客中分享了他們從一開始進入手遊研發到現在四年多以來積累的經驗,但願能夠給新入行者提供一些幫助。編程


淺談遊戲開發之2D手遊工具

 


  如下爲譯文:架構


  一開始進入遊戲研發領域的時候,你很難知道該選擇什麼工具、什麼程序語言以及哪些框架,你會面臨許許多多的選擇和建議,我和個人團隊總能發現其餘遊戲公司的經驗是有用的,因此這裏提供一些咱們的經驗,但願給作手遊的新手們一些幫助。框架


  初入手遊行業編程語言


  雖然在其餘行業有過10多年的編程和策劃經驗,但當我開始作手遊研發的時候,依然以爲本身是一隻菜鳥。咱們的第一個遊戲Furdiburb(寵物冒險遊戲)最初是在2009年開始研發的,當時是專門爲Android而作的。對於毫無遊戲研發經驗的咱們來講,Java是惟一可用到編程語言。做爲一個2D遊戲,咱們很是不明智的沒有使用OpenGL就開始進行非硬件加速圖形開發。隨着Furdi受到了更多人的歡迎,咱們的遊戲項目也獲得更多的注意,最終咱們遇到了性能和移植問題。若是咱們此前學習了其餘開發者的經驗,不少問題都是能夠徹底避免的。編輯器


  找到更好的方法工具


  在完成了Furdiburb的研發,而且使用playn緩慢的把遊戲移植到了iOS平臺以後,咱們決定開始第二款遊戲(Eras of Alchemy)的研發。咱們當時但願擺脫Java語言,找到能夠普遍使用的跨平臺研發工具,最好是將來還能夠支持主機遊戲平臺。post


淺談遊戲開發之2D手遊工具

 


  隨後咱們開始了搜索,我用了將近一個月的時間對框架、工具以及引擎進行對比,最後,我和個人團隊很是滿意新的研發方式,直到如今也很是不錯。這裏我不會說爲何要選擇這些,框架是常常變化的,一年前選擇它的理由可能到如今就已經再也不是考慮的主要因素了。因此,這篇文章的其他部分只會對咱們選擇某個工具的緣由進行簡單的描述。如下就是咱們當初選擇並對比了一個月以後的結果:性能


  編程學習


  咱們所列舉的都是在研發咱們遊戲的時候用到的,並且只是咱們作遊戲的方式而已,不少工具和框架的結合也是很是完美的,須要開發者們自行發現。


  框架


  咱們選擇的全部架構,要麼是開源的,要麼就是有開放的代碼。這是很是好的,由於咱們在必要的時候能夠進行緊急修改和優化。


  Cocos2d-x:咱們全部的跨平臺研發都是使用開源Cocos2d-x框架完成,在Eras Of Alchemy的研發過程當中,咱們使用了版本2,咱們的下一個遊戲正在使用的是版本3,進行了大幅度的API以及性能提高。總體來講,Cocos2d-x的2D表現很是好,並且文件管理很是方便。


  Spine:咱們使用Spine作了動畫,因此咱們加入了C語言爲基礎的Cocos2d-x插件。


  Box2D:咱們尚未發佈一款使用該引擎的遊戲,但咱們的下一款遊戲A Quiver Of Crows將會使用,咱們目前研發就使用了這個工具。


  SQLite:Cocos2d-x自己也提供數據存儲方案,但咱們更喜歡使用SQLite,由於它的讀寫速度和表現更好。


淺談遊戲開發之2D手遊工具

 


  編程語言


  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平臺。

相關文章
相關標籤/搜索