當前位置: 華文問答 > 遊戲

自學 cocos2d 遊戲開發應該按什麽步驟進行?

2014-02-28遊戲

----答案多圖 流量預警----

跟你簡要說一下我的自學路,以免你走彎路

背景:

有工作,而且很忙;在不影響工作基礎上用業余時間鼓搗(經常會因為工作耽擱學習進度);基本沒技術背景(初中qbasic、高中pascal半吊子),大學文科,工作也不是搞程式碼。因此我感覺我的自學路跟你還是挺契合的。

1

兩年前的一天,決定要做獨立遊戲制作人。選定引擎cocos2d,開始學習objective-c語言;(如果你打算只在iOS平台開發可以學obj-c配合cocos2d或者sprite kit;如果打算跨平台就要用cocos2d-x和c++了;當然unity什麽的也不錯但是我還沒嘗試過,一直很向往)

2

我跳過了iOS程式開發(似懂非懂看完了史丹佛那一系列的教學視訊),結合當時情況直接選擇了cocos2d引擎,這時開始接觸

@吳一刀

推薦的部落格;我主要看的是子龍山人<

子龍山人 - 部落格園

>、Ray Wenderlich<

Ray Wenderlich

>、Himi<

黑米GameDev街區

>這些部落格裏最基本的例子,知易那個以我當時的水平還看不懂。

3

嘗試開始設計自己的簡單遊戲,我做打地鼠!當然比教學例子裏的打地鼠復雜多了

4

這個過程中發現自己懂的實在是不夠,所以又開啃這本書:Learn cocos2d 2 by Steffen Itterheim & Andreas Low

5

慢慢的發現需要一些趁手的工具和編輯器,並行展出一套自己構建於cocos2d之上的遊戲設計架構。我目前的情況是這樣:


關卡編輯 我使用plist檔配合自己寫的類;


sprite sheet 使用TexturePacker<

TexturePacker

>;


動畫/UI編輯 最初自己手寫太累,後來選擇了cocosbuilder,請註意現在這個軟體已經停止維護,轉而引導使用者使用SpriteBuilder<

SpriteBuilder

>(網域名稱都做了自動跳轉;SpriteBuilder我木有研究過,建議你研究一下)。

粒子編輯 我自己還沒實際用到,如果真正需要我感覺cocosbuilder的夠我用的。//更新:後來用到了ParticleDesigner和cocosbuilder兩個軟體的粒子編輯混搭

我當時遇到的一個大麻煩是如何讓cocosbuilder、cocos2d版本互相相容且cocosbuilder無問題。大概情況是這樣:

cocosbuilder2.1和cocos2d-iphone2.0及2.1版本都不協調怎麽辦?

What version of Cocosbuilder and Cocos2d-iphone should I choose?

目前我使用的cocosbuilder 2.1版本(漸變層有bug、並且很可惜動畫播放完沒有觸發訊息的機制,我只好把每個動畫時長都手動記錄一下自己處理)

======3月12日更新======

@GarfieldKwong

指點下發現這個版本動畫播放完是可以觸發訊息機制的,更高級版本3.x支持的效果應該是在動畫中就加入callback的關鍵幀

新技能get√

具體程式碼可見下面學習案例的第一個例子裏Explosion部份

=====================

cocosbuider的學習可以看兩個例子

Creating a Game with CocosBuilder

Introduction to CocosBuilder

;然後就是多用多嘗試。

6

整個學習過程要學會查資料、學會尋求幫助,我主要用的stackoverflow(話說剛剛發現stackoverflow的reputation喜過15,終於可以投票了:)

在學習過程中得到了子龍山人(我認為本尊是這位

@屈光輝

)、LearnCocos2d作者Steffen、

@kubisoft

以及眾多網上朋友的幫助,再次表示感謝。


7

硬體及開發者資格:看完c++開始看obj-c,這個過程一直是使用的vmware虛擬機器安裝的mac系統寫程式;然後入手一個最便宜的mac pro、以及iPhone,嘗試玩各種遊戲;從看c++開始大約過了1年半(已經有非常簡陋的遊戲demo)才真正購入iOS開發者資格並開始真機測試。

8

嘗試過的一些其他工具、各種彎路和坑、以及發散內容:

可以拖拽方式寫程式碼的stencyl <

