著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:孙鹏飞
链接:http://www.zhihu.com/question/21114802/answer/22840766
来源:知乎
----答案多图 流量预警----
跟你简要说一下我的自学路,以免你走弯路
背景:
有工作,而且很忙;在不影响工作基础上用业余时间鼓捣(经常会因为工作耽搁学习进度);基本没技术背景(初中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可能也可以写歌;另外还试过一个很有历史的微软的音乐自动编辑器,很好玩,用来做背景音乐也不错。
入手手绘板学画画(这中间纠结了好久才决定用位图不用矢量图),如果你能找到热爱游戏的美术同学一起搞那最好不过。但是我一直对画画心痒难搔。。。所以入了这个深坑,晒一晒:
熟悉板绘:
&lt;img src="https://pic2.zhimg.com/752b20547974184262e5eb4fdbb47ff1_b.jpg" data-rawwidth="422" data-rawheight="357" class="origin_image zh-lightBox-thumb" width="422" data-original="https://pic2.zhimg.com/752b20547974184262e5eb4fdbb47ff1_r.jpg"&gt;
你可以看到我真的是0基础哦,画线我手那个抖的。。。
&lt;img src="https://pic4.zhimg.com/1743e71488f518d3d74f4502d95a5ffb_b.jpg" data-rawwidth="381" data-rawheight="317" class="content_image" width="381"&gt;
这些是看了 THE DAILY MONSTER:每天画一个怪物,自己也画了几个玩
&lt;img src="https://pic2.zhimg.com/7a11b32f87b50a43285ab901a6cb0731_b.jpg" data-rawwidth="299" data-rawheight="381" class="content_image" width="299"&gt;
&lt;img src="https://pic3.zhimg.com/1388122d0dc72f1f3deaf8ab150a4382_b.jpg" data-rawwidth="363" data-rawheight="337" class="content_image" width="363"&gt;
但是这些不顶用啊,咱需要彩色的,于是尝试上色
不能怕丢人,晒一下初期作品。。。(其实是缩小了的,原始大小惨不忍睹)&lt;img src="https://pic3.zhimg.com/05533f080e64a09de1b625d6ed8d65b2_b.jpg" data-rawwidth="175" data-rawheight="146" class="content_image" width="175"&gt;
虽然自己看着都过不去,但也要坚持要有进步
&lt;img src="https://pic4.zhimg.com/02e9fb11257e503f52ef17ea441c8d93_b.jpg" data-rawwidth="171" data-rawheight="123" class="content_image" width="171"&gt;
自己这没基础的水平连明暗面都分不清
比如
&lt;img src="https://pic3.zhimg.com/827c92a550c22173367404fdfcaee5ba_b.jpg" data-rawwidth="144" data-rawheight="146" class="content_image" width="144"&gt;
为了进步(其实是看不下去自己画的了)咱临摹吧,临摹了一个本以为很简单其实对于我来说很复杂的冒险岛online里的boss朱诺(作为一个奔三男生我很喜欢这游戏不要鄙视我= =)
&lt;img src="https://pic4.zhimg.com/56a6d39775ede03bb0bb776848d95a57_b.jpg" data-rawwidth="472" data-rawheight="570" class="origin_image zh-lightBox-thumb" width="472" data-original="https://pic4.zhimg.com/56a6d39775ede03bb0bb776848d95a57_r.jpg"&gt;(应邀已换大图) (应邀已换大图)
不知道你发现没有,我的习作都是按个算的。。。因为咱精力时间实在有(hen)限(lan),作为游戏爱好者不投入一些业余时间到游戏里也说不过去对吧。。。
后来基于喜爱(其实是为了简单)选择了KingdomRush的风格发展(网上认识一个做游戏的好友Way,在做安卓的RPG游戏《灰王子》,我很喜欢他的美术风格,所以主要临摹了他的一些同人作品)
这是临摹的KingdomRush里抠出来的素材
&lt;img src="https://pic4.zhimg.com/4f044c9b6de04548a39c2f644ad2bd07_b.jpg" data-rawwidth="96" data-rawheight="126" class="content_image" width="96"&gt; &lt;img src="https://pic3.zhimg.com/1a85e21f9cdf456c893aced7e3a9f2ce_b.jpg" data-rawwidth="58" data-rawheight="78" class="content_image" width="58"&gt; KingdomRush的素材又小又不过瘾 KingdomRush的素材又小又不过瘾
这是临摹的way的作品
&lt;img src="https://pic1.zhimg.com/843ebf06195a44a1a39ffa7633945c30_b.jpg" data-rawwidth="485" data-rawheight="487" class="origin_image zh-lightBox-thumb" width="485" data-original="https://pic1.zhimg.com/843ebf06195a44a1a39ffa7633945c30_r.jpg"&gt;
同样临摹way的
&lt;img src="https://pic3.zhimg.com/2d0e93278c05087a383ec05e0081878a_b.jpg" data-rawwidth="382" data-rawheight="338" class="content_image" width="382"&gt;
还是临摹way的
&lt;img src="https://pic1.zhimg.com/22944c83dbaa0f2e1cef64df92939714_b.jpg" data-rawwidth="219" data-rawheight="325" class="content_image" width="219"&gt;
怎么样,他画风很不错吧? :)
然后用习得的上色技法,重新上色我的老鼠
&lt;img src="https://pic3.zhimg.com/db6b9673c8afdc99e4cfdbe53c90c17e_b.jpg" data-rawwidth="144" data-rawheight="152" class="content_image" width="144"&gt;
呃。。。怎么说呢,感觉怪怪的,好像得了皮肤病。。。
这时俺的游戏打算推倒重做,因为打地鼠玩法实在是没意思。
结合我(mei)不(ji)羁(chu)的运笔方法、半瓶子咣当的上色技法,画了一组 帧! 动! 画! 哇,好牛b的赶脚~~
&lt;img src="https://pic4.zhimg.com/f469a484704854664411ffad1e8f98ef_b.jpg" data-rawwidth="1279" data-rawheight="307" class="origin_image zh-lightBox-thumb" width="1279" data-original="https://pic4.zhimg.com/f469a484704854664411ffad1e8f98ef_r.jpg"&gt;
提问:
谁来猜一下朝代?
这是临(chao)摹(xi)哪个游戏的动作?
不管怎么说,我的游戏总算有了原创的小兵动画了,这时距离发下做游戏之宏愿已经过去了。。我算算。。21个月
这个小兵后来又补充了武器、死亡动画,但是攻击以及其他角色动画还都是用汉字代替的。。。坑待填
有了小兵,很自得哦~ 咱得搞个像样的场景罢!
以前一直用风景照ps的,看腻了
找来找去看雨血风格不错,以咱的水平还能学(chao)习(xi)的来,说干就干:
&lt;img src="https://pic4.zhimg.com/7a05edc9f5929f9f7709c7faf3d70213_b.jpg" data-rawwidth="428" data-rawheight="653" class="origin_image zh-lightBox-thumb" width="428" data-original="https://pic4.zhimg.com/7a05edc9f5929f9f7709c7faf3d70213_r.jpg"&gt;至此,美术方面停滞不前 至此,美术方面停滞不前
这个场景,我实在画不下去了。。。
希望有不计较能赚多少钱而热爱游戏的的美术一起入坑,帮咱圆一个做游戏的梦
=============不好意思发散那么远的分割线=================
9
自学之路的困难
难点A
最难的就是持之以恒
因为工作太(tai)忙(lan),又经常沉迷于电影美剧知乎,而且要投入时间和精力研究
游戏
&lt;img src="https://pic4.zhimg.com/7c189243bdf50b1dcaf181e342ea270b_b.jpg" data-rawwidth="27" data-rawheight="28" class="content_image" width="27"&gt;
所以经常好多天什么进步都没有
为了避免自己止步不前,我用excel表记录每天的进步,也当作一个todolist。目前记录了7个月,做好了就绿色,没做就红色,黄色是做了但没做完的,时刻提醒自己不要放弃
(虽然经常忘记看这个表。。。)
&lt;img src="https://pic4.zhimg.com/2f36cb0ca57b1d3a127a392eb778e43f_b.png" data-rawwidth="484" data-rawheight="1024" class="origin_image zh-lightBox-thumb" width="484" data-original="https://pic4.zhimg.com/2f36cb0ca57b1d3a127a392eb778e43f_r.png"&gt;
这样回头一看虽然满眼红色触目惊心,但还是有成就感的。
另外别小看绿色的那么少哦,有时短短一行绿其实凝聚着不少心血。
当然也不要小看红色哦! 有时短短一行红色前面日期写着xx/xx~xx/xx。。。
难点B
我这种没技术基础和实践的,自己写了的类都记不清类的关系,也记不清各种CCNode的parents/children关系。中间推倒重做时,维护了一个visio的表,供提醒自己各种关系用。
&lt;img src="https://pic2.zhimg.com/0666cb09b21acd813e54db4f318aa35d_b.jpg" data-rawwidth="776" data-rawheight="513" class="origin_image zh-lightBox-thumb" width="776" data-original="https://pic2.zhimg.com/0666cb09b21acd813e54db4f318aa35d_r.jpg"&gt;强烈建议你一开始就注意这一点,自己写的各种主要的类大概什么关系、编辑关卡时的注意要点等等都记录下来,不然时间长了自己会搞混的。 强烈建议你一开始就注意这一点,自己写的各种主要的类大概什么关系、编辑关卡时的注意要点等等都记录下来,不然时间长了自己会搞混的。
更新:后来做天赋系统发现MVC结构很好用;就算不用上面那个visio表也没有太大关系
再更:重要的架构设计都注意写文档,不正规的文档也可以,因为时间久了一定会忘的,想再修改很麻烦。
============= 2014/12/16 再次更新==============
后来我辞职啦,专心做游戏,决定就将打地鼠进化版做成我的处女作。添加了很多玩法,自己玩的不亦乐乎啊~ 游戏模式和策略有很多可挖掘的地方。然后就是配音效、音乐、文案翻译、测试等等。时间拖到本周,hello world游戏终于完成,已经在appstore上线,叫做涂鸦防守dooDelfense,想玩一下的请猛戳 < dooDlefense (Doodle Defense) on the App Store on iTunes>。
我这里更新一下美术方面的内容吧,看着比技术说明更过瘾= =
画风经过反复尝试最后确定用涂鸦风格,在看完不需洗眼的前提要求下,以下截图就是我目前的最高水平啦-。-
生气的果冻。。。是普通粉嫩果冻的加强版
&lt;img src="https://pic3.zhimg.com/cbedd3c5c16789c5403fadc15204e01e_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic3.zhimg.com/cbedd3c5c16789c5403fadc15204e01e_r.jpg"&gt;
巨嘴鲸--普通态
&lt;img src="https://pic3.zhimg.com/7ed23910e4f172fc3d46ca25766ae59e_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic3.zhimg.com/7ed23910e4f172fc3d46ca25766ae59e_r.jpg"&gt;
巨嘴鲸--巨嘴态 友情配音 @Plath
&lt;img src="https://pic2.zhimg.com/da96def2c8a17dfd025ec73aed10f65d_b.jpg" data-rawwidth="822" data-rawheight="760" class="origin_image zh-lightBox-thumb" width="822" data-original="https://pic2.zhimg.com/da96def2c8a17dfd025ec73aed10f65d_r.jpg"&gt;
独眼毛团
&lt;img src="https://pic3.zhimg.com/aa3530e116384e2f7c4c6d12cb8987b6_b.jpg" data-rawwidth="863" data-rawheight="637" class="origin_image zh-lightBox-thumb" width="863" data-original="https://pic3.zhimg.com/aa3530e116384e2f7c4c6d12cb8987b6_r.jpg"&gt;
小幽灵
&lt;img src="https://pic4.zhimg.com/ed1c75077056dbc35037d3129f2c1d2f_b.jpg" data-rawwidth="246" data-rawheight="205" class="content_image" width="246"&gt;
小幽灵 【终极奥义·戳】 (知乎貌似不支持gif,请连起来看= =)
&lt;img src="https://pic3.zhimg.com/2d9ec53ba580a1a3ad541055fae40b0e_b.jpg" data-rawwidth="291" data-rawheight="209" class="content_image" width="291"&gt; &lt;img src="https://pic1.zhimg.com/7c619e12d6d2e58cc4db4b1dd2687990_b.jpg" data-rawwidth="291" data-rawheight="209" class="content_image" width="291"&gt;
蜗牛。。。呃。。。蛞蝓炸弹
&lt;img src="https://pic3.zhimg.com/42f2a6e90b5cf84b7b4afbb384f08be2_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic3.zhimg.com/42f2a6e90b5cf84b7b4afbb384f08be2_r.jpg"&gt;
性感的丝光
&lt;img src="https://pic3.zhimg.com/b7aa40dda77cd301aa0f2070af450ebe_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic3.zhimg.com/b7aa40dda77cd301aa0f2070af450ebe_r.jpg"&gt;唔。。唔。。。真好次 唔。。唔。。。真好次
&lt;img src="https://pic4.zhimg.com/c196bab6593964e4d5e50e0eead9ad0b_b.jpg" data-rawwidth="165" data-rawheight="143" class="content_image" width="165"&gt;
小火龙 友情配音 @Plath
&lt;img src="https://pic4.zhimg.com/e27fb7f1bfbdf1fffa98dc41e06befc7_b.jpg" data-rawwidth="204" data-rawheight="342" class="content_image" width="204"&gt;
Inktopus
&lt;img src="https://pic4.zhimg.com/f4d2562e75cafbd85ab20b01fb8f1e4b_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic4.zhimg.com/f4d2562e75cafbd85ab20b01fb8f1e4b_r.jpg"&gt;
噗~~~~~~~
&lt;img src="https://pic4.zhimg.com/5c9a97983751abe021e9a017db130d5f_b.jpg" data-rawwidth="883" data-rawheight="494" class="origin_image zh-lightBox-thumb" width="883" data-original="https://pic4.zhimg.com/5c9a97983751abe021e9a017db130d5f_r.jpg"&gt;
斯巴达
&lt;img src="https://pic3.zhimg.com/615ce4040480b9c8f349983aa07b340e_b.jpg" data-rawwidth="369" data-rawheight="317" class="content_image" width="369"&gt; 晒黑的斯巴达
&lt;img src="https://pic3.zhimg.com/59829e725ba2247243baa7dfdd52ced2_b.jpg" data-rawwidth="486" data-rawheight="420" class="origin_image zh-lightBox-thumb" width="486" data-original="https://pic3.zhimg.com/59829e725ba2247243baa7dfdd52ced2_r.jpg"&gt;
老画阳光的不过瘾,必须来点刺激的(怕审核通不过,所以偷偷放在了后期关卡里,主题渐渐偏离了涂鸦萌娃的正轨。。。)
肉!山!大!魔!王!
&lt;img src="https://pic3.zhimg.com/7d3f064a9119d8bdc6235ec670947db2_b.jpg" data-rawwidth="484" data-rawheight="507" class="origin_image zh-lightBox-thumb" width="484" data-original="https://pic3.zhimg.com/7d3f064a9119d8bdc6235ec670947db2_r.jpg"&gt;这个很厉害的,打死会分身成四个小魔王 这个很厉害的,打死会分身成四个小魔王
沼泽之眼 谁知道这个的出处? ^o^
&lt;img src="https://pic2.zhimg.com/f356ce692a8c2cee47d8235cc6010ef1_b.jpg" data-rawwidth="1136" data-rawheight="640" class="origin_image zh-lightBox-thumb" width="1136" data-original="https://pic2.zhimg.com/f356ce692a8c2cee47d8235cc6010ef1_r.jpg"&gt;
沼泽之眼·怒
&lt;img src="https://pic1.zhimg.com/bcaa1cdec98c9c836fc0cc3800df08f0_b.jpg" data-rawwidth="389" data-rawheight="335" class="content_image" width="389"&gt;
下面这是我最喜欢的, 缸中之脑。。。花
&lt;img src="https://pic4.zhimg.com/09033af53a95bb8686ae909e3c9db3a7_b.jpg" data-rawwidth="1136" data-rawheight="640" class="origin_image zh-lightBox-thumb" width="1136" data-original="https://pic4.zhimg.com/09033af53a95bb8686ae909e3c9db3a7_r.jpg"&gt;
大功告成,吐血三升
&lt;img src="https://pic1.zhimg.com/8cb045067661a7efe1327e9347f26fb4_b.jpg" data-rawwidth="351" data-rawheight="165" class="content_image" width="351"&gt;
插几张截图:
&lt;img src="https://pic3.zhimg.com/94961f4a78c8ad57d9e2ec4095257e8a_b.jpg" data-rawwidth="1136" data-rawheight="640" class="origin_image zh-lightBox-thumb" width="1136" data-original="https://pic3.zhimg.com/94961f4a78c8ad57d9e2ec4095257e8a_r.jpg"&gt;
&lt;img src="https://pic1.zhimg.com/beedda80de0e1aa52423ad3ed0e5d060_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic1.zhimg.com/beedda80de0e1aa52423ad3ed0e5d060_r.jpg"&gt;
&lt;img src="https://pic4.zhimg.com/585811dd9dee7ee253eaf735efdeba67_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic4.zhimg.com/585811dd9dee7ee253eaf735efdeba67_r.jpg"&gt;
&lt;img src="https://pic4.zhimg.com/11381a44f2a83acda102a0f9e85f7243_b.jpg" data-rawwidth="568" data-rawheight="320" class="origin_image zh-lightBox-thumb" width="568" data-original="https://pic4.zhimg.com/11381a44f2a83acda102a0f9e85f7243_r.jpg"&gt;有没有哪里看起来很眼熟 ^o^ 有没有哪里看起来很眼熟 ^o^
关于游戏起名,最开始叫WhackTheM,因为是打地鼠嘛(Whack the Mole),但我的怪有很多种,就是没有地鼠,所以简写了一下叫WhackTheM;后来为了配合画风,改成叫Doodle Defense。这名字一眼看过去就能明白还兼顾了关键词,但是遇到了一个问题,太长在手机上显示不全。想来想去,就叫dooDlefense好了,又有doodle又有defense,搜索结果肯定错不了。
---------------开心 update-----------------
第一个作品喜上总榜top100 (* ̄▽ ̄)y
---------------视频 update---------------
有些天赋、兵种的搭配还没有人发现,作为作者我深感痛惜啊!
因此录制了一些有特色的后期搭配,希望能启发大家发掘出更多的玩法~
iOS独立游戏【涂鸦防守 dooDlefense】兵种天赋超强搭配