开发者广泛的H5游戏开发语言共有三种橙光游戏,分别是Flash AS3、TypeScript、JavaScript。 其中Flash AS3和TypeScript都是面向对象的高级脚本语言。 原始项目代码通过编译器编译成JavaScript代码文件并在浏览器中运行。 面向对象的高级语言既是项目开发管理h5游戏引擎,又是项目开发的工具环境。 JavaScript脚本语言的成熟度明显优于JavaScript脚本语言。 特别是对于中大型项目,使用AS3等高级语言会更加高效。
2.如何选择H5游戏引擎(转)
转载自:如何选择H5游戏引擎 - oayx - 博客园
原生手游市场已经是一片红海,由腾讯、网易等寡头把持。 H5游戏市场或将成为下一个趋势。 据笔者了解,不少H5游戏开发团队因引擎选型不慎而导致项目甚至团队消亡。 如何选择适合团队和项目的引擎? 笔者通过学习和项目实践,总结出自己的一点点经验,供大家参考。 非技术人员也可以将本文作为引擎选型的重要关注点。
选择H5游戏引擎时的思考维度
1. 开发语言支持
2. 2D、3D、VR支持
3. 性能
4、发动机应用广度
五、设计理念
6. 工作流程支持
7、成熟的商业化案例
8.学习资源和技术支持能力
首先我们要知道目前主流的游戏引擎是什么。 由于H5引擎较多,所以笔者在这里进行了仔细的筛选,过滤掉不支持webGL的引擎,以及封装了第三方渲染内核的JS框架,以及不能直接在浏览器中运行的JS引擎。
为什么我们要过滤掉这些类型? 首先,它没有自己的渲染内核,只是基于第三方内核的API封装。 笔者非常担心可持续的性能优化和维护能力。 另外,无法直接在浏览器中运行的JS引擎也会限制H5游戏的跨平台交互能力。 并且,作者非常看好webGL模式,认为webGL模式是H5引擎的未来。 有以下几个原因:
首先,性能上,webGL模式远远超过Canvas好几倍。 DOM模型并不适合真正的游戏开发,更不用说。
其次,在3D方向上,webGL模式理论上可以创建2D和3D游戏,而Canvas和DOM模式只能创建2D游戏。
第三,渗透率。 webGL的普及率已经非常高了。 特别是支持webGL的腾讯TBS-Blink内核已于4月19日发布,并逐步在微信、QQ空间、QQ浏览器、手机QQ等APP中使用。 采用静默安装方式全面升级。 这个渗透率在国内的影响,你懂的……
1.选择H5游戏开发语言
开发者广泛的H5游戏开发语言共有三种,分别是Flash AS3、TypeScript、JavaScript。 其中Flash AS3和TypeScript都是面向对象的高级脚本语言。 原始项目代码通过编译器编译成JavaScript代码文件并在浏览器中运行。 面向对象的高级语言既是项目开发管理,又是项目开发的工具环境。 JavaScript脚本语言的成熟度明显优于JavaScript脚本语言。 特别是对于中大型项目,使用AS3等高级语言会更加高效。
从上图可以看出游戏评测,支持JavaScript语言的引擎越来越多。 自从为Layabox引擎推出了AS3语言编译器以来,唯一使用AS3作为开发语言的就是Layabox引擎。 笔者在开发中大型游戏项目时推荐使用TypeScript或者Flash AS3语言进行开发。 如果是小游戏,就选一个吧。
2、发动机未来的延续能力
选择发动机不仅仅是为了满足当前的需求。 发动机未来的延续能力也非常重要。 这个项目是2D的,下一个项目想开发3D。 如果引擎不支持怎么办? 去换引擎吗? 如果VR的机会来了,你想发布VR版本,但是这个引擎不支持,你需要重新开发吗? 作为开发人员,应该尽可能提前考虑这些问题。
从上图我们可以看到,即使是支持webGL的H5引擎中,也有一些是只针对2D游戏的,有一些是只针对3D游戏的。 同时支持2D、3D、VR的H5引擎,目前只有Layabox和Egret引擎。
3、性能是核心要求
性能是H5游戏面临的核心门槛,也是很多H5游戏不被职业玩家认可的重要原因之一。 游戏卡住了,不流畅。 这样的产品体验很难在激烈的竞争中生存。
H5行业的早期普及阶段即将过去,游戏的质量正在迅速提高,包括精美的美术和炫酷的动画。 面对复杂的游戏项目,以上要素的流畅体验对于游戏引擎来说是一个很大的考验。 因此,选择性能优良的发动机是保证质量最重要的基础,一定要谨慎。
在游戏项目开发之初,首先要对复杂的模块进行DEMO测试,尤其是带有背景滚动的游戏。 例如横版卷轴游戏对帧率稳定性的要求极高。 如果达不到性能要求,可能会造成头晕、头晕、乏力等不良体验。
就webGL的2D渲染性能而言,pixi.js的性能目前*. 就webGL的3D渲染性能而言,Three.js非常出色。 在运行时方面,Cocos2d-js 也具有原生级别的性能。 经过对比,笔者认为Layabox综合性能最强,在各个渲染领域都保持在HTML5引擎的顶尖水平。 当然,上图仅供参考。 对于任何某款发动机性能最好的说法,一定要亲自进行性能DEMO测试对比,不要轻易接受。
由于性能是游戏的核心要求,所以这里我再多说一句。 大型项目在系统复杂度、UI复杂度、动画显示数量和类型等方面与小型游戏项目根本不是一个级别的,会涉及到更复杂的性能优化、内存管理、资源管理等需求比小游戏。 如果选择了小马大车的低性能引擎,项目很可能就夭折了,除非最终的项目开发者花大量的时间自己去优化。 引擎。 因此,如果性能稍微差一点,结果就会差很多,这是主观无法想象的。
4. 与发动机的应用范围
随着H5游戏品质的提升,在其他领域也具有一定的竞争力和价值。 人们越来越清楚,一次性开发可以在各个领域发布版本。 这包括需要发布原生APP手游和PC Flash网页游戏。 统一引擎时代即将到来。 目前最火的H5游戏《传奇世界H5》据说有40%的收入来自PC网页。
在发布PC页游时,由于PC浏览器目前对HTML5的兼容性不足70%,用户损失巨大,页游联运平台可能会拒绝或发布很少的量。 这个问题只能通过使用可以同时发布Flash版本的引擎来解决。 。
五、设计理念及定位
设计理念是一个比较大的话题,也是发动机选型中非常重要的因素。 比如引擎是否应该专注于移动端,或者是否应该面向全平台、多终端的游戏市场。 是注重性能h5游戏引擎,还是注重工具链等。只有深入理解不同引擎的概念和定位,才能更好地与游戏产品融合。
上图内容仅供参考。 详细内容建议去各个引擎的官网了解更多。
6. 工作流程支持
作为商业级的开源引擎,工具链的提供和支持也是选择时需要考虑的因素,比如UI编辑器、粒子编辑器、骨架编辑器、场景编辑器等。如果引擎直接提供或支持,会更方便。 大大提高研发效率。
本文提到的七个引擎中,只有Egret、Layabox、Cocos2d-JS这三个引擎在工具链方面提供了足够全面的支持。
7. 有成熟的商业案例吗?
如何证明发动机成熟? 必须有成熟的商业案例。 一般引擎官网上都会有游戏案例介绍。 在选择引擎之前,我们必须进行深入的体验,包括:业务案例数量、业务案例类型、稳定性、流畅度(应该处于较低水平)。 客户体验)、项目复杂度、项目相似度等。如果有一些大规模的成功案例背书,相对安全可靠。
从目前的行业案例来看,Layabox引擎的MMORPG《醉西游》、重度动作游戏《猎刃2》、大型模拟经营游戏《梦想家园》等无疑是H5引擎技术的最高水平代表作。 。 但从卡牌、放置游戏等付费游戏整体数量来看,白鹭引擎明显占据优势,这充分说明该引擎的营销力度更胜一筹。
8.学习资源和技术支持能力
能够提供什么样的学习资源和技术支持,对于开发者来说也是重要的因素。 如果你是技术专家,只想使用轻量级的第三方渲染内核。 对于2D游戏来说,pixi.js无疑是首选。 对于3D游戏,作者推荐Three.js。 然而,这两种引擎的学习资料都比较匮乏。 笔者相信,学习资料的完善以及学习过程中的技术支持将极大地帮助您解决引擎使用中的问题。 因此,完整的API、完整的DEMO、完整的文档、社区响应速度、沟通氛围、QQ技术支持等,都可以作为你选择引擎时考虑的因素之一。
9、页游移植产品的引擎选择
目前《醉西游》等优秀的H5产品都是从Flash页游或手游移植过来的。 移植产品选择引擎时,要注意代码是否可以直接移植? 如果可以的话,那将会节省大量的开发成本。 例如,使用Flash AS3开发的2D或3D网页游戏或手机游戏,可以将逻辑和算法代码直接复制并移植到Layabox引擎项目中,将开发速度提高数倍。
写在最后:最后提醒一下,千万不要相信某些引擎的单方面宣传。 一定要花一些时间去学习和实践,自己做一个DEMO来对比。 你亲身经历过的经历才是真理。
我对DEMO测试有一些建议:
1、使用复杂的UI,尤其是复杂的列表,比如没有分页的背包列表。 将不同的道具图片放入背包中,测试滑动的流畅度。 这是对性能的考验。 元素越复杂,数据就越多。 ,尤其是性能上的差异是可以比较的。
2.包含最复杂的战斗部分。 不要写战斗逻辑代码,否则时间太长。 只需将战斗相关的动画和复杂元素放入场景中进行模拟即可,因为H5游戏的性能瓶颈通常在于图形。 展示。
3、测试的主要目的是看项目在引擎中的表现,这是最关键的。 因此,在硬件方面,我们不得不选择低端Android手机(如红米)进行测试。 软件环境测试建议使用微信环境。 首先,因为微信公众号是H5的主要渠道之一。 其次,微信目前的H5性能低于Chrome浏览器,最好在恶劣的环境下测试引擎的性能。