当前位置: 华文问答 > 游戏

自学 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