游戏上线了,加个链接先 http://www.mumayi.com/android-550241.html
《Fly Your Sister》作为第一个比较完整的手游,算是完成了目标。但是从接触cocos2d-x开始,至今也有大半年了,才做出这么质量的游戏,不得不说执行力太低了,而且大部分工作都是近一个月做完的。现在进行总结:
一、开发环境的搭建:
一开始的windows下的工程,是同事成功包发给我的,连HelloWorld都是他搞掂。好像直到现在我还不知道怎么搭建cocos2d-x的开发环境。
搭建环境的,还是问谷歌和度娘吧!
二、一句一句抄程序
程序员都是闷骚的,做游戏的程序员更加闷骚。我想没有人会为了做一个HelloWorld而去研究一个没接触过的框架吧。一开始我们想的更多的是怎么实现网络通信,怎么构建服务端,怎么实现支付,这些东西,多么遥远啊,到现在还没真正接触过。
不知道在哪里下载的cocos2d-x超简洁笔记,照着做,学了几个Action,Scene,Layer,Sprite,就差不多把那个笔记看完了。觉得差不多了,先把服务端和客户端的通信底层做出来再算,于是跑去研究凡二的底层。看了一些fastdb,ICE,ACE之类的东西,究竟以后有没用我不知道,目前是没用上的。后来感觉知道了一点点,但是怎么都不做不出来一个简单的应用例子来。于是又跑回来看cocos2d-x。看了本《cocos2d-x教程》,内容全面点,基本也是跟着做。后来又写了找了一些《捕鱼》、《萝莉快跑》、《魔塔》等一些代码,网上都有得下载,看多了也就那回事,毕竟是例子工程,不会有太高深的东西。如果说框架《捕鱼》的思路应该是比较成熟的,不知道是不是《捕鱼达人》的源码简化的。到这个时候,好像差不多也是二月份了吧。
Cocos2d-x的学习过程,没啥困难,其实就是接触新事物,不懂的就把某个类,某个函数复制到谷歌上面去,也就那回事,关键是需要理解cocos2d-x的思想吧。毕竟自己一直做服务端的,还真没了解客户端的机制。很多问题都是由于思路错了。
不过作为一个初学者,学一点,调试一点,多上谷歌就是了。不要想太多深入的功能,其实写个HelloWorld出来,如果手动能力够强,心理承受能力够强的话,应该去试试真机调试了,这样能省很多功夫。
三、山寨FlappyBird
越南小鸟真的很多人山寨,网上一搜还有源码啥的,逻辑也简单,美术资源也有了。不过没找到cocos2d的代码。决定自己写个,顺便作为以后游戏的基础代码。
埋头写代码,三天就写出个demo了,其中还画了很长时间研究box2d。接着就进入漫长的调试,和优化。最后还把box2d优化掉了。简单的碰撞,不需要物理引擎了。毕竟自己不熟。Windows版的flappybird就这么做出来了。整个过程就是写代码。现在想起,对程序员来说,谷歌百度能搜到的问题,根本不是问题。一大堆教程什么的,其实这些都没有涉及到作者的核心利益。当然,在现有的基础上修修补补的写程序,也不算什么问题。所以说,不要觉得自己工资低是老板吝啬,其实自己根本不值钱。接着开始真机调试,噩梦才开始了。
四、真机调试
写好的代码一直在windows上运行多美意思啊。因为没有苹果电脑,只能先搞搞android咯。因为cocos2d-x选择了C++语言,所以我自己其实一点都没接触android。网上有篇文章叫令人欲仙欲死的android环境搭配,起的名字真好。细节就不写了,网上很多,其实我也不记得了。
首先是jdk的问题,尼玛我现在还不知道为什么我的电脑配的路径为什么没效的。必须用管理员权限才能起作用。
IDE:一开始想用MyEclipse的,结果搞了好几个版本,居然都出奇的无法导入ADT,最后只能放弃了。装了Eclipse,一次就附加插件成功了。
Cygwin:网上有一种编译方式是用到这个东西,不过好像每次编译,都是重新编译的。
NDK:万恶的兲朝防火墙,根本连不上google服务器,百度了各种方法都不行,结果不着调哪位大神发现可以连微软的代理去下载,虽然慢,至少能下载。mirrors.neusoft.edu.cn 端口80。用了几个小时好开心的下载了各个版本的库。
好像差不多了,工具都安装完,然后是配置文件,mk文件啥的,一堆,网上的很乱,只能从别人发的帖子里面某个角落的回复找到灵感,你抓到了就能解决问题,抓不到的,还是得慢慢看。尼玛居然练出了一双看英文技术帖子的眼睛。这过程很曲折,其实如果是一开始就接触android的人应该不会这么蛋疼的。但是我又不想话太多时间在java上面,很艰难的编译过了。
好吧,调试,android模拟机,配了N个,查了N多东西,居然都启动不了我的程序。打日志吧,logcat不会用,百度去,搞了很久都没有见到cocos2d的日志,最后只得重新插配置文件,居然发现配置文件配重复了。日志有了,原来不支持openGL。好吧,换版本,这个时候碰到的下载ndk库的问题。蛋疼了两天。网上很多人都说真机调试,我一直以为是把程序放到手机上跑就行了,但是尼玛又保存不了日志。搞了好久特然醒悟,真机调试跟真机测试好像不同哇。。。。。。下载个Android USB调试包,一插上手机,果然能调试。关键是能启动。第二天再试,发现不行了,查了很久不知道怎么回事,插线拔线好几次才成功连一次。前几天才发现问题,连不上是因为中国特色社会主义的问题,插手机的时候记得把360,搜狗,腾讯,酷狗等你所知道的所有兲朝本土软件都关掉,否则有可能占用端口。
调试是蛋疼的事,在windows下运行良好的程序,到android就各种失灵了。从一开始搞起,把代码注释掉,一句句调。终于发现是读取xml文件的问题。搞了好久,用了N种方式,终于确定到,android上是读取不了apk包的资源的,要用cocos2d的函数来读取。这也是从某个帖子一个不引人注意的回复中看见的,几十条回复中招到那么几个字得出的灵感不容易啊。最后用cocos2d去除的流文件中用rpaidxml来解释。程序终于运行起来。但是很奇怪,到了一些机子上面就挂了。没有实体机,也没办法了。安卓这个问题很严重。接着优化了几天。发现居然有不行了,尼玛我忘记提交SVN了。又把代码注释掉,又来一句句看。就这样加起来,程序搞定了,但是放进手机又挂了,这次很神奇,最后发现居然还是rapidxml的问题,好吧,读不了,只能用cocos自己的tinyxml2了。网上一堆人推荐用rapidxml,我感觉,这些人九成不是人,是其他垃圾网站写的爬虫程序爬回来的,帖子连回复都一模一样。剩下的一成中,听人家说就这么说,还有一部分人,是IOS的吧。甚至可能很多人都没有几个人亲自从0开始写一个游戏。换了tinyxml2之后,就没有遇到多少代码上的问题了。
五、美术资源
程序搞完了,就得换美术资源啦,好吧,百度“美术资源”,尼玛全是要钱的。难道程序员自己做个游戏就这么难么。网上没有公开的,就去偷咯,孔乙己说“这叫窃,不是偷”。下载了很多游戏,apk解压很简单,把后缀名改成zip就行了。至于反编译嘛,参考别人的代码?算了吧,晚点再说。解压出来的文件夹里面,有就有,没有就没有的了,大家不要浪费时间,成熟点的公司都会加密,我们下载多几个凑一下就好了。最后不记得在哪里找的图片,放进去搞搞,发现效果还不错。立刻上了一个档次。
六、广告
选了有米来练练手先,为什么选有米,因为它是本土的,做得相对成熟。现在人家是有米的老大了,我还是一屌丝,总得看看有米有多牛逼。好吧,这里提一下,有米只负责发广告,显示出来,怎么消失,他们不管的。不熟悉active怎么写,只能让广告先一直显示着了。
七、发布
网上几时个平台,我是在有米的sdk文档上面有个渠道信息标签知道的,一个个百度,记得加个“开发者”,一个一个找到的,注册开发者账号吧,这个建议大家在家没事看电视的时候慢慢注册吧,而且越早越好,到现在还没全部通过审批呢。
提交应用也是个蛋疼的事,图标,描述,截图啥的,一堆东西要搞,建议大家想好点。每个平台都有自己的后台,都有自己的一套规则,360、豌豆荚这些还要都要版权声明,网易还直接说要版权证书,我也不知道是不是被客服忽悠了。跟客服打交道是个很蛋疼的事。客服这个职业从来都是不能解决问题的,能解决问题也就不需要做客服了。解决问题,还是不能靠客服,只能尽量了解自己想要的信息,做出调整。
好吧,就说这么多了,继续等审批吧,全部都在审批,没有一个通过的。虽然是山寨产品,但是不至于都不给上吧。