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

2020-12-11 CSDN技術社區

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


以下為譯文:

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

初入手遊行業

雖然在其他行業有過10多年的編程和策劃經驗,但當我開始做手遊研發的時候,依然覺得自己是一隻菜鳥。我們的第一個遊戲Furdiburb(寵物冒險遊戲)最初是在2009年開始研發的,當時是專門為Android而做的。


對於毫無遊戲研發經驗的我們來說,Java是唯一可用到程式語言。作為一個2D遊戲,我們(非常不明智)沒有使用OpenGL就開始非硬體加速圖形開發。隨著Furdi受到了更多人的歡迎,我們的遊戲項目也得到更多的注意,最終我們遇到了性能和移植問題。如果我們此前學習了其他開發者的經驗,很多問題都是可以完全避免的。

找到更好的方法

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

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

以下就是我們當初選擇並對比了一個月之後的結果:

編程

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

框架

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

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,因為它的讀寫速度和表現更好。

程式語言

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

英文文章來源:Gamasutra,譯文出自:GameLook

(責編/唐小引)

相關焦點

  • 觸控科技: 搭建技術橋梁 Cocos 2d-x首次赴臺辦沙龍
    9月5日晚,大陸領先的手遊開發/運營商觸控科技將攜旗下的開源遊戲引擎Cocos 2d-x跨越海峽,赴臺灣舉辦分享沙龍。這是Cocos 2d-x引擎第一次在臺灣舉辦開發者沙龍,也將是「觸控開發者平臺」首次在臺灣公開亮相。
  • Cocos 2d-JS中文版API文檔正式上線
    據悉,該API文檔基於Cocos 2d-JS 3.2rc0版本,開發者可以在文檔中瀏覽Cocos 2d-JS的所有類、函數以及使用方法,快速檢索學習及開發過程中所需要的方法。Cocos 2d-JS是Cocos 2d-x的JavaScript版本,融合了HTML5技術和Cocos 2d-x JavaScript Binding(JSB),支持Cocos 2d-x的所有核心特性並提供更簡單易用的JavaScript風格API,能幫助開發者方便地使用JavaScript語言進行遊戲開發,快速構建原型進行驗證,並能讓遊戲跑在所有支持HTML5規範的瀏覽器上。
  • SegmentFault獨立開發者支持計劃開啟:幫助獨立開發者建立影響力
    在移動市場興起,App Store 模式風行的時候,獨立開發者曾擁有過一個好時代。召集幾名開發者,做個好應用,就能夠贏得大眾的認可、媒體的贊同。但如今,一款應用成功不再是寫好代碼就可以。隨著開源的發展,軟體開發工具比以前任何時候都要好;硬體不僅性能出色,而且擁有豐富的感應器;編程方面的指導越來越多,也越來越好了。從市場的角度來看,開發者所處的時代也不沒有那麼壞。
  • 觸樂專訪AnotherIndie聯合創始人:獨立遊戲開發者先走Steam試一試
    由AnotherIndie和心動網絡聯合發行的《失落城堡》已經成為了國產獨立遊戲中的現象級產品,遊戲目前的全球總銷量已突破19萬套。遊戲的發行商AnotherIndie是一個有著中外聯合建立背景,專注於獨立遊戲發行的公司,我們曾對該公司做過相關報導。
  • Never Too Small to Dream Big —— Unity大賽獨立遊戲開發者張翰...
    再來,就是強大的插件商店,裡面有非常非常多有意義的資源和工具,比如說一些shader,一些AI邏輯等,研究透了能夠節省非常多的研發時間。我見過有些人做遊戲,沒有想清楚就開始動手寫代碼,把Unity當成是word來用,這是絕對錯誤的。Unity要求一些開發者能夠迅速的在抽象思維和形象思維之間轉變,所以要求每個人的個人能力不能夠太單一,最好是有跨度的。
  • 最新用Unity做的2D遊戲,《戰魂銘人》手遊
    Unity開發2D遊戲較容易上手,軟體發展前景也是蠻不錯,今天又有一款採用Unity開發的人氣手遊首發上市--《戰魂銘人》(今天安卓平臺也可以玩了):我們從 Unity開發及學習角度,說一下《戰魂銘人》這款遊戲。超仔拋磚引玉,各位有什麼更好的意見及建議還請留言評論。
  • 《小花仙》手遊新手怎麼玩 新手玩法攻略
    導 讀 小花仙手遊新手怎麼玩,很多玩家都不清楚,那麼玩家每天需要做哪些事情呢,接下來九遊小編為大家介紹小花仙手遊新手攻略
  • 使命召喚手遊新手怎麼玩-新手玩法指南
    使命召喚手遊新手怎麼玩,相信不少的玩家都有這樣的疑問,今天小編就為大家帶來使命召喚手遊新手玩法指南,希望可以幫到玩家。使命召喚手遊新手玩法指南主副武器各佔一個槽位,副武器可以攜帶近戰武器,發射器,手槍其中任意一個,主武器有散彈槍,衝鋒鎗,步槍,精準射手步槍(98k)和射手步槍,都可以裝備槍械配件,不同的槍械配件可以給你帶了不同的遊戲體驗和思路(找出最適合你的那套)codm有靶場和人機對戰,配好新槍後用一用別把自己坑了  3 提前看cod道具描述,有很多致命傷害道具,有些是你玩了很多槍戰遊戲沒有見過的輔助型道具
  • 使命召喚手遊新手用什麼武器好-使命召喚手遊新手武器使用推薦
    使命召喚手遊新手用什麼武器好?使命召喚手遊明天即將上線,遊戲中有很多武器,下面爪遊控為大家帶來使命召喚手遊新手武器使用推薦。使命召喚手遊新手武器使用推薦相比於AK47,它用10發彈容換來了每發5ms的射速提升,基本沒什麼用,但是它勝在有專屬配件OTM彈藥,該彈藥可改變胸部與上臂的傷害倍率為1.2倍,實現最高38的傷害(同爆頭),在這種情況下,傷害:38/37/33/30/28/22,由此就多出了一段3發致死距離並降低最高致死射擊數為5發,當然,考慮到全部打中胸部和全打頭一樣不現實,所以我也模仿鷹巢做一個分析,在以下條件下命中頭部與胸部,可以降低一發致死所需射擊數
  • 英雄聯盟手遊新手任務怎麼做-新手任務中文翻譯介紹
    英雄聯盟手遊新手任務怎麼做?新手任務是有五天的,每一天的任務都是不同滴,下面爪遊控小編為大家帶來英雄聯盟手遊新手任務中文翻譯介紹,希望可以幫助到大家。英雄聯盟手遊新手任務中文翻譯介紹
  • Coconut2D:跨平臺2D遊戲及應用開發工具
    Coconut2D是由來自希臘的mobileFX公司研發的一款專門用於跨平臺2D遊戲及應用開發的工具,除了其頗為酷炫的快速原型集成開發環境Coconut2D Studio之外,還包含一個擁有眾多2D遊戲及應用開發框架和庫的Coconut2D SDK,並將其託管到Github上。
  • 知物由學|遊戲開發者如何從容應對Unity手遊風險?
    此次活動,旨在為移動遊戲開發者們搭建一個更好的交流平臺,學習Unity在移動遊戲開發領域的最新工具與應用技巧,分享最炫酷的遊戲開發與行業應用案例,了解移動遊戲開發中的安全問題所能給企業帶來的隱患,幫助開發者提前感知安全隱患,避免受到損失。
  • 新手入門需要哪些素描工具?選購教程
    素描工具多種多樣、豐富多彩,新手入門選擇合適的素描工具就好。在這,素描自學網為您介紹一些合適的工具,快速開啟素描的旅程!新手入門需要哪些必備工具?素描工具那各種素描工具的品牌和型號很多,該怎麼選擇呢?別急……鉛筆:新手只需要選HB、2B、4B、6B、8B。
  • 有人想做電腦平臺的App Annie 幫開發者賣Steam遊戲
    來源:界面新聞彭新  在Steam上做遊戲已經越來越難出頭,Steamspy數據顯示,該平臺在
  • 12個酷炫的Chrome開發者工具建議
    好吧,剛才有人告訴我沒人像我一樣喜歡IE8,那麼這周的主題就寫關於Chrome的開發者工具吧。更具體點,我用 Chrome Canary ,你也應該用用它。這可不僅僅是因為Chrome Canary好像一種很小很可愛的鳥,而且它們會燃燒生命給我們提供燃料。這裡,我列出了一些開發工具的建議,希望裡面至少有一條是你還不知道的。
  • 天諭手遊新手職業推薦 新手玩什麼職業好
    《天諭手遊》中,有5大職業,那麼哪個職業適合新手玩?新手玩什麼職業好?看下《天諭手遊》新手職業推薦吧。
  • 2D動畫工具SpriteStudio開售特價
    如今已經有越來越多的遊戲採用SpriteStudio來製作2D動畫,在日本比較知名的產品就有《火焰紋章 英雄》(手遊)、《夢幻模擬戰I&II》(PS4、NS)、《碧藍航線CROSSWAVE》(PS4)、最終幻想勇氣默示錄(手遊)等。親切易用的UI、對於關鍵幀的選擇處理、動畫的補幀處理高效以及自帶特效功能的編輯器深受各方好評。
  • 獨立遊戲開發者:我們想做一點不一樣的東西
    在求職之前上知乎看看,裡面的「匿名用戶」會告訴你最真實的遊戲公司狀況;有產品上線,開發者可以看到中肯的遊戲評測;一些遊戲公司的老闆也喜歡在知乎上給玩家和大眾解疑答惑;遊戲圈有大新聞,知乎上肯定已經有人已經討論開了。今天要聊的獨立遊戲開發者也是知乎上異常活躍的人群之一。
  • 對於日漸成熟的Quest生態,獨立開發者怎麼看
    他還認為,成功的VR內容很容易被Oculus複製並以免費的形式推出,獨立開發者很難和這樣的大平臺競爭。 據悉,今年初《Virtual Desktop》的SideQuest非官方補丁也開始支持Rift應用無線串流,相當於省去Oculus Link的連接線,Quest用戶可以無線體驗PC VR內容。
  • 《Cubism》開發者親述:如何用業餘時間做出爆款VR遊戲
    我認為暫時拿掉手勢追蹤功能是一個正確的決定,因為這樣能鞥確保我可以在預計時間內完成開發工作,並且能夠做的很好。3,提前預見遊戲的開發編程類工具開發過程中當你發現需要不斷更新的功能時,就需要提前研究一下購買或創建高效率的開發工具。