HTML5游戏从2014年Egret引擎开发的神经猫引爆朋友圈之后,就开始一发不可收拾,今年《传奇世界》更是突破流水2000万!从两年多的发展来看,游戏开发变得越来越复杂,需要制作各种炫丽的效果,还要制作各种基于 2D 或者 3D 的场景。作为一名开发者,分析了当下最火爆,最热门的HTML5游戏引擎供大家参考,希望大家也能找到属于自己的那款游戏开发引擎。

我在github上面收集了四十多款的HTML5开源游戏引擎,从里面star、fork等等参数分析其流行度,最后综合各方面元素,筛选出靠前的十五款(包含三款非开源游戏引擎)


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



特点:

简单直观,入门容易,无需编程也能做游戏,长处是开发射击及动作类的平面游戏,有丰富的英文资料。

优点:
  • 支持多平台(Android,iOS,Windows)
  • 简单易用、无需编程知识可以使用,可实时运行游戏;
  • 提供了大量特效,支持物理效果,有开发者商城,在上面可以购买到各种开发插件和游戏素材;
  • 强大的事件系统,可以不通过写代码来控制游戏逻辑;
  • 提供了可编程扩展的接口,可以自己开发插件;
  • 完整的文档以及社区支持。

缺点:
  • 非开源,且中文教程极其匮乏;
  • 由于网页,手机都是相对于电脑来说性能较低的硬件产品,所以需要开发者更好的运用系统资源,甚至在windows平台也是如此,因为其windows的输出格式也是利用Chrome浏览器的内核所做,也就是说本质上还是在浏览器上运行。

点评:使用最多的HTML5商业引擎,更新快且开发者商城支持非常棒,推荐!

2、Three.js
Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精采的演示。




3、Phaser
Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和WebGL渲染,基于浏览器支持可自由切换。

快速、免费、易于维护,使用Phaser来开发2D小游戏的优势显而易见。一方面,开发者可以直接通过Koding平台上的VM开发系统进行代码编写及预览。另一方面,也可以在支持Canvas的浏览器中直接安装Phaser来进行游戏开发。



主要特性:
  • JavaScript、TypeScript双重支持
  • 内置游戏对象的物理属性
  • WebGL、Canvas渲染自由切换
  • 完全支持Web音频
  • 输入:多点触控、键盘、鼠标、MSPointer事件
  • 除了IE 9+、Firefox、Chrome、Safari及Opera等桌面浏览器之外,Phaser还支持Mobile Chrome(Android 2.2+)及Mobile Safari(iOS 5+)等移动浏览器。使用Phaser进行游戏开发没有任何语言设定,并且,在Phaser官网上,还提供了非常详细的开发指南,想要一探究竟的开发者不妨直接登陆Phaser查看。

4、Pixi.js
Pixi.js是一款超快的开源HTML5 2D渲染引擎,使用带有Canvas回调功能的WebGL。作为JavaScript的2D渲染器,Pixi的目标是,可以提供一个快速且轻量级的2D库,并能兼容所有设备。此外,让开发者无需了解WebGL,就可以感受到硬件加速的力量。



主要特性:
  • 真正的跨平台:在今天,开发工具跨平台已经不是什么稀奇的事了。不过,Pixi.js则是一个可以兼容所有设备的超快HTML5 2D渲染引擎,并且拥有canvas回调功能的WebGL,实现真正的跨平台。
  • 交互式多点触控:Pixi不仅支持移动和平板设备,还具有完整的多点触控输入识别,让开发者可以发挥自己的能力去挖掘出它所有的潜力。
  • WebGL过滤器:当使用WebGL时,Pixi允许你使用自己熟悉且现有的过滤器。当然,你也可以使用自己创建的独一无二的过滤器,比如自定位移和半色调效果。
  • 着色和混合模式:对设计师来说,会很喜欢这个,Pixi.js允许用户着色和使用混合模式就像其他常见的视觉包比如Photoshop或Flash。
  • 渲染器自动检测:这个算是Pixi的一大特色,虽然Pixi是主要作为WebGL 2D渲染器而创建的,但仍支持非WebGL平台。其解决方案就是创建一个Canvas回调系统,只需一次编码,Pixi就可无缝管理回调。
  • 简易API:设计直观,易于上手。
  • 资源加载:精灵表单、图形、字体和动画数据等都可通过Pixi.js来加载和处理。
  • 支持精灵表单(Sprite sheet)。

5、egret
Egret 游戏解决方案包含了开源免费的 HTML5 游戏引擎、Egret 项目开发工具集合、动画特效制作工具、原生多平台打包工具、高效的 HTML5 游戏应用加速器、以及支持多渠道的开放平台等。开发者可以通过Egret项目开发工具快速、高效的制作及开发游戏相关各类内容,加速器将游戏效果提高到与原生游戏相媲美的效果。制作后的游戏发布到开放平台后,有着优质的渠道资源可以将游戏推荐给更多的用户,使得游戏开发、发布、推广变为一体化内容。



主要特性:
  • 基于TypeScript及JavaScript技术,支持Flash到Egret高效转换,引擎、工具、运行时完整工作流
  • 跨平台:HTML5、iOS、Android、Windows Phone
  • 全中文文档:文档与开发者社区齐全
  • 开源免费,BSD开源协议、任意定制及扩展

6、enchantjs
Enchant.js 是个简单的 JavaScript 框架,可以使用 HTML5 和 JavaScript 来开发简单的游戏和应用。现在还是由 UEI 的 Akihabara 研究中心来开发和维护。



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



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

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

9、总结


收费