H5开发小游戏用什么引擎好

H5开发小游戏用什么引擎好,第1张

Turbulenz

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

优点:

1. 功能强大,同时支持2D和3D

2. 基于MIT协议的开源引擎

Construct2

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

优点:

1. 简单易用,可实时运行游戏

2. 强大的事件系统,可以不通过写代码来控制游戏逻辑

3. 提供了可编程扩展的接口

4. 提供了大量特效,支持物理效果

5. 支持所有平台

6. 完整的文档以及社区支持

缺点:

不如直接写代码灵活

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

Cocos2d-html5

Cocos2d-html5是一款基于Cocos2d-x API的2D开源HTML5游戏引擎。它目前通过canvas进行渲染,将来会支持WebGL。它由国内Cocos2d-x核心团队主导开发和维护,行业领袖、HTML5大力推动者Google为这个项目提供支持。同时,Zynga、Google等大公司的工程师也参与到它的设计工作中。

优点:

1. 与Cocos2d的API类似,容易上手

2. 中文文档齐全,资料丰富

3. 基于MIT协议的开源引擎

H5edu教育html5开发解答

参考 一篇读懂HTML5引擎性能之王LayaAir

对于熟悉Layabox的朋友们来说,一定知道LayaFlash引擎,那么LayaAir与LayaFlash的区别在哪些地方呢?

首先是定位的不同,LayaFlash主要是定位于让存量的Flash手游、页游直接转换为HTML5和APP手游。而LayaAir主要是定位于新项目开发。

其次是API的差异,LayaFlash在开发新项目的时候,采用Flash AS3的原生API开发HTML5和手游项目。而作为多语言开发的LayaAir引擎,尽管仍然支持Flash AS3语言,但是并不兼容AS3的原生API,全新的LayaAir API继承于十多年的引擎经验,让开发效率得到较大的提升。

最后是性能上的差异,LayaFlash与普通的HTML5引擎一样,运行大型游戏的时候,必须依赖内嵌在渠道的运行器,才可以达到原生APP的流畅体验。而LayaAir运行大型游戏,不再依赖运行器,可以直接流畅的裸跑在浏览器中。

参考 Layabox谢成鸿:LayaAir是真正的全行业引擎

LayaAir正式发布前,包括部分开发者在内,都存在一个认识误区,认为LayaAir中仍然保留了LayaFlash这一独立的开发引擎。HTML5梦工场在与谢成鸿独家对话中获悉,LayaAir中并没有LayaFlash,而只是保留了对Flash支持。谢成鸿表示,之所以保留对Flash的支持,主要还是因为不少页游厂商习惯于用Flash开发,是出于“对部分厂商的尊重与支持”。谢成鸿透露,LayaAir同时支持输出PC Flash版和HTML5版,也不存在单独HTML5模式的兼容性问题。

谢成鸿毫不避讳LayaFlash存在的问题。他说:“LayaFlash可以用于开发新项目,但主要定位是Flash转换,缺陷是运行库较大,且需要Runtime支持才能达到较高性能。”他表示,也是基于前述产品的缺陷,才下定决心要独立研发基于HTML5协议的全能型引擎,以真正达到行业对HTML5引擎的预期。

参考 LayaAir实战开发1-引擎简介

LayaAir是LayaBox新推出的HTML5引擎,不同之前的LayaFlash引擎,LayaAir引擎和Flash关系不大,是一套全新设计的精简API的游戏引擎。具有以下特点:

用html5写游戏,会面临一系列的问题,情况很复杂。而当下热衷于html5开发游戏的,有两拨不同的人——熟悉dom、css、js、web2.0的传统前端开发工程师和熟悉canvas的传统游戏开发工程师。这两拨人的背景截然不同,所以在很多问题的处理上有出入。

1)js语法简单,很多高级一点的语法特性都没有,不适合直接拿来开发大型项目。

js核心语法只经过一个星期就设计完成了,很仓促。它在设计之初主要是为是给页面写一点“表单验证”之类的小功能,它是基于对象的语言,但extend、mix-in、import等语法都没有提供,因为打从一开始js之父从没想过有一天js会变得如此重要。在web2.0时代,有大量的DHTML需求,所以大型一些的js框架都会着手解决“大型项目可维护性”方面的问题,扩展js语言,通过封装api模拟高级语法特性,例如YUI3和Dojo。

extend和mix-in之类的还好解决一点,特别值得一提的是js模块化问题。js原生不提供import和包的机制,所以聪明的工程师自己封装了相关的api,更在近两年形成了commonJS规范。模块化、动态加载、依赖处理非常非常重要,不解决这个问题,很难优雅地处理大型项目。

html5游戏,首先它得是个js大型项目。web site在这些年积累了很多这方面的经验,html5游戏开发者应该吸收这些经验,不要写出web2.0以前的js代码水平。

2)html5是web前端技术,有web方面的特殊性。

比如说跨域问题、http优化、BOM相关接口。这些都是传统前端开发方面的知识,我敢说一大半的游戏开发工程师们不清楚JSONP是干嘛的。比如原生ajax和cookie的接口非常难用,总是要封装一下才好用的,包括1)里所讲的语法扩展,都是web开发相关的,但其实和游戏又没有直接的关系。html5游戏引擎是不方便处理这些的。这些内容可以交给传统前端的框架来做。

3)canvas和DOM,不同的GUI套路。

这是个巨大的鸿沟。前端们非常熟悉的三大基本元素html + css + js,传统游戏开发工程师们很陌生。特别是神器css,传统游戏工程师们很排斥,他们知道这个东西很好,却提不起兴趣学习,他们害怕浏览器兼容问题。他们号称开发html5游戏,其实只敢用canvas相关的子集。现在绝大多数的html5游戏引擎都是基于canvas的,纯canvas。

其实css是个巨大的神器,在GUI编程方面性价比奇高。css的api设计得如此简单却出奇强大!在桌面端已经有很多软件使用c++做个框,框里套个html,所有的GUI全是用html+css+js来实现的。在移动终端phonegap也是同样的思路。

纯canvas虽然省却了css、dom、浏览器兼容的学习成本,却主动放弃了css和dom引擎提供的大量帮助。捡芝麻丢西瓜。

4)大量不同终端和平台的适配。

html5适用的终端包括pc、移动设备甚至平板电视。 *** 作系统有windows、ios、android、win8等主流平台,还有blackberry、web os、chrome os、ubuntu touch、firefox os,甚至wii u等非主流平台。不同的 *** 作系统、不同分辨率、不同物理尺寸。游戏的尺寸该如何取舍?是放任缩放还是做响应式设计?浏览器能否全屏?浏览器状态栏有多高?是否是从主屏打开的(ios设备)?是横屏还是竖屏?

除了上面的这些 *** 作系统,还有人人网、微博、微信这样的平台,也是html5游戏可以发布的地方,这些地方对接入的游戏尺寸又有哪些要求和限制?我能改页面的viewport吗?还是要将游戏的根结点进行scale缩放?

除了游戏的尺寸要适配,还有输入设备也要适配。pc的输入设备是键盘和鼠标,移动设备的输入设备是触摸屏和重力感应。什么设备使用虚拟十字键,什么设备键盘 *** 作就行了,我们还需要对当前的终端做嗅探。

适配问题是个巨大的问题,终端多也就罢了,还很可能在不停地变化,系统升个级或者出来个新设备什么的,适配方面的工作还得持续更新。这些,游戏引擎们考虑过吗?考虑得完善,能应付我的定制需要吗?引擎更新得频繁和及时吗?


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/6216187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-18
下一篇 2023-03-18

发表评论

登录后才能评论

评论列表(0条)

保存