冷眼旁观Cocos3D发布

  近日网上瞎逛,无意看到了Cocos3D(-x?)发布的消息,不禁为之一震,对此也生出些思考,在此略略记下,权当做些絮叨吧 ~ :)

  自己使用过一段时间的Cocos2d-x,总体而言,我还是非常喜欢这个由国人发起的开源项目的,虽然不能说其“完全原创”,但肯定可以说他“土生土长”,而且在所有国人发起的开源项目中,Cocos2d-x应该算是目前最“火”的一个了~

  使用Cocos2d-x本身是非常简单的,程序员一般只要首先了解一些基本概念:譬如director、layer、node等等,然后打开示例中的HelloCpp工程稍稍看看,基本上便可以开始写Cocos2d-x程序了,接着再瞧瞧示例中的TestCpp,辅以网上泛滥的教程资料,稍加时日,定然可以对Cocos2d-x得心应手~

  可以说,Cocos2d-x还是相对简易的,一方面自然是因为Cocos2d-x本身的架构设计出众、游戏功能完善,但更重要的原因,我觉得可能还是在于Cocos2d-x面向的是相对简易的2D游戏开发~

  2D游戏的发展历史肯定比我年长,其中涉及的许多技术,相对目前“甚嚣尘上”的3D游戏,可以说是比较简单的,拿渲染来讲,无非就是操作一些屏幕像素,与3D中复杂的渲染流水线自不可同日而语,当然,这种说法目前来看也并不十分准确,因为像Cocos2d-x这种新近的游戏引擎,虽然属于2D Engine,但大抵采用的也都是3D渲染的实现方式,远不是什么操作屏幕像素了,但是这些实现细节对于一般的引擎使用者而言其实是不必关心的,因为我们开发者平日所使用的功能基本都是围绕2D的:看看Cocos2d-x中的CCNode,大部分基本属性都只有两维,虽然其通过getCamera等方法可以支持一定的3D功能,但是相对而言限制很大,另外值得一提的还有Cocos2d-x内建的那些个3D Action,TestCpp中的测试效果似乎都很不错,但是一旦你想将他们与你现有的场景结合,那么头疼的问题就接踵而至了……

  以上的这些问题其实都可以归结为一个原因:Cocos2d-x目前还仅仅是一款2D游戏引擎……虽然他是基于3D技术开发的,但无论从架构上还是功能上而言,Cocos2d-x设计之初都是面向2D开发的,这一点从他的名字中就一目了然了,虽然Cocos2d-x经历了不少版本更新,期间从基于OpenGL ES 1.0 到目前基于 OpenGL ES 2.0;从仅支持基本的逐帧动画到现在支持2D骨骼动画;从以前代码中浓重的Object-C风格到现在开始运用C++11,Cocos2d-x都在一步一步的变得更让人亲近,但是自始至终的,Cocos2d-x都坚持自己是一款2D引擎的初衷,基本的引擎架构从未有大的改动,增加的不少特性极少是为了扩展3D功能的,可以说,我认为Cocos2d-x定位很明确,走的也很踏实~

  但是另外的,Cocos2d-x对于开发流程的支持的则可以用糟糕来形容,虽然在网上你可以找到不少Cocos2d-x支持的开发工具,譬如TexturePacker、TiledMapEditor等等,当总的来看总有一种东拼西凑的感觉,各个工具的结合程度也都很差,CocosBuilder已经不错了,但是仍然难于应付稍微复杂一些的需求,触控也意识到了这个问题,不久前发布了CocosStudio,也在保持持续更新,但就目前我的使用情况而言,CocosStudio支持的功能还是稍显单薄,与Cocos2d-x的结合也仍然不是很方便……总的来说,Cocos2d-x目前还仅仅是一个游戏引擎,但是对于开发流程的支持还极为有限,但是Cocos2d-x无疑一直在朝这个方向努力,如果一直秉承他一贯的明确踏实作风,结果是很值得期待的,当然,这期间还有很长的一段路要走,而我也认为这段路是Cocos2d-x以后发展的重点所在。

  所以当我看到上面Cocos3D发布消息的时候,自然吃了一惊,觉得自始至终都方向明确的Cocos2d-x怎么突然之间一脚跨入了自己陌生的3D领域,暂且不论目前Cocos2d-x还有不少遗留的工作亟待解决(譬如开发流程完善……),单就从开发技术角度,要让现有的Cocos2d-x框架完美支持3D,可能只有让Cocos2d-x“伤筋动骨”一途了,即从框架层面上修改现有的Cocos2d-x,工作量来说我觉得几乎就是重起炉灶打造一个Cocos3d-x了,而3D引擎又远比2D引擎来的复杂,所以如果Cocos3d-x真的可以成型,那么代码量可能会比Cocos2d-x多上几倍!再者制作3D游戏不比2D,成熟的开发工具几乎是必不可少的,试想如果为了显示一个Teapot我就要写上百来行代码,那么制作一个一般的游戏场景恐怕真的就要让人崩溃了~~~

  基于上述疑问,我好奇的在Cocos2d-x官网上简单搜寻了一下Cocos3D的相关信息,奇怪的是竟然一无所获,连个News报道都看不到,让人着实困惑,当然,困惑之余,自己更多的还是担忧,担忧Cocos2D-x会因此而逐渐变了味道,变得难以亲近,不过不管怎么说,在此还是祝一声Cocos2d-x好运吧~

  上面新闻中也提到了Unity,自己目前也在使用,在此也就着Cocos2d-x随便说说:Unity是商业工具,与Cocos2d-x的开源天性正好截然相反,不付钱你是用不了他的Pro版本的(天朝不算),这点可能在一定程度上限制了他的使用人数,但更重要的,我认为还是因为Unity本身是面向3D开发的关系,导致许多开发者选择其他引擎来制作自己的游戏。众所周知,3D游戏开发困难重重,即便你有完整的工具链支持,恐怕也难以避免开发周期漫长、游戏效率低下等等问题,如果你只想开发一款简单的2D游戏,那么选择Unity可能就是杀鸡用牛刀了,转为选择另一款轻量的2D引擎可能更好,如果这款引擎不仅可以跨平台,而且还是MIT license开源的,那么就再好不过了!而这也是我认为Cocos2d-x可以流行起来的主要原因所在,但是随着游戏制作要求的进一步提高,完整的开发流程支持就变的必不可少了,而这也是Unity最擅长的地方,平心而论,在我目前所有接触过的游戏引擎中,Unity的Editor是最友好的,没有之一,我本人也并不认为Unity仅是一个引擎,而应该说他是一套完整的游戏开发解决方案,引擎只能算作这套方案中的一个组成部分而已,而Cocos2d-x目前最大的问题,我认为倒并不在于他是否支持3D,而在于他目前还仅仅只有引擎这么一个组成部分~

  近期Unity也发布了2D制作工具,貌似是试图“侵占”Cocos2d-x的领域,其实Unity的2D开发插件早已有之,如果你想用他来制作2D游戏本来就没有什么问题,真正的问题还是在于Unity的3D天性会让2D开发带来很多不必要的复杂性,如果游戏需求简单的话,自然选择其他更简单的方案更好,而这也是Unity的最大问题所在,即便其内建了2D制作工具,也并不会适用于开发所有2D游戏~ 反观Cocos2d-x,即便Cocos3D真的如期发布了,但是工具链支持仍然如现在的这般有限,那么Cocos3D可能也仅能算是一个有趣的玩具而已……

  如果现在一定要从Unity和Cocos2d-x中选择其一来开发游戏,长远来看,我会义无反顾的选择Unity,同时,我也希望不久的将来Cocos2d-x的发展可以逐渐改变我的想法,但愿吧~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吉浦迅科技