Stencyl: Make iPhone, iPad, Android & Flash Games without code

>;

最初學的不是ojc-c而是譚浩強老師的c++程式設計(雖然有人不喜譚老師,但那書是中文的讓我對面對物件程式設計有一些初步的概念,再看英文的obj-c不至於太摸不著頭腦,反正手頭正好有這麽一本買了6年沒看的c++。。。);

嘗試過<

Tiled Map Editor

>但自己目前的坑沒有用到;

嘗試過一點物理引擎和粒子,但自己目前的坑沒有用到;現在粒子用到了,做了火焰等效果,也挺美的;但是一定要註意CPU占用最佳化,記憶體方面我最低支持4S沒遇到大問題

學習音樂制作,這個我小時候學琴一直也喜歡音樂所以有一點點底子,如果沒有基礎可能上手有門檻;開始用的軟體LMMS,但是音源外掛程式在64位元系統的問題我一直沒解決掉時間精力也不多,所以是暫時停滯了;最近發現Garage Band可能也可以寫歌;另外還試過一個很有歷史的微軟的音樂自動編輯器,很好玩,用來做背景音樂也不錯。

入手手繪板學畫畫(這中間糾結了好久才決定用位圖不用向量圖),如果你能找到熱愛遊戲的美術同學一起搞那最好不過。但是我一直對畫畫心癢難搔。。。所以入了這個深坑,曬一曬:

熟悉板繪:

你可以看到我真的是0基礎哦,畫線我手那個抖的。。。


這些是看了

THE DAILY MONSTER:

每天畫一個怪物,自己也畫了幾個玩



但是這些不頂用啊,咱需要彩色的,於是嘗試上色

不能怕丟人,曬一下初期作品。。。(其實是縮小了的,原始大小慘不忍睹)

雖然自己看著都過不去,但也要堅持要有進步


自己這沒基礎的水平連明暗面都分不清

比如

為了進步(其實是看不下去自己畫的了)咱臨摹吧,臨摹了一個本以為很簡單其實對於我來說很復雜的冒險島online裏的boss朱諾(作為一個奔三男生我很喜歡這遊戲不要鄙視我= =)


(應邀已換大圖)

不知道你發現沒有,我的習作都是按個算的。。。因為咱精力時間實在有(hen)限(lan),作為遊戲愛好者不投入一些業余時間到遊戲裏也說不過去對吧。。。

後來基於喜愛(其實是為了簡單)選擇了KingdomRush的風格發展(網上認識一個做遊戲的好友Way,在做安卓的RPG遊戲【灰王子】,我很喜歡他的美術風格,所以主要臨摹了他的一些同人作品)

這是臨摹的KingdomRush裏摳出來的素材

KingdomRush的素材又小又不過癮

這是臨摹的way的作品


同樣臨摹way的


還是臨摹way的

怎麽樣,他畫風很不錯吧? :)

然後用習得的上色技法,重新上色我的老鼠

呃。。。怎麽說呢,感覺怪怪的,好像得了皮膚病。。。

這時俺的遊戲打算推倒重做,因為打地鼠玩法實在是沒意思。

結合我(mei)不(ji)羈(chu)的運筆方法、半瓶子咣當的上色技法,畫了一組 幀! 動! 畫! 哇,好牛b的趕腳~~

提問:

誰來猜一下朝代?

這是臨(chao)摹(xi)哪個遊戲的動作?

不管怎麽說,我的遊戲總算有了原創的小兵動畫了,這時距離發下做遊戲之宏願已經過去了。。我算算。。21個月

這個小兵後來又補充了武器、死亡動畫,但是攻擊以及其他角色動畫還都是用漢字代替的。。。坑待填

有了小兵,很自得哦~ 咱得搞個像樣的場景罷!

以前一直用風景照ps的,看膩了

找來找去看雨血風格不錯,以咱的水平還能學(chao)習(xi)的來,說幹就幹:

至此,美術方面停滯不前

這個場景,我實在畫不下去了。。。

希望有不計較能賺多少錢而熱愛遊戲的的美術一起入坑,幫咱圓一個做遊戲的夢

=============不好意思發散那麽遠的分割線=================

9

自學之路的困難

難點A

最難的就是持之以恒

因為工作太(tai)忙(lan),又經常沈迷於電影美劇知乎,而且要投入時間和精力研究

