此文之前首发于雷锋网,所以自己的博客上就晚了几天才放上来。跟大家分享一下自己开发手游的过程,希望对大家能有所帮助~
谨以此文献给与我同样有创业梦想的程序员们.
我相信像我一样的程序员一定大有人在,一个人、一身技术、一腔热血,想要涉足手游领域,却不清楚会投入多少。
所以,我把自己的这次游戏开发过程,完整记下来,给与我同样的程序员以参考。
4月1日
《保卫妞妞》正式立项,当然说是立项,其实就是我一个人而已 。
既然决定要做,就要调查一下可能用到的技术点,说下我的背景,有5年左右的c、c++开发经验,3年左右的python开发经验,多年web开发经验,但就是没有游戏开发经验.
之前也只是简单了解过一点objc,根本没有实战过。而更要命的时候我都不知道开发游戏需要什么库和工具. 所以大体搜了一下,貌似cocos2d很多人推荐,那就先看本介绍的书吧
4月1日~4月3日
将《learn cocos2d on iphone》这本书看完,不过这本书用的cocos2d版本是0.99,而我后来游戏中使用的是cocos2d 2.x,所以后来发现很多代码不能用还是很痛苦的.
之前说过objc也没怎么用过,所以看这本书的时候,就基本把主要例子都敲了一遍。因为之前也有c基础,所以倒也不是很困难。
看完这本书,貌似还是懵懵懂懂,不管了,先上手开发再说~
4月3日~4月5日
尝试开发,结果发现实际开发和看别人写代码完全两回事,怎么检测是否受到攻击?怎么模拟碰撞?怎么加入敌人AI?还是完全不知道怎么下手。
要是有和自己游戏类型对应的教程就好了(多天真的想法…)。但是还真让我找到了!
www.raywenderlich.com,里面很多游戏开发的教程,并且很多都用cocos2d 2.x 版本进行了重写,而且有些还支持中文。
极力推荐几篇它的教程: 《How To Make A Side-Scrolling Beat Em Up Game Like Scott Pilgrim with Cocos2D》,《Intro to Box2D with Cocos2D 2.X Tutorial: Bouncing Balls》,《How To Make A Game Like Fruit Ninja With Box2D and Cocos2D》
从这里学到很多实战的技巧,为后来的开发有极大的帮助。
4月6日~4月20日
正式开始开发,各种熬夜啊有木有!作息时间基本是早上9点到凌晨3点,媳妇有严重意见啊有木有!
其实程序开发都是相通的,即使游戏有很多独特的地方。比如为了简化人物的状态转换(攻击、休息、行走),我加入了状态机系统,这在我之前开发epoll服务器中也经常用到.
另外由于一开始没有美术资源,所以就在66rpg上随便找了些素材图来代替。(表鄙视我,只是调试而已,我正式上线的游戏中美术资源都是自己花钱做的~~)
这段时间基本印证了之前有个朋友跟我说的话,游戏开发其实没有太多技术含量,就是熬。
4月21日
终于熬出来了!《保卫妞妞》主要内容基本完成开发。看到游戏能够正常运行简直泪如泉涌啊。
呃,等等,貌似美术还是用的别人的资源啊。。
所以找了一个做美工的朋友,把整体风格,logo,背景,人物,菜单就都放心交给她了,反正我自己也没啥审美~ 一共提供3个尺寸的大小,iphone4、iphone5、ipad,两种语言 英文和中文, 这个单一共是3000 rmb,美工预估交付的时间是 5月4日。
你问为啥要做英文版?因为我的应用没有设计应用内付费,就打算直接appstore付费下载就好了,所以国内玩家是不可能买单了,那还是直接做英文版吧~:)
4月22日~5月6日
游戏我也做不了啥,所以我就投入到别的项目去了 :)
5月7日
美术资源交付,晚了几天,但是效果还是不错的。可惜我新投入的项目时间点比较急,所以就没有立即去整合美术资源
5月17日~5月20日
终于有时间继续来搞游戏了,开始统一替换新的素材,并且开始做国际化。这里面也有一些坑,给大家列一下
1.、ios6的模拟器是没法做国际化处理的,总是取不到数据。到iphone5真机调试就正常
2.、iphone和ipad的尺寸设计差别太大,导致很多元素都没法兼容,所以暂时放弃了ipad版。当然还有一个重要原因是,之前看文章说如果ipad和iphone版同时提交审核又没有太大区别的话,就很容易被拒
5月21日
换上了焕然一新的素材包,看起来果然漂亮了许多~
然后花了一整天调整各种参数,包括速度,攻击力,血量等等,最后的目的很简单,玩家玩我这个游戏玩得爽就好啦~ 虽然不知道最后这个目标达到没有,但是反正我自己玩起来是很爽啦~
5月22日
最后回归了一下功能,没什么问题~ 给价格定了个一级,提交appstore上线!uploading的进度条慢慢滚动,心中还真是蛮激动的,哈哈
5月29日
苦苦等待了一周,终于在28日深夜10点,应用状态变成了in review,然后在29日上午7点,应用审核通过!
最后我们来算一下我对这个游戏一共的投入成本:
时间成本:
自己:
学习时间: 5天
开发时间: 20天
他人
美工时间: 18天
金钱成本:
美术: 3000元
可以看出,我之前的时间计划没有做好,如果美工和开发同时启动的话,只要20多天就可以全部完成。
那么得出结论,正常来说这个游戏的开发周期仅为20天,并且随着技艺的提高,开发的速度应该会越来越快。
所以,还在观望的程序员朋友们,这20多天的时间成本,你是否承担的起呢?
对了,最后说下我游戏的名字吧,英文名《Niu Niu Defense》,中文名《保卫妞妞》(下载链接)。等过段时间把盈利的情况也写篇文章发上来,希望能给大家更多参考~
taogogo on #
这么快…你的设备兼容是怎么做的?
Reply
Dante on #
iphone5的尺寸是一定要单独做的,但是iphone4与iphone4之前可以用一套高分辨率的素材解决,关键代码是这段:
<pre>
if( ! [director_ enableRetinaDisplay:YES] )
{
// 调整一下比例大小,这样只要一套高清模板就可以了
[director_ setContentScaleFactor:2.0];
CCLOG(@"Retina Display Not supported");
}
</pre>
Reply
greatghoul on #
的确是好快呀,20天一个游戏
Reply
Madper on #
疯了... 你哪儿来这么多时间全天搞这个?! 不上班了?
Reply
Dante on #
是啊,哈哈,不上啦~ :)
Reply
dd0s on #
博主竟然离职了。。
Reply
Madper on #
O_o 创业?! 蛤蛤~ 那考虑招我给你打工~ lol
Reply
waveacme on #
进来支持一下博主。
Reply
GuoJing on #
好久没来看了,看了之后,不错,很有启发。不过你有5年C/C++经验啊,还是不错的,有基础。我之前只有.NET的,然后就是python了,没想到博友这么长时间才知道你工作了这么多年。。。
怎么有一个月这么长的时间来弄,难道不工作么?羡慕一下。。。
Reply
Dante on #
呃,确实不工作了,哈哈
Reply
Can on #
用VI开发的么
Reply
一路狂飙 on #
羡慕嫉妒不恨楼主~
Reply
alex on #
博主离职有何打算?创业?
Reply
Dante on #
是的~
Reply
toby on #
博主离开企鹅了 ?
Reply
banny on #
恭喜恭喜啊,各种羡慕
Reply
slabin on #
博主,你的app现在下载量有多少了呀?是今年的5月29号上线的吗?
Reply
Dante on #
下载量很少,哈哈
Reply
fanhe on #
看来博主是想自己创业了吗?
Reply
Dante on #
是的哈
Reply
bells on #
想不到博主离职了哦,本来还想麻烦博主内推下了。 支持下博主的游戏哈。
Reply
Dante on #
嗯,是啊,已经离职了,你是毕业生?
Reply
bells on #
不是毕业生。工作快3年了哦。
Reply
doyle on #
博主用啥机器开发啊~mbp还是mba啊~
Reply
Dante on #
mbp,后来还改成了8g内存。
Reply
gemor on #
博主强大呀, 考虑开源 不。。
Reply
endle on #
佩服LZ
祝LZ的作品在app store上销量攀升
Reply
大笨兔 on #
手游开发现在好热,不过团队工作我觉得会好一点
Reply
Dante on #
是啊,但是靠谱的团队不好凑齐的。。
Reply
李若紫 on #
博主在哪,我也准备辞职单干。
Reply
Dante on #
哈哈,多谢~~
Reply
张东亮 on #
擦,这么晚了才看到消息, 前战友前来祝贺! 有需要帮忙的尽管说.
Reply
adou on #
今晚失眠,下一个体验一把,顺便支持一下~
Reply
aliao on #
请问,lz的服务端的通信是基于http还是socket的?
Reply
小王同学 on #
博主,求推荐基本ios开发入门的书,以前学过一点c++程序。
Reply
Dante on #
呃,我记得我刚接触ios开发的时候,恰好是iphone4s发布的时候,那时候很多书都是基于sdk3的,所以有很多问题,所以当时是主要是网上找资料学的。
但是objc的语法还是要单独学一下的,这种书很多,基本都可以用。不过看完了其实也没什么深入的理解,后来对obc的对象管理等内容搞懂基本是在写了好多相关代码之后,一点点调试出来的。。
Reply
大雄 on #
博主,我也是搞c/c++,真心有和你类似的想法和兴趣,你的经历给我很大启发,哈哈,最后想问问博主 保卫妞妞的下载量有多少哇~
Reply
yjwei on #
赞博主,之前学习VIM,经常来博主的blog中看vim的知识,算是慢慢上手了。祝博主的作品大卖: )
Reply
xiamu on #
哇塞,厉害,一个人开发,博主有那么强的技术实力,再弄个好创意,会不会出现中国的神庙逃亡呢
Reply
大厨师 on #
不知楼主,现在《保卫妞妞》如何了,楼主团队后面有怎样的动作
Reply
油条 on #
楼主至少5年程序了啊,保养的不错啊,我见的好几个同行两三年的就又糙又黑了
Reply
喔喔兒 on #
是不是打算自己做个开发游戏的团队。。
Reply
李雪冰 on #
身为企鹅的一员,对博主的技术表示深深的钦佩,可否交个朋友286971217.
Reply
Dante on #
已发请求
Reply
csjacsj2010 on #
前企鹅一员,现手游行业,同求博主交朋友:1905915
Reply
Dante on #
已发请求
Reply
风雨兼程 on #
你好,如有兴趣加qq:545827520,讨论项目合作
Reply
_fakir_ on #
赞一个
Reply
AG on #
赞一个
Reply
苏亮 on #
楼主,顶起
Reply
loser on #
如果分享中能提及下“保卫妞妞”,游戏设计初衷就更完美了。
博主的能力有目共睹,经历过程也是我们要效仿的必经之路。只是,游戏内容的构思?例如:为什么要做一款这样的游戏?游戏的内容又是如何被构思出来的?等等。这样整个过程就完美了。
当然在此也谢谢博主的分享。
Reply