1 月 19 日,一篇由 Cocos 创始人王哲撰写的 Cocos 新品发布文章在朋友圈被业内人士疯狂转发,短短几个小时阅读量突破五位数。Cocos 被赞“注定开启 Cocos 开发界的新篇章”。Cocos 到底有啥魅力?我们来仔细读读这篇文章。
Cocos下载地址:
以下为全文:
上周,我在厦门的“Ouch,2016”招待会上宣布,今年将发布一款新编辑器。是的,我今天就在这里:
经过一年多的低调研发,Cocos 终于在今天发布了首个官方公测版本,大家可以从这里下载。
那么和 Cocos 家族之前的编辑器产品相比到底有哪些不同呢?我们先来看一段整个引擎开发团队出场的视频:
产品定位
如果今天让我重新设计一款游戏引擎,仅考虑用户体验和开发效率,我希望这个引擎能够:
· 脚本化,希望既有GC自动回收,也有手动回收,这样易用性和性能都能得到保证,不想再看到恶心的/了。C++是一门好语言,但是考虑到开发效率,我还是更喜欢纯脚本化;
· 组件化,而不是面向对象继承。各位读者,请举手,有没有直接往 Node 甚至 Node 里添加过功能?你不敢举手,是吧?你肯定怕被你的 CTO 打死吧?没错。以后请严格使用组件化来扩展引擎。一旦习惯了,你会感觉浑身每个毛孔都清爽起来,因为你已经和恶心的 hack 代码说再见了;
· 高效的工作流程:策划与美术师可以通过引擎编辑器独立进行制作和调试,减轻了程序员在资源管理和更新方面的负担,让他们可以专注于功能开发,而不是“无休止”地调整数值和UI。
高扩展性。引擎框架和编辑器都需要具有灵活性和可扩展性,我们希望通过统一的编辑环境来集成各种自定义工作流和扩展工具。其实组件化和数据驱动都是为了高扩展性。
· 纯粹、专注,希望用一种编程语言就能完成所有工作。我说的“所有工作”包括游戏逻辑编码、引擎扩展、编辑器扩展。我讨厌现在的现状:需要用 C++ 来扩展引擎框架,用 Lua 来写游戏逻辑,用 C# 来扩展编辑器。很多从 PC 游戏时代走出来的公司都是这么做的,但成本太高了。我们需要能够用一种编程语言完成所有工作!
· 广义上讲,多平台不仅仅意味着原生的多平台,我希望开发完成后能够一键发布到 iOS、iOS、HTML5、Cocos Play 等平台,也就是兼容 HTML5、HTML5 三种技术形态,哪里有用户哪里就能发布游戏,最大化获取流量。
Cocos 就是这样一款满足了我所有期望和抱负的产品。在 Cocos 中,我们结合了数据驱动和组件化的游戏开发方式,并在此基础上无缝集成了 Cocos 引擎成熟的 API 体系。一方面可以适应 Cocos 系列引擎开发者的使用习惯,另一方面可以为艺术家和策划提供前所未有的内容创作、制作和即时预览测试环境。
如果我用一句话来形容的话:
Cocos是一款以内容创作为核心的游戏开发工具,基于-x实现了完全脚本化、组件化、数据驱动等特性。
好吧,在接下来的几个月里,你会无数次地听到上面这句话,听得耳朵都起茧子了,因为这就是我和引擎团队对 Cocos 产品的定位的描述。
这是一张漂亮的照片:
因此,如果你正在思考这些问题:
· 希望开发一款基于-x的游戏,成本更低,效率更高,特别是有使用-js的经验;
· 希望一次开发游戏,同时发布到iOS以及新兴的HTML5手游平台;
· 我们希望将编程、策划、美术的工作解耦,让策划和美术能够独立制作、独立调试;
· 希望能够方便地定制和扩展引擎框架和编辑器;
那么Cocos是一个非常适合的选择。
核心理念
高效的工作流程
引擎与编辑器的结合带来了数据驱动、组件化的功能开发方式,以及设计人员与程序员之间的完美分工与配合:
设计师在场景编辑器中构建场景的图形表示
程序员开发可安装在场景中任意物体上的功能组件
设计师负责为需要表现出特定行为的对象安装组件,并通过调试来改进各种参数
· 程序员开发游戏所需的数据结构和资源
设计人员通过图形界面配置各种数据和资源
就这样,从简单到复杂,各种你能想象到的工作流程都可以实现。
以工作流为中心的开发理念,让策划、美术、程序员能够快速在工具中找到最大化自身战斗力的切入点,并和团队其他成员默契、顺畅的配合。
于是,我就可以调UI和数值,策划美术,也可以准时下班泡妞了。(各位程序员朋友们,请在这里鼓掌)
数据驱动
最实用的功能就是脚本可以很方便地在编辑器中声明可以随时调整的数据属性,参数的调整可以由设计者独立完成。也就是说,你的代码按照指定的格式声明变量,然后这个变量就可以在 Cocos 编辑器中暴露出来,让策划人员可以直接在编辑器中调整数值,并直接看到运行效果。
一体化,包括代码编辑器
Cocos 囊括了游戏开发所需的全套功能,包括游戏引擎、资源管理、场景编辑、游戏预览和发布等,并将所有功能和工具链整合到一个统一的应用程序中。它以数据驱动、组件化的游戏开发为核心,在此基础上无缝集成了 Cocos 引擎成熟的 API 体系。一方面可以适应 Cocos 系列引擎开发者的使用习惯,另一方面为艺术家和策划人员提供了前所未有的内容创作制作和即时预览测试环境。编辑器在提供强大完备的工具链的同时,还提供了开放的插件架构,开发者可以使用 HTML+ 等常用前端技术轻松扩展编辑器功能、定制个性化工作流。
对于无数用户反复询问 Cocos IDE 去哪儿了,我第一时间坦白说,不好意思,不用等了,Code IDE 项目已经结束,不会再有更新了。因为无论是解决方案还是 IDEA 解决方案都无法完全整合。但作为未竟的心愿,我和引擎团队在 Cocos 中弥补了这一点:Cocos 自带代码编辑器,不仅具备大家急需的功能提示、自动完成功能,还能和 Cocos 场景编辑器无缝衔接 —— 这是 Code IDE 做不到的。最后,依托浏览器强大的调试功能,启动调试后我们就可以非常方便、流畅地调试脚本代码了!
想要调试脚本?在 Cocos 中一键即可立即开始调试:
好消息是微软的 VS Code 开源项目采用了和 Cocos 相同的底层框架,所以我们正在评估如何复用 VS Code 这个大轮子来快速提升编码体验!
大大改进的用户界面系统
你可能在上面的视频中看到了新的 UI 系统如何动态适应不同的分辨率。是的,我们改进了整个 UI 系统,你可能已经认不出来了,但关键点是:我们解决了多年来积累的很多问题和需求。里面的 UI 系统支持智能画布适配和程序化元素对齐 UI,这样就可以完美适配任何分辨率的设备屏幕。这对于 HTML5 游戏来说尤其重要,但原生游戏也可以从中受益匪浅。
在 Cocos 中,UI 编辑和动画编辑整合成了这样的界面:
广义上讲,多平台发布
目前,Cocos 支持将游戏发布到传统的 iOS、iOS 平台,以及新兴的 HTML5 移动网页游戏平台,尤其是支持 Cocos Play 的加速器。所以这里的多平台比之前的 -x 多平台更加通用:跨和 HTML5。当然,我们再也不需要处理各个平台的项目文件和晦涩难懂的东西了。在纯脚本的世界里,一切都变得简单。配置开发环境的要求已经完全被去除,运行之后,就可以立即开始游戏内容创作或者功能开发。是不是很简单?这也是我立志做“透彻脚本”的明显好处之一。
完整的支持文档和社区支持
文档,首先当然是文档。您可以从中获得产品的用户手册,更简单的方法是直接从菜单中单击“文档”以打开离线版本的用户手册,离线版本,离线版本!
样例游戏方面,我们在这个版本发布了 4 款样例游戏,其中一款是与腾讯游戏合作开发的 21 点扑克游戏,所有美术资源均由腾讯游戏授权,引擎团队的技术宅男无论如何也画不出这么高质量的游戏美术,再次感谢腾讯游戏对 Cocos 的帮助和支持!
除了文档和示例游戏之外,我们还录制了 Cocos 教程视频,您可以在离线文档中轻松找到。我们会持续更新更多教程视频,并放在文档中。
解答-x老用户的疑虑
和 Cocos 定位上有什么区别?
我是一个很真诚的人,既然说到“产品定位”,那我肯定不会只说 Cocos 的优点,这里我也想说一下以下几种不适合的情况:
· C++、Lua 的铁杆粉丝,想学一门语言一辈子的程序员——不适合。为了 Cocos 的纯粹性,我选择它作为引擎、编辑器、游戏逻辑的核心语言。虽然从技术角度来说,支持 Lua、C++ 游戏也是可以的,但今天我还是希望保持这个产品的“纯粹和专注”。所以不管你们怎么批评我,我今天是不会在编程语言上妥协的。你他妈别跟我争论,你们不知道“PHP 是世界上最好的语言”吗?呵呵。至于为什么在 Cocos 中选择它,下面我会详细解释原因,请耐心看下去;
· 对包大小“极其”敏感的人群。以 v3.x 引擎的 .so 文件为例,Lua 空包大小为 3.6M,空包大小为 5.2M,所以比 Lua 大了 1.6M,主要是 VM 大小较大。我们正在进行各种包压缩,未来会进一步缩小空包大小,但 Lua 始终有 1M 左右的优势;
· 希望使用 Cocos 3D 的编辑器功能,目前开发进度无法支持 3D 编辑需求,支持 3D 和 VR 的时间点尚未确定,预计不会很快实现,有此需求请选择。
因此有以上需求的用户可以继续使用 Cocos 编辑器。 和 是两条平行的产品线,我计划长期并行维护它们。
为什么不在 Cocos 上实现这些功能?
多种编程语言的门槛,让 Cocos 扩展起来比较困难。虽然我们推出了自定义控件的扩展功能,但实际上,由于引擎修改用的是 C++,游戏逻辑编码用的是 C++/Lua/三者之一,编辑器扩展用的是 C# 或者 Lua,一般团队需要掌握三种编程语言才能完成扩展插件。因此在实际使用中,很少有团队能轻松做出扩展插件。
在 Cocos 中,你只需要一门语言就能覆盖游戏逻辑编写、引擎框架扩展、编辑器扩展这三个最耗力的领域。如果你使用 node.js 作为服务端框架,那么你完全可以掌握它。如果能从 npm 中获取一些方便的东西,你的生活就会好得多。
为什么要放弃 C++ 而全心投入脚本
框架层面:我们尝试在 C++ 上实现组件化架构,但引擎组高手写的 C++ 代码看上去很像 STL 库的风格。我觉得 Coocs 引擎组至少有 1/3 的成员看不懂这些 C++ 代码,更别说使用者了。如果坚持走 C++ 路线,引擎框架代码最终会变得难以理解和调试。如果一定要为现代游戏引擎开发组件化架构,那么就只能选择脚本了。另外,脚本的附带好处是不需要处理项目文件和每个平台。
在编辑器层面,如果只能用 C++,那么开发编辑器就只能用 Qt。但是 C++ 在编辑器上的缺点是必须先编译才能使用。这会导致两个结果:
(1)编辑器插件贡献者提供全部源代码,让策划、美工人员自行编译使用;
(2)编辑器插件贡献者提供了32bit、64bit、mac 64bit、linux 32bit、linux 64bit、ios 64bit、32bit、64bit供策划师、美工人员选择下载;
以上两种情况不是策划和美工能承受的,改用脚本很简单:上传脚本(可以开源,混淆加密)->下载脚本->解释运行,编译过程直接跳过。
不过脚本化不代表整个引擎都是用脚本写的,Cocos 框架的核心还是我们熟悉的 Cocos 2d-x C++ 引擎,引擎的主循环和大部分计算工作都是在 C++ 层面完成的,只是使用了 Cocos API,所以不用担心性能问题。
为什么脚本里不选择Lua?
哈哈,这个问题问得好,好,好!我知道我马上就要被国内无数 Lua 程序员的口水淹没了。首先我要声明,Cocos 的架构完全可以支持所有工作用 Lua 重新实现,只是翻译和资源投入的问题。
但我并不打算这么做。
我宁愿先“纯粹而专注地”做这件事,而不承诺支持 Lua 和 C++ 的时间点。未来也许有 1% 的机会我会改变主意,但今天我下定了决心。主要有几个原因:
1.无数大公司,包括Java、、Apple、Intel等都在大力投入研发,但是Lua没有这个生态。在Java领域有node.js、npm,但是Lua没有这些;有Intel的nw.js(node-),有React,有Apple支持的HTML5和WebGL,有asm.js,在桌面跨平台领域有Atom,有Adobe的,但是我们没有看到以上任何一个大公司在Lua上投入大量的资源,这是事实。请大家深思一下巨头们为什么会做出这样的选择,或者你以为自己比这些大公司的决策者更聪明。
2、可以让游戏跨平台、纯HTML5、三种模式,也就是我上面说的“广泛跨平台”,而Lua只能放前两种。如今腾讯QQ浏览器、QQ空间、QQ游戏大厅都开放了手机页游接入。腾讯工作室的《欢乐斗地主》已经发布了基于Cocos Play加速器的手机页游版本。如果有一天微信或者手机QQ开放了HTML5游戏领域,到时候再转用Lua就来不及了,各位老板只能面壁而泣了。
3. Cocos 选择了公司自主研发的开源项目作为底层基础,是官方的代码编辑器 Atom,也是微软开源项目 VS Code 使用的底层基础。其实我们很庆幸和国际巨头做出了同样的架构选择。前面也说了,当然我们不排除未来和 VS Code 合作的可能性,快速提升开发体验。
引用我一个朋友对 Cocos 的评价:“有了这玩意,我干嘛还要管 Lua?游戏公司就是想降低开发成本,不管什么语言。”其实,这个人就是 Lua 的铁杆粉丝,还出过一本 Lua 教程书。
现有的-html5,-js项目可以平滑升级到Cocos吗?
抱歉,不是。毕竟继承和组件是两种完全不同的设计思想,差别就像蒸汽机和电力时代一样巨大。Cocos 中的框架 API 大约 80% 与 -js API 一致,但有 20% 发生了变化。如果你熟悉 -js API,那么你只需要几天时间就可以重新学习和适应,然后你就会发现开发速度越来越快了。因此,不可能“无缝”迁移,需要做一些迁移工作。
Cocos 是开源的吗?
鉴于游戏引擎领域已经有很多竞争对手,我无法将整个团队一年多努力的成果 Cocos 开源。但我始终没有忘记 -x 开源社区的初心,所以在 Cocos 中,得益于高扩展性的架构设计,对于不涉及核心技术门槛的编辑器组件,我们全部开源,奉献给业界。完全开源的部分包括:
代码编辑器
Spine 导入插件
插件
引擎框架是-x结构的定制版本。
以上部分均 100% 开源,而且这个名单还会不断增长。今天我们发布了 Cocos v0.7,计划在春节后的 2 月份发布 v1.0。在 v1.0 之后,所有开发的新插件都将按照 Cocos 标准插件扩展开发方式开发并开源。大家可以参考这些开源编辑器扩展的标准和示例,开发自己的扩展插件。
精英团队的强力支持
正如 Cocos 设计师、项目负责人王楠在视频中所说,Cocos 团队其实是由两批精英游戏和工具开发人员组合而成,一方面保持了自己多年跨平台原生开发的研发经验,另一方面又加入了熟悉游戏开发各个流程和图形界面工具开发技术的新鲜血液,堪称是目前国内游戏工具研发领域的全明星团队。哦对了,我最喜欢这种 B 风十足的全明星团队,我一直以来的梦想就是汇聚国内的技术精英,打造一款对世界有影响的软件产品。-x 已经实现了第一步,今天希望和 Cocos 一起更近一步。
同时,我们也很荣幸地得到了腾讯游戏的认可和支持:
在 Cocos 发布之际,我们和腾讯游戏为开发者准备了一个小惊喜:《二十一点游戏》所有源代码和资源 100% 开源,供大家学习。《二十一点游戏》是 Cocos 的示例项目之一,由腾讯游戏和 Cocos 引擎团队联合开发,开发者可以通过它快速学习如何使用 Cocos 开发游戏界面和玩法。
二十一点游戏的示例包括:
完整菜单、排行榜和游戏循环
大量需要通过数据动态读取和修改的图片、字体资源
高品质帧动画效果
多分辨率自适应UI布局
外部导入状态机代码库
· 使用曲线动画与脚本混合呈现动态细节
《21点游戏》样本体验地址:
下载“21点游戏”示例源代码:
特别感谢腾讯游戏的授权与支持!
这款工具能够真正改善 Cocos 游戏开发的工作流程,全面提升游戏开发效率,进一步降低游戏开发的门槛。移动游戏市场仍在快速增长,竞争、挑战、需求也越来越多样化。Cocos 团队正以更高的效率为目标,为日益壮大的开发者大军提供更直接、更有力的帮助与支持,让更多开发者能够从容应对瞬息万变的市场。
Cocos下载地址:
扫一扫在手机端查看
-
Tags : cocoscreator 右上角的地址哪里生产
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。