游戏引擎cocos2d-js和egret 对比

时间:2023-02-08 20:06:59

目前项目组的游戏开发都已经完成,准备开下一个项目。因为产品制作人想要兼容html5,备用的引擎有cocos2d-js和egret,下面就简单的来看看这两个引擎。

cocos2dx官方主页:http://cn.cocos2d-x.org/

egret官方主页:http://www.egret-labs.org/


下面是个简单的对比列表:

游戏引擎cocos2d-js和egret 对比


参考资料:

http://www.zhihu.com/question/24614447

https://github.com/finscn/The-Best-JS-Game-Framework/issues/5

http://www.zhihu.com/question/27078280

http://bbs.9ria.com/thread-419728-1-1.html

http://www.cocoachina.com/bbs/read.php?tid=283116


顺便给我们的游戏打个小广告:网易首款直线塔防手游《恶魔不要啊》马上就要公测啦,欢迎试玩,欢迎吐槽,欢迎灌水。


写在最后,以上纯属一家之见,倘若有路过的大神,敬请发表高见。


-------20161012更新-----


对比项目 Egret Cocos2d-JS
功能对比
移动端支持 iOS/Android iOS/Android/+
UI方案
Wing
+ 皮肤/逻辑分离
+ UI动画稍后支持(官方答复3月底)
+ 支持自动布局/自动尺寸控制
* 如果UI动画没有按时推出,复杂UI动画可以考虑嵌入DragonBones动画
CocosStudio
+ 支持UI动画
- 工具易用性不如Wing
动画方案
DragonBones
+ DragonBones作者就在Egret团队
- 目前DragonBones缺少性能优化,没有使用Batch渲染。
* 可以修改DragonBones源码使其支持Batch渲染优化。
DragonBones或者CocosStudio
+ DragonBones有足够优化
- CocosStudio相对不够成熟
网络支持
+ 支持HTTP并且有封装
+ 支持WebSocket并且有封装
+ 简单支持HTTP(HttpClient)
+ 支持socket.io(没有文档)
工具链
资源管理
+ ResDepot 可视化编辑工具
+ 支持资源分组功能
+ 可以使用多个资源描述文件
- 没有资源管理工具
- 需要将项目所有源文件手动添加到工程描述文件中
- 需要手动将所有资源手动添加到资源代码里
* 可以自己写一个python脚本来生成上述文件
UI编辑器 + Wing + CocosStudio
贴图打包工具 + Texture Merger
- 没有自带工具
* 可以使用TexturePacker
粒子编辑器
+ Feather
* Feather目前还比较简单,可以制作重力模型的粒子效果
+ 可以通过代码扩展任意模型的粒子效果
+ CocosStudio
* 可以制作重力模型/环形模型粒子效果
调试工具
+ Chrome前端调试工具
* 支持动态代码调整
* 支持条件断点
* 可以查看所有加载资源
+ EgretInspector可视化的调试插件
+ Cocos IDE 基于Eclipse(模拟器调制)
* 支持断点
+ HTML5版本也可以使用Chrome前端调试工具
代码编辑
+ EgretVS VisualStudio插件
* 支持代码提示等功能
+ Cocos IDE
* 支持引擎部分代码提示
扩展性/其他
引擎扩展性
+ 轻量级引擎,代码不多,易于扩展
* Egret引擎大部分逻辑都在JS层,在移动端只有显示列表渲染部分由Native层替换,因此扩展第三方库时大部分情况只需要修改上层的JS/TS代码。
+ 引擎代码分成JS/C++两部分,代码量大,不易扩展
* Cocos2d-JS引擎原来是由Cocos2d-JSB和Cocos2d-HTML5这两个引擎合并而成的。因此引擎包含两个完整的部分,HTML5版是完整的JS代码;JSB版是C++代码绑定到了JS。
因此如要对引擎做出修改必须同时修改HTML5版和JSB版。
语言
TypeScript
+ TypeScript最终编译成JavaScript
+ TypeScript代码更清晰易懂
+ TypeScript是微软和Google合作的项目
- 调试时,调试的是TypeScript翻译后的JavaScript,保留明显的对应关系
JavaScript
+ 原始网页语言,不做任何调整
- JavaScript本身缺乏面向对象功能,需要使用原型链模拟,代码会相对绕一些。
引擎进化速度 +快(基本每个月都有新东西) +慢,相对稳定(半年内预计变化不大)
稳定性 基本稳定 稳定
上手难度 比较简单 cocos2d这一块基本变化不大,但是边边角角需要熟悉的地方比较多,并且文档不是很完善
SDK集成
+ 集成了微信JS SDK
+ 部分浏览器集成了Runtime可以大幅提高渲染性能
没有
性能对比 差距不大,来源:https://github.com/smallnewer/bugs/issues/36
发展趋势 Egret项目组成员包含许多业内大牛。项目推进速度快,迭代比迅速,架构简洁 Cocos2d发展比较成熟,结构趋于稳定。但是Cocos2d-js只是其中的一个小分支,没有受到足够重视。一些工具不完善,短期内不太可能得到较大的改变。
其他 - 目前不支持3D
+ 支持简单3D
- 官方Demo和自己架的Demo在网页上经常会卡loading