5037人阅读
cocos2d-x(18)
作为一名cocos2d-x开发者,开发2D游戏已经有两年多了,这两年来目睹了手游市场的浮躁, cocos引擎的出现降低了手游开发的门槛,提高了手游生产效率,这两年着实是火的不行。然而,手游发展速度神速,眨眼间3D手游几乎以铺天盖地之势袭来。cocos的一个“劲敌”unity卷土而来,几乎霸占了整个3D市场,很多开发者都欣然奔向了unity的怀抱。cocos2d-x也从3.3版本之后开始猛加3D功能,如今3D功能也是比较完善了,市场上也出现了cocos3D开发的产品。身为一个cocos2d开发者的我该如何选择?
从市场需求来看
前两天还跟一个前同事聊天,他之前是做cocos的,前两个月出去找工作,他说cocos的职位已经不太好找了,大部分公司都在招unity,开始搞3D了。
如果真要看市场情况,更直接的办法就是到招聘网站上对比一下cocos和unity两种职位的搜索结果。从我的比较看来,结果可以说是挺明显的,在市场需求上面来看,unity已经超出cocos很多了, 以后这种优势可能还会越来越明显。这意味着如果你要想更容易找到“好职位”,学习unity是个不错的选择。unity有更加成熟和完善的3D功能,也比较容易使用。
从开发语言上考虑(肤浅 -_-!! )
我喜欢用c++写代码,虽然水平没多高,但是因为在它身上花费了很多心血,也用的最多,所以我想在我的技术生涯有更多的时间继续使用它。虽然通常来说纠结于语言是菜鸟程序员才会有的2B行为,但是为了c++,我愿意做这种2B。
如果你像我一样偏执,纠结于语言,并且也喜欢c++,那么从cocos和unity上选择结果就很明显了, 肯定是cocos啦,它的源码都是c++,开发也可以用c++,尽管现在脚本绑定已经很成熟开发效率也更高, 你喜欢,你任性, 你时间多,那你也可以和我一样,就用c++开发。unity开发游戏,据同事所说,他们在用c#,也能用js,也能用lua,也能用c++开发自定义插件,但是c++只是辅助,虽然unity的源码应该是c++,但我又拿不到,所以从语言层面,我要投cocos一票。
从学习角度来看
如果你像我一样,也是搞了很长时间的cocos开发,那么开始转向3D开发,我觉得学习3D图形学的知识,并结合cocos3D来实践和研习是很不错的。因为你已经很熟悉cocos引擎,并且能看到它的全部源代码,使用它来学习3D引擎和3D开发,你能了解到“轮子是怎样造成的”,深入进去你甚至也可以学会造出“3D引擎”这样的轮子。当你精通了cocos这个轮子(从2D到3D, 掌握OpenGL ES, shader), 我觉得学习或者使用别的3D引擎也不是什么大问题, 你在这条路上也会也走越好,就像王哲大大在知乎上的回答:
我是做cocos2dx游戏开发的,想转ios开发,想听听大家的看法?
我做cocos2dxi开发有一年多,但是本身觉得游戏开发的成长空间不大,技术更新快,感觉自身可能应付i不大来,想成为高级程序员还是比较困难,而对于ios,觉得对比游戏c++和lua,ios还是比较纯粹吧,在加上之前开发游戏都是用的mac和xcode,xcode算是比较熟练吧,对于ios,oc也有些了解,有开发过一些小应用,算是入门了。
不过转到ios的话,就意味着我要放弃游戏一年的经验,可能工资会较低吧,而且不知道能不能找到接纳我的工作~,不知和道大家怎么看,是继续游戏开发呢?还是趁现在在找工作之际转到ios 呢?
王哲大大的回答:
我建议是一专多能。技术上的一专,是把某个技术吃透称为真正的专家,比如cocos, unity, unreal精通任一引擎,或者游戏服务端。多能,就是各方便都掌握一些,自己业余时间学过、练过手,具备一定的技术视野。比如我除了手机游戏之外,自己写过一个开源的媒体播放器(C++),一个开源的任务管理系统(PHP),智能设备的硬件驱动(C++)也写过一些,用webkit写个桌面应用也没问题(JavaScript),Qt和QML玩过,python写脚本来处理重复工作也OK,没事情就看看其他有意思的开源库,写个小demo看看人家的开源库怎么玩的。新出的Swift, GamePlayKit, Apple Watch也写些简单的app玩两把。把技术当做一项爱好,而不只是谋生手段,会快乐许多。
一专多能,这个总结我觉得太棒了,学技术就该这样,得有一个方向是你特别擅长的,研究的比较深入的,让这个方向成为你的核心竞争力。如果做一棵墙头草,随市场的风向标频繁的改变自己的学习方向,可能哪个方向上你都浮在表面,这个方向上的后来者可以很轻松的把你超过,更惨一点的是如果这个后来者在自己的方向上搞的特别深,我觉得他换到这个方向上,进步的速度也是你比不上的,因为技术大多是相同的嘛,尤其是同一个领域内的知识。你真正精通了cocos3D, 害怕学不会unity吗,还会怕找不到好的职位吗?
我对unity了解的还不是很多,公司有几个MMO的项目已经在用它开发,我所知道的就是它很强大、很美!听同事说,它上手很容易比cocos2d开发还要简单。我在unity的官网上也看到了它有比较完善的技术文档、教程以及社区支持,加上现在国内外火爆的使用占有率,看起来是不用怕在网上搜索不到问题的解决方案了。然而我更加关心的是它开不开源,去unity官网几次,可以看到它有免费版和pro收费版两个版本,在两者功能对比列表里可以看到访问源代码这个功能,两个版本都不支持,就是说你买了pro版本的也不会看到源码,如果要看源码,上面有提示“请联系销售人员”.
看来想从源码角度来学习unity恐怕是需要费一番心思和银子的,一般人是搞不定,首先是从自己技术水平上上考虑,其次是经济因素上。
综合来看,我觉得对于一个初级的游戏开发者,像我这样,才搞了两年cocos,那么选择开源的cocos引擎来继续学习2D/3D开发和引擎的知识是更合适的。cocos源码的水平肯定是在我之上的,也够我折腾很长一段时间了。
而对于unity,它是好多国外大牛的作品, 代码质量不用说,肯定棒到不行,从它的价格上就可见一斑。我这个水平看它的源码肯定会很吃力,现在好好学习cocos,把它搞精,我觉得才是明智之举。路漫漫,以后自己水平上去了,再去研究更复杂的东西,unity或是已经开源了的unreal或是其他。
我的感觉,学cocos就好像“授之以渔”, 学unity就好像“授之以鱼”,对于我现在的技术水平,学unity也只能停留在用它的层面上。现在对cocos2d-x、OpenGL和shader等图形学的东西有了一定的了解,正是时候巩固基础,加深理解的时候,如果匆匆的转到u3d上,做一些看起来炫酷的游戏,而又不知所以然,我想我是不会开心的。虽然我不一定能造的出轮子,但我想了解轮子的构造,我想学会造轮子的能力。
因此总结就是:学cocos是为了学cocos,学unity是为了用unity! 我会继续学习cocos. cocos作为“一专”,要从熟练应用到可以清晰的描述出它的结构和原理,再到可以读懂它所有的关键代码可以做些贡献,最后到可以自己做个mini- unity可以暂时放在“多能”里面来培养,偶尔用它搞一些游戏玩玩,先做到会用.
现在项目不想以前那么忙了,终于有时间总结一下学习的东西。因为基础的重要性,所以在学习cocos3D知识之前,我得先总结一下两年来对cocos2d-x的2D开发的理解,结合一些小代码例子巩固一下cocos2d-x的基础知识。cocos3D的学习会在2D基础过后的文章中记录下来。
作者水平有限,对相关知识的理解和总结难免有错误,还望给予指正,非常感谢!
欢迎访问,与本站同步更新
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:233796次
积分:3361
积分:3361
排名:第8235名
原创:105篇
评论:30条
文章:17篇
阅读:54024
文章:19篇
阅读:81075手机游戏技术选择,是用unity3d还是cocos2dx?-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
手机游戏技术选择,是用unity3d还是cocos2dx?
来源:互联网 发表时间: 21:35:42 责任编辑:王亮字体:
为了帮助网友解决“手机游戏技术选择,是用unity3d还是cocos2dx?”相关的问题,学网通过互联网对“手机游戏技术选择,是用unity3d还是cocos2dx?”相关的解决方案进行了整理,用户详细问题包括:
我们是北京一家刚创建的游戏公司,研发手机游戏,产品是一个2d回合制游戏,技术表现是骨骼法。人物是使用骨骼拼凑而成,一共十个零件,然后设计人物的动
作和技能,最终动作和技能复用到所有人物上。想衡量一下这两种技术对于该项目的利弊,应该如何选择。我...
人员招聘难度与待遇4。人物是使用骨骼拼凑而成,研发手机游戏我们是北京一家刚创建的游戏公司.开发难度2。想衡量一下这两种技术对于该项目的利弊。多谢大牛们的指教,技术表现是骨骼法,然后设计人物的动作和技能,一共十个零件,产品是一个2d回合制游戏,应该如何选择。这五点来分析利弊。我想从1.开发效率3.对于以后发展 ,最终动作和技能复用到所有人物上
,具体解决方案如下:解决方案1:首先目前来看unity3d 因为是3d引擎,目前对2d支持并不完善,unity3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,最近uni2d 刚刚更新,支持骨骼动画,像素级碰撞,是个很赞的2d 插件,如果时间上你不急的话,unity3d 将于秋季发布原生的2d工具,看过视频,效果不错,开发效率的话 因为全部都是可视化编辑,而且一键跨平台,所以相对cocos2d-x 效率稍微高一点,人员招聘的话有点难度,大部分有经验的在目前这个时间点准备换工作的应该不多,有意愿求职的大部分都没有经验,对于以后发展来说,因为跨平台的优势越来越明显,而且官方的更新也是比较快的,功能方面不多增加。最主要是2d出了以后,2d3d都支持,长远来看,比cocos2d-x 前景明朗再看cocos2d-x ,首先开发难度,对于熟练C++的来说难度不大,本身就是2d引擎,相对来说目前方案比较成熟,开发效率如果有经验的话,也是很快的,人员招聘的话,相对unity3d 的好找一点,毕竟C++程序很多,对于以后发展,目前来看,cocos2d-x 基本已到瓶颈,即使有更新,变化不会太大解决方案2:
其实cocos和unity各有各的优缺点。cocos发展比较成熟,蓝鸥cocos比较好。而且cocos开发出来的游戏是比较受欢迎的。蓝鸥cocos的口碑也是比较好的。但是unity的跨平台,支持多平台以及上手简单,极易操作,也深受大家的欢迎,但是发展不成熟,所以这个的看你的公司的一个需要,以及发展的一个方向了。
解决方案3:
做一套出来,效率高,带一帮人边学边做,比较推荐看看”波斯王子“的手机版。至于人才,我想还是跟动作,就是3D仿2D的,现招牛人不太现实(磨合问题)只用Unity,而且用Unity来做效果不太好也麻烦、难度小、技术先进性应该是没问题,Unity新的动画机制支持retarget、技能,Unity跨平台、特效相关的,好像不流行了。觉得“江南”说的“3d画面2d视角”比较靠谱。1、持续更新,最好是公司有一个技术大牛。做手机2D回合制游戏、对于动作复用。纯2D的,复用也是没问题的。2,一套骨骼动作很容易复制到多个角色上去。以后发展
解决方案4:
如果是开发2d还是选择2dx好,unity3d虽然也能开发2d,但毕竟它不是专为2D而准备的
解决方案5:
应该cocos2dx好一点吧我没买过
5个回答1个回答1个回答1个回答3个回答6个回答4个回答8个回答12个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 学网 版权所有
京ICP备号-1 京公网安备02号匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。