NVIDIA NVLink 崭新连接方式 较 PCIe 界面更具效率

本周美国能源署宣布计划打造两部搭载 NVIDIA GPU 加速器的超级计算机,每秒运算速度将可达 100 petaflops , NVIDIA 并正为超级计算...

41280
来自专栏罗超频道

Chrome语音搜索评测:效果华丽!可惜大墙相隔

罗超为虎嗅网、爱科技网撰稿,2013年5月23日发表于首页 Chrome浏览器昨日进行了升级,推出了全新的语音搜索功能,允许用户通过语音进行搜索。本次升级面向P...

72270
来自专栏智能计算时代

数据湖101:概述

数据湖是非结构化和结构化数据池,按原样存储,没有特定的目的,可以建立在多种技术上,如Hadoop,NoSQL,Amazon Simple Storage Ser...

53730
来自专栏睿哥杂货铺

DevOps 漫谈:从作坊到工厂的寓言故事

谈到 DevOps 概念,有几本书是绕不过去的,《凤凰项目:一个IT运维的传奇故事》(The Phoenix Project:a Novel About IT,...

44480
来自专栏AI科技评论

业界 | 三星正式公布语音助手Bixby,表示与苹果Siri有“根本性的不同”

苹果有Siri,微软有Cortana,亚马逊有Alexa,谷歌有Google Assistant。如今,三星也正式加入了智能语音助手这一战场。据外媒报道,在经过...

385100
来自专栏机器人网

人工智能大战硝烟弥漫,三星也正式杀进来了

据科技博客VentureBeat北京时间3月21日报道,在人工智能(AI)助手方面,苹果为用户提供了Siri,微软提供了“小娜”(Cortana),谷歌提供了谷...

33060
来自专栏量子位

详解谷歌第二代TPU:功耗性能究竟如何?巨头想用它干什么?

安妮 陈桦 编译自 The Next Platform 量子位 报道 | 公众号 QbitAI 在上周召开的Google I/O 大会上,谷歌正式公布了第二代T...

36740
来自专栏机器之心

深度揭秘谷歌TPU2机器学习集群:新一代的「谷歌云TensorFlow处理单元」

选自The Next Platform 作者:Paul Teich 机器之心编译 参与:Nurhachu Null、黄小天 在最近的 2017 Google ...

48590
来自专栏非著名程序员

作为程序员的你,竟然不知道谷歌三件套

19520
来自专栏肖洒的博客

西电睿思年度非官方关键字榜单

首先要说的是真的特别喜欢睿思,也特别喜欢它的宗旨!“永远不去谋求任何商业利益,只为西电人有一个高速下载的地方,有一个开心聊天交朋友的地方而努力”。睿思背后的技术...

11110

扫码关注云+社区

领取腾讯云代金券