遊戲

所以經常好多天什麽進步都沒有

為了避免自己止步不前,我用excel表記錄每天的進步,也當作一個todolist。目前記錄了7個月,做好了就綠色,沒做就紅色,黃色是做了但沒做完的,時刻提醒自己不要放棄

(雖然經常忘記看這個表。。。)



這樣回頭一看雖然滿眼紅色觸目驚心,但還是有成就感的。

另外別小看綠色的那麽少哦,有時短短一行綠其實凝聚著不少心血。



當然也不要小看紅色哦! 有時短短一行紅色前面日期寫著xx/xx~xx/xx。。。



難點B

我這種沒技術基礎和實踐的,自己寫了的類都記不清類的關系,也記不清各種CCNode的parents/children關系。中間推倒重做時,維護了一個visio的表,供提醒自己各種關系用。

強烈建議你一開始就註意這一點,自己寫的各種主要的類大概什麽關系、編輯關卡時的註意要點等等都記錄下來,不然時間長了自己會搞混的。

更新:後來做天賦系統發現MVC結構很好用;就算不用上面那個visio表也沒有太大關系

再更:重要的架構設計都註意寫文件,不正規的文件也可以,因為時間久了一定會忘的,想再修改很麻煩。

============= 2014/12/16 再次更新==============

後來我辭職啦,專心做遊戲,決定就將打地鼠前進演化版做成我的處女作。添加了很多玩法,自己玩的不亦樂乎啊~ 遊戲模式和策略有很多可挖掘的地方。然後就是配音效、音樂、文案轉譯、測試等等。時間拖到本周,hello world遊戲終於完成,已經在appstore上線,叫做塗鴉防守dooDelfense,想玩一下的請猛戳 <

dooDlefense (Doodle Defense) on the App Store on iTunes

>。

我這裏更新一下美術方面的內容吧,看著比技術說明更過癮= =

畫風經過反復嘗試最後確定用塗鴉風格,在看完不需洗眼的前提要求下,以下截圖就是我目前的最高水平啦-。-

生氣的果凍 。。。是普通粉嫩果凍的加強版


巨嘴鯨--普通態

巨嘴鯨--巨嘴態 友情配音

@Plath


獨眼毛團



小幽靈

小幽靈 【終極奧義·戳】 (知乎貌似不支持gif,請連起來看= =)

蝸牛。。。呃。。。蛞蝓炸彈


性感的絲光

唔。。唔。。。真好次


小火龍 友情配音

@Plath


Inktopus

噗~~~~~~~


斯巴達

曬黑的斯巴達



老畫陽光的不過癮,必須來點刺激的(怕稽核通不過,所以偷偷放在了後期關卡裏,主題漸漸偏離了塗鴉萌娃的正軌。。。)

肉!山!大!魔!王!

這個很厲害的,打死會分身成四個小魔王

沼澤之眼 誰知道這個的出處? ^o^

沼澤之眼·怒



下面這是我最喜歡的, 缸中之腦。。。花

大功告成,吐血三升


插幾張截圖:



有沒有哪裏看起來很眼熟 ^o^


關於遊戲起名,最開始叫WhackTheM,因為是打地鼠嘛(Whack the Mole),但我的怪有很多種,就是沒有地鼠,所以簡寫了一下叫WhackTheM;後來為了配合畫風,改成叫Doodle Defense。這名字一眼看過去就能明白還兼顧了關鍵詞,但是遇到了一個問題,太長在手機上顯示不全。想來想去,就叫dooDlefense好了,又有doodle又有defense,搜尋結果肯定錯不了。

---------------開心 update-----------------

第一個作品喜上總榜top100 (* ̄▽ ̄)y

---------------視訊 update---------------

有些天賦、兵種的搭配還沒有人發現,作為作者我深感痛惜啊!

因此錄制了一些有特色的後期搭配,希望能啟發大家發掘出更多的玩法~

iOS獨立遊戲【塗鴉防守 dooDlefense】兵種天賦超強搭配
iOS獨立遊戲【塗鴉防守 dooDlefense】兵種天賦超強搭配—線上播放—優酷網,視訊高畫質線上觀看 http://v.youku.com/v_show/id_XMTI2NjcxOTQ0OA==.html