本文主要选取了Construct2、ImactJS、LimeJS、GameMaker、CreateJS、lycheeJS、Crafty、three.js、melonJS、Turbulenz、Quintus、Cocos2d-html5等进行了简要介绍和对比,主要是根据网上的资料整理而成。

主流框架对比

Construct2

ImpactJS

ImpactJS是一个基于JavaScript的HTML5游戏引擎,同时支持PC和移动平台浏览器。它是目前除了Construct2之外最受欢迎的HTML5游戏引擎,使用需要支付99美元。

优点:
1. 提供了灵活的关卡编辑器,可以快速构建游戏地图
2. 提供了强大的调试工具
3. 提供了Ejecta可以将JavaScript的执行结果通过OpenGL渲染出来,可以在iOS平台上获得与原生应用相近的效率
4. 文档齐全,有两本专门介绍ImpactJS开发的书
5. 支持物理效果
6. 支持自己编写插件来扩展

App Store游戏
1. Biolab Disaster
2. Drop JS

LimeJS

GameMaker

CreateJS(EaselJS)

lycheeJS

lycheeJS是一个环境独立的JavaScript游戏引擎,可以在任何支持JavaScript的环境中运行。它的理念是做最快的JavaScript游戏引擎。

优点:
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

three.js

melonJS

melonJS是melonJS团队对Javascript热情以及开发经验的结晶,是一个简单、免费、而且独立的类库。

优点
1. 轻量级的2D引擎
2. 支持所有主流的PC和移动平台浏览器
3. 支持使用Tiled map editor来创建和编辑地图
4. 支持多声道音频
5. 基于MIT协议的开源框架

Turbulenz

Quintus

Cocos2d-html5

各框架具体参数对比

1. 各HTML5游戏框架对比HTML5 Game Engines
2. List of JS Game Engines
3. 对于Crafty、Lime、Frozen、Melon、Impact、Quintus框架,可以在Breakouts上查看用这些引擎开发同一个游戏的效果以及代码风格。Breakouts中使用到的特性包括碰撞检测、精灵动画、音效、地图、场景切换、交互、文字渲染、移动平台支持。
4. 以上各引擎中,除了Construct2、ImpactJS、GameMaker是收费的之外,其他引擎都是免费并且开源的。对于开源引擎,我们可以从Github上面的关注度了解到该引擎的流行程度,关注的人越多,遇到问题越容易解决。同时一般来说,项目开发者越多,版本更新越快;项目的进行时间越长则越成熟。下面将对各开源引擎的开发者人数、项目启动时间、关注度进行对比。
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

总结

以上各引擎中,Construct2、ImpactJS、GameMaker三个是收费的,其中Construct2与GameMaker更像一个游戏开发工具,可以实现不用写一行代码来制作游戏,更适合于没有编程基础的人使用。而ImpactJS作为一个高质量的框架,且易于扩展,虽然是收费的,但是物有所值。

