主流HTML5游戏开发引擎的分析和对比
本文主要选取了Construct2、ImactJS、LimeJS、GameMaker、CreateJS、lycheeJS、Crafty、three.js、melonJS、Turbulenz、Quintus、Cocos2d-html5等进行了简要介绍和对比,主要是根据网上的资料整理而成。
主流框架对比
Construct2
2. 强大的事件系统,可以不通过写代码来控制游戏逻辑
3. 提供了可编程扩展的接口
4. 提供了大量特效,支持物理效果
5. 支持所有平台
6. 完整的文档以及社区支持
ImpactJS
优点:
1. 提供了灵活的关卡编辑器,可以快速构建游戏地图
2. 提供了强大的调试工具
3. 提供了Ejecta可以将JavaScript的执行结果通过OpenGL渲染出来,可以在iOS平台上获得与原生应用相近的效率
4. 文档齐全,有两本专门介绍ImpactJS开发的书
5. 支持物理效果
6. 支持自己编写插件来扩展
App Store游戏
1. Biolab Disaster
2. Drop JS
LimeJS
1. 基于Apache协议的开源框架
2. 功能强大,文档齐全,与ImactJS类似
3. 支持物理效果
4. 与Cocos2d的API类似,容易上手
缺点:
依赖于Google Closure
GameMaker
CreateJS(EaselJS)
优点:
1. Flash开发者很容易上手
2. 提供了Flash转html5的工具,可以将部分Flash代码进行转换再修改
3. 基于MIT协议的开源框架
4. 类库设计非常独立,包含不同的模块,可选择性使用
lycheeJS
优点:
1. 同时支持PC(Firefox、Chrome、Opera、Safari、IE)和移动平台(WebKit、Chrome、Firefox、Safari)的浏览器
2. 提供了CDN、WebSockets、SPDY、HTTP2.0以及游戏截图的支持
3. 提供了可以直接导出第三方(Facebook、AppStore、Google Play Store)资源包来发布
4. 基于MIT协议的开源框架
Crafty
优点
1. 体积小
2. 轻量级引擎,不会受到框架的太多束缚
3. 同时支持PC和移动平台浏览器
three.js
优点和缺点:
支持3D,但是不适合做2D游戏
melonJS
优点
1. 轻量级的2D引擎
2. 支持所有主流的PC和移动平台浏览器
3. 支持使用Tiled map editor来创建和编辑地图
4. 支持多声道音频
5. 基于MIT协议的开源框架
Turbulenz
优点:
1. 功能强大,同时支持2D和3D
2. 基于MIT协议的开源引擎
Quintus
缺点
1. 依赖于jQuery
2. 目前引擎仍处于初级阶段,还很不成熟
Cocos2d-html5
各框架具体参数对比
Game Engine | Github commits | Github contributors | Start time | Github Star | Github Fork |
LimeJS | 532 | 22 | 2011.1.19 | 1091 | 187 |
EaselJS | 784 | 15 | 2011.1.23 | 2758 | 650 |
lycheeJS | 4 | 1 | 2012.9.5 | 110 | 20 |
Crafty | 1182 | 67 | 2010.11.5 | 993 | 225 |
three.js | 6409 | 198 | 2010.3.23 | 12691 | 2816 |
melonJS | 1287 | 15 | 2011.4.11 | 643 | 137 |
Turbulenz | 736 | 12 | 2013.4.26(最近才开源) | 1522 | 207 |
Quintus | 118 | 11 | 2012.8.4 | 450 | 89 |
Cocos2d-html5 | 2706 | 39 | 2012.1.28 | 735 | 303 |
总结
开源引擎中,three.js是最火的,但是仅限于开发3D游戏。其次是CreateJS,由Adobe官方赞助且采用Flash类似的API以及模块化开发,是Flash开发者以及将Flash游戏转换成html5不可多得的选择。Turbulenz虽然开源时间比较晚,但颇有后来者居上的趋势,由于其对2D和3D的同时支持,是同时开发2D和3D游戏的最佳选择。LimeJS与Crafty相比的优势在于有一个公司进行维护,相比个人要更稳定,但是需要依赖于Google Closure,也使之成为一个重量级的框架。Crafty体积小、轻量级,更适合于小游戏的开发。Cocos2d-html5作为国产框架的一个优势在于中文文档和教程多,且得到了Google的支持,但相比ImpactJS、CreateJS仍不够成熟。melonJS、Quintus、lycheeJS的开发者和使用者都较少,相关文档和教程也相对少,还有待观察。
参考资料
主流HTML5游戏开发引擎的分析和对比相关推荐
- HTML5游戏开发引擎
CSDN话题挑战赛第2期 参赛话题:学习笔记 HTML5,新的Web标准在2014年10月份发布,旨在让浏览器上运行的页面内容和互动更加丰富.许多之前需要插件完成的事情,标准都以简洁的形式予以支持.各 ...
- 七巧板平台html5游戏开发之初识物理引擎
七巧板平台html5游戏开发之初识物理引擎 七巧板平台是用于Web App.中轻度HTML5游戏及富媒体类应用开发,集开发.运营于一体的平台.它基于HTML5技术开发,具有进入门槛极低.开发极简单.跨 ...
- 【Canvas】HTML5游戏开发的基本流程+P2.js物理引擎实战开发
<HTML5游戏开发的基本流程> * 1. HTML5的简述 * 2. HTML5游戏开发所需的环境与工具 * 2.1. 开发环境 * 2.1.1. 浏览器 * 2.1.2. 开发语言 * ...
- CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎
CutJS 是轻量级的,快速的,基于 Canvas 开发的 HTML5 2D 渲染引擎,可以用于游戏开发.它是开源的,跨平台的,与现代的浏览器和移动设备兼容.CutJS 提供了一个类似 DOM 树的 ...
- HTML5游戏开发/微信游戏开发--猜灯谜游戏源代码分析
最近码友问我:"你的CSDN是不是废了?",我一看,握了个大草,1年半没更新了--工作.家里琐事太多,每天挤遍全身乳沟也不超过3个小时,所以--所以这全TMD都是借口!有好几个码友 ...
- HTML5游戏开发技术基础整理
随着HTML5标准最终敲定,HTML5将有望成为游戏开发领域的的热门平台.HTML5游戏能够运行于包括iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是目前跨平台应用开发的最佳实施 ...
- HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!)
HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!) [印]香卡(Shankar,A.R.) 著 谢光磊 译 ISBN 978-7-121-21226-0 ...
- html5游戏开发的五个最佳实践
HTML5是伟大的,因为它多才多艺的 - 它没有具体针对单一的平台.更重要的是,HTML5是无所不在的. 就我所知的,它在你的PC上,你的手机上,你的平板设备上,甚至在你的厨房电器上. 就凭HTML5 ...
- HTML5游戏开发(四):飞机大战之显示场景和元素
<HTML5游戏开发>系列文章的目的有:一.以最小的成本去入门egret小项目开发,官方的教程一直都是面向中重型:二.egret可以非常轻量:三.egret相比PIXI.js和sprite ...
- html5游戏开发-零基础开发RPG游戏-开源讲座(四)
了解上三篇的内容请点击: html5[color=rgb(68, 68, 68) !important]游戏开发-零基础开发RPG游戏-开源讲座(一) http://www.html5cn.org/a ...
最新文章
- 布隆过滤器(Bloom Filter)详解——基于多hash的概率查找思想
- Qt编译过程中出现的问题
- SQL Server 2012笔记分享-52:可用性指标
- 创建型模式—单例模式
- 哈希存储 java_Java容器系列之HashMap的存储
- 他,先后担任4所大学校长!
- 【白皮书分享】抖音企业号-服装行业白皮书.pdf(附下载链接)
- 软考中级-软件设计师|下午题攻略
- ios 销毁当前页面重新开启_iOS - 切换rootViewController时,销毁之前的控制器
- RFC 文档(1001-1500)
- Flash停更!「偷菜」的快乐还记得吗?
- 08、Flutter FFI 内存管理
- vant-swipe自适应图片高度+图片预览
- JS基础学习--第一周
- KSO - sqlserver事务实现
- 什么是对象,如何面向对象,为什么要面向对象
- 新媒体运营是什么??新媒体运营通过哪些方式进行?
- php separator,PHP常量DIRECTORY_SEPARATOR原理及用法解析
- 用计算机画画的优质课,小学信息技术优质课和画图工具教案.doc
- 计算机核心论文投稿的一点碎碎念
热门文章
- 设计一个xml格式的文件
- 解析京东大数据下高效图像特征提取方案
- D3.js中文API
- python程序文件扩展名主要是什么_python程序文件扩展名知识点详解
- 第八章第六题(代数:两个矩阵相乘的方法)(Algebra: a method of multiplying two matrices)
- 乐鑫ESP32-S3双核处理器,专为 AIoT 市场打造
- 流利阅读 2019.3.9 Young children should be taught in their mother tongue, not in English
- 体绘制加速技术之数据异步传输
- 元旦贺卡html,元旦新年贺卡怎么做
- android平板的隐藏空间如何开启,平板电脑怎么截图和怎么隐藏游戏?