自学 cocos2d 游戏开发应该按什么步骤进行?

标签: 自学 cocos2d 游戏开发 | 发表时间:2014-03-04 22:05 | 作者:ArtS
出处:http://www.zhihu.com
跟你简要说一下我的自学路,以免你走弯路

背景:
有工作,而且很忙;在不影响工作基础上用业余时间鼓捣(经常会因为工作耽搁学习进度);基本没技术背景(初中qbasic、高中pascal半吊子),大学文科,工作也不是搞代码。因此我感觉我的自学路跟你还是挺契合的。 到目前基本自学了2年整的时间,但还没有任何游戏上线。。。桑心

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 >;


动画编辑最初自己手写太累,后来选择了cocosbuilder,请注意现在这个软件已经停止维护,转而引导用户使用SpriteBuilder< SpriteBuilder >(域名都做了自动跳转;SpriteBuilder我木有研究过,建议你研究一下)。

粒子编辑我自己还没实际用到,如果真正需要我感觉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、并且很可惜动画播放完没有触发消息的机制,我只好把每个动画时长都手动记录一下自己处理)

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 >但自己目前的坑没有用到;
尝试过一点物理引擎和粒子,但自己目前的坑没有用到;

学习音乐制作,这个我小时候学琴一直也喜欢音乐所以有一点点底子,如果没有基础可能上手有门槛;开始用的软件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的表,供提醒自己各种关系用。

强烈建议你一开始就注意这一点,自己写的各种主要的类大概什么关系、编辑关卡时的注意要点等等都记录下来,不然时间长了自己会搞混的。


不好意思发散那么远。最后总结一下:
请擅长画帧动画的好基友/姐妹喜欢游戏又看不惯国产页游式手游的,请用评论私信等各种方式砸死我吧

— 完 —
本文作者: ArtS

【知乎日报新版上架】无网络也能点收藏,举报评论功能新鲜开启,将精彩长评优先展示, 点此立刻更新~

此问题还有 8 个回答,查看全部。
延伸阅读:
为了iphone游戏开发自学画图,应该怎么进行?
有哪些知名的手机游戏是用cocos2d-x开发的?

相关 [自学 cocos2d 游戏开发] 推荐:

自学 cocos2d 游戏开发应该按什么步骤进行?

- - 知乎每日精选
跟你简要说一下我的自学路,以免你走弯路. 有工作,而且很忙;在不影响工作基础上用业余时间鼓捣(经常会因为工作耽搁学习进度);基本没技术背景(初中qbasic、高中pascal半吊子),大学文科,工作也不是搞代码. 因此我感觉我的自学路跟你还是挺契合的. 到目前基本自学了2年整的时间,但还没有任何游戏上线.

【iphone游戏开发】iphone-Cocos2D游戏开发之二:精灵表的详细讲解(一)和Zwoptex工具的使用

- Linker Lin - 博客园-首页原创精华区
简单精灵表:精灵表中的图片都具有相同维度. 复杂精灵表:精灵表中的图片可以具有不同的维度. 通过SpriteSheet类将提供的图像切割成大小相同的子图像,当一个新的精灵表被实例化时将提供切割时用到的维度,同时也将提供精灵表图像中已用的“间隔”信息. 通过PackedSpriteSheet类来解析,该类需要一个图像和控制文件的名称.

cocos2d+TexturePackerGUI动画制作

- - CSDN博客移动开发推荐文章
转载请注明出处: http://blog.csdn.net/oyangyufu/article/details/25168047. 1、下载安装TexturePackerGUI. 地址: http://www.codeandweb.com/texturepacker. 2、制作plist文件和png图片.

谷歌开发技术推广部经理胡坤:HTML5与Cocos2d-X

- - 博客园_新闻
3月 31 日消息,Google 开发技术推广部经理胡坤在第四届 Cocoachina 开发者大会发表题为“HTML5与 Cocos2d-X”的主题演讲. 先做一下自我介绍,我是 Google 的工程师我叫胡坤,我是 06 年加入 Google 中国,今天我跟我的同事一块儿来的,我们外面有展台,如果大家有什么问题可以跟我们沟通.

游戏开发的51条军规

- 章明 - 互联网的那点事
Struan Robertson在gamesbrief中撰文讲述了他在游戏开发的51条经验:. 预留20%时间修改Bug以确保完美. 记住游戏发布的时间和期限把这件事放在心上,给自己一个开始修改的deadline. 怀着“我能弄出伟大的游戏”的心态开始每一个项目. 以在预定的时间和预算内完成项目为终极目标.

HTML5游戏开发工具推荐:IMPACT

- iDesperadO - HTML5研究小组
Impact 是一个 JavaScript 游戏引擎,可以为桌面和手机浏览器开发令人惊叹的 HTML5 游戏. 我已经试过了四个其他 JavaScript 游戏引擎,这是我用过的第一个比较有意义的(……)Impact 是市场上第一个真正专业级的 JavaScript 和 HTML5 游戏引擎. ——《Game Developer Magazine》,2011年5月.

游戏开发商开源HTML5游戏

- - Solidot
游戏工作室Wooga开源了其开发的HTML5游戏Pocket Island,源代码托管在GitHub上,该公司在官方博客上介绍了他们的开发经验,认为HTML5游戏有潜力,但尚未做好准备,开源的意图将是让其他人了解他们的工作,学习和改进. Wooga认为,2012年也许不是HTML5的黄金时代,但它的黄金时代即将到来.

游戏开发者评微软Surface

- - CocoaChina移动观察
6月19日,微软揭开了携Surface进军平板市场的计划,这一全新平台将会把人体工程学设计的移动设备与笔记本功能性融合于一体. 据微软说,由Windows 8(以及Window RT)驱动的Surface将会为应用和游戏提供许多令人兴奋的机遇. 然而游戏开发者也是这样看的吗. 为此,我们在采访了业界的众多的开发者,而他们的第一印象显然是各不相同,不少开发者对这款设备的核心功能设定表示了担忧.

一份游戏开发学习路线

- -
认真学完 C++ Primer 是否有能力写个小游戏. 读完  C++ Primer,不在开发环境中写代码练习,还是啥也写不出来. 读完 C++ Primer, 同时把书中的习题和例子在开发环境中操作练习,但是不了解 Windows API 或者 QT,MFC  等框架或者其他图形库,或许就只能写出控制台小游戏.