日期:2014-05-16  浏览次数:20773 次

主流HTML5游戏框架的分析和对比

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

主流框架对比


Construct2

Construct 2是一个运行于Windows平台的游戏制作工具,它可以让没有任何编程基础的用户在短时间内不写一行代码快速开发出一款可运行于所有平台(Windows、Mac、Linux、Android、iOS等)的游戏。免费版可以将游戏导出成HTML5。收费版本分为个人版(79英镑)和企业版(259英镑),可以导出所有平台的版本,同时提供了更多的特效和音乐。如果使用该工具盈利超过5000美元,需要升级到企业版。

优点:
1. 简单易用,可实时运行游戏
2. 强大的事件系统,可以不通过写代码来控制游戏逻辑
3. 提供了可编程扩展的接口
4. 提供了大量特效,支持物理效果
5. 支持所有平台
6. 完整的文档以及社区支持

缺点:
不如直接写代码灵活

参考资料:
1. 官方网站
2. Construct 2 vs. Javascript

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

LimeJS是一个基于Google Closure Library开发的HTML5游戏框架,继承了Closure代码易读易懂、架构清楚的特性。同时提供了游戏中各种通用实体的封装,如Director、Scene、Layer、Event和Animation等,与Cocos2d的API类似。它是由Digital Fruit公司创建。

优点:
1. 基于Apache协议的开源框架
2. 功能强大,文档齐全,与ImactJS类似
3. 支持物理效果
4. 与Cocos2d的API类似,容易上手

缺点:
依赖于Google Closure

GameMaker

GameMaker与Construct 2类似,都是一个游戏制作工具,可以导出到各个平台运行,分为免费版、标准版(49.99美元)、专业版(99.99美元)和大师版(799.99美元)。其中免费版只能导出Mac和Windows版本,导出HTML5需要大师版或者专业版(再额外支付99.99美元)。

优点和缺点:
优势与Construct2类似,但性价比不如Construct2高

CreateJS(EaselJS)

CreateJS是Adobe官方赞助的开源开发框架,它大部分API都是基于Flash原有的API来模仿实现的,并且官方提供了直接把Flash动画转成JS数据包的工具,调用起来很方便。CreateJS提供了若干开发套件及工具,分别是:EaselJS(负责图形、事件、触控、滤镜等功能)、TweenJS(补间动画)、SoundJS(音频控制)、PreloadJS(文件加载)和Zo?(生成图片精灵及动画数据)。

优点:
1. Flash开发者很容易上手
2. 提供了Flash转html5的工具,可以将部分Flash代码进行转换再修改
3. 基于MIT协议的开源框架
4. 类库设计非常独立,包含不同的模块,可选择性使用

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

Crafty是一个体积小、简单、轻量级的2D的HTML5游戏引擎,它提供了通过Canvas或DOM来绘制实体,提供了精灵Map以及SAT高级碰撞监测支持。它是由个人(Louis Stowasser)创建,同时由Github上的一些开发者共同开发。

优点
1. 体积小
2. 轻量级引擎,不会受到框架的太多束缚
3. 同时支持PC和移动平台浏览器

three.js

Three.js是一个轻量级的JavaScript库,用于在浏览器上创建和显示3D图形。它可以同时使用Canvas、SVG或WebGL进行绘制。

优点和缺点:
支持3D,但是不适合做2D游戏

melonJS

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

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

Turbulenz

Turbulenz是一个开源的HTML5游戏引擎,提供了可以运行在Windows、MacOS、Linux上的SDK,允许开发人员创建高质量和硬件加速的2D、3D游戏。包括以下功能:异步资源加载、进行特效和粒子渲染、支持物理效果、碰撞检测以及动画、3D音效支持、支持网络交互以及社交网络分享、场景和资源的管理。

优点:
1. 功能强大,同时支持2D和3D
2. 基于MIT协议的开源引擎

Quintus

Quintus是一