开源引擎中,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游戏开发引擎的分析和对比相关推荐

  1. HTML5游戏开发引擎

    CSDN话题挑战赛第2期 参赛话题:学习笔记 HTML5,新的Web标准在2014年10月份发布,旨在让浏览器上运行的页面内容和互动更加丰富.许多之前需要插件完成的事情,标准都以简洁的形式予以支持.各 ...

  2. 七巧板平台html5游戏开发之初识物理引擎

    七巧板平台html5游戏开发之初识物理引擎 七巧板平台是用于Web App.中轻度HTML5游戏及富媒体类应用开发,集开发.运营于一体的平台.它基于HTML5技术开发,具有进入门槛极低.开发极简单.跨 ...

  3. 【Canvas】HTML5游戏开发的基本流程+P2.js物理引擎实战开发

    <HTML5游戏开发的基本流程> * 1. HTML5的简述 * 2. HTML5游戏开发所需的环境与工具 * 2.1. 开发环境 * 2.1.1. 浏览器 * 2.1.2. 开发语言 * ...

  4. CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎

    CutJS 是轻量级的,快速的,基于 Canvas 开发的 HTML5  2D 渲染引擎,可以用于游戏开发.它是开源的,跨平台的,与现代的浏览器和移动设备兼容.CutJS 提供了一个类似 DOM 树的 ...

  5. HTML5游戏开发/微信游戏开发--猜灯谜游戏源代码分析

    最近码友问我:"你的CSDN是不是废了?",我一看,握了个大草,1年半没更新了--工作.家里琐事太多,每天挤遍全身乳沟也不超过3个小时,所以--所以这全TMD都是借口!有好几个码友 ...

  6. HTML5游戏开发技术基础整理

    随着HTML5标准最终敲定,HTML5将有望成为游戏开发领域的的热门平台.HTML5游戏能够运行于包括iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是目前跨平台应用开发的最佳实施 ...

  7. HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!)

    HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!) [印]香卡(Shankar,A.R.) 著 谢光磊 译 ISBN 978-7-121-21226-0 ...

  8. html5游戏开发的五个最佳实践

    HTML5是伟大的,因为它多才多艺的 - 它没有具体针对单一的平台.更重要的是,HTML5是无所不在的. 就我所知的,它在你的PC上,你的手机上,你的平板设备上,甚至在你的厨房电器上. 就凭HTML5 ...

  9. HTML5游戏开发(四):飞机大战之显示场景和元素

    <HTML5游戏开发>系列文章的目的有:一.以最小的成本去入门egret小项目开发,官方的教程一直都是面向中重型:二.egret可以非常轻量:三.egret相比PIXI.js和sprite ...

  10. html5游戏开发-零基础开发RPG游戏-开源讲座(四)

    了解上三篇的内容请点击: html5[color=rgb(68, 68, 68) !important]游戏开发-零基础开发RPG游戏-开源讲座(一) http://www.html5cn.org/a ...

最新文章

  1. 布隆过滤器(Bloom Filter)详解——基于多hash的概率查找思想
  2. Qt编译过程中出现的问题
  3. SQL Server 2012笔记分享-52:可用性指标
  4. 创建型模式—单例模式
  5. 哈希存储 java_Java容器系列之HashMap的存储
  6. 他,先后担任4所大学校长!
  7. 【白皮书分享】抖音企业号-服装行业白皮书.pdf(附下载链接)
  8. 软考中级-软件设计师|下午题攻略
  9. ios 销毁当前页面重新开启_iOS - 切换rootViewController时,销毁之前的控制器
  10. RFC 文档(1001-1500)
  11. Flash停更!「偷菜」的快乐还记得吗?
  12. 08、Flutter FFI 内存管理
  13. vant-swipe自适应图片高度+图片预览
  14. JS基础学习--第一周
  15. KSO - sqlserver事务实现
  16. 什么是对象,如何面向对象,为什么要面向对象
  17. 新媒体运营是什么??新媒体运营通过哪些方式进行?
  18. php separator,PHP常量DIRECTORY_SEPARATOR原理及用法解析
  19. 用计算机画画的优质课,小学信息技术优质课和画图工具教案.doc
  20. 计算机核心论文投稿的一点碎碎念

热门文章

  1. 设计一个xml格式的文件
  2. 解析京东大数据下高效图像特征提取方案
  3. D3.js中文API
  4. python程序文件扩展名主要是什么_python程序文件扩展名知识点详解
  5. 第八章第六题(代数:两个矩阵相乘的方法)(Algebra: a method of multiplying two matrices)
  6. 乐鑫ESP32-S3双核处理器,专为 AIoT 市场打造
  7. 流利阅读 2019.3.9 Young children should be taught in their mother tongue, not in English
  8. 体绘制加速技术之数据异步传输
  9. 元旦贺卡html,元旦新年贺卡怎么做
  10. android平板的隐藏空间如何开启,平板电脑怎么截图和怎么隐藏游戏?