为您的项目选择最好的javascript游戏引擎可能很困难。在做出最终选择之前,有很多因素需要考虑。不仅是功能、约束和要求等大选项,还有经常被忽视的小细节——如可执行导出选项、协作和支持的在线社区,以及现成游戏的模板机会。
让我们看一下 JavaScript 中五个最好的游戏引擎,以及它们中的每一个如何为您的下一个项目叠加:
Phaser JS 游戏引擎
作为最流行的以 javaScript 为中心的引擎之一,Phaser 专注于让编码人员快速制作游戏。该系统主要使用canvas和 WebGL,让程序员可以轻松地为桌面和移动设备构建大量游戏。Phaser 也是免费和开源的,为那些希望进一步支持其开发的人提供订阅模式。
拥有一个定期参与论坛、Slack 和 Discord 频道的活跃社区,如果您需要,可以轻松获得有关 Phaser 的帮助。虽然它不提供从 Phaser 内部发布到多个设备的选项,但它的html5和 JavaScript 代码库允许您使用可用的包装库进行部署。
移相器的特点
该引擎的最大好处之一是它是一个功能齐全的引擎,因此它不仅限于做一件事。以下是 Phaser 提供的一些功能集的列表:
建立在 WebGL 和画布上
预加载系统
物理特性
精灵和动画处理
粒子系统
摄像头、输入和音响系统
瓦片地图支持
设备缩放支持
插件可用性
Phaser 游戏引擎入门
如果您认为 Phaser 非常适合您的项目,您可以在Phaser 网站上下载引擎本身。
Birds of War是一款完整的自上而下的射击游戏,带有完整的源代码,并且还具有移动功能。同样,Tower Challenge具有许多相同的功能,但也演示了第三方api集成以及如何利用 Phaser 的物理系统。
捷豹冒险游戏引擎
如果您是 LucasArts 或 Telltale Games 推出的冒险游戏的粉丝,那么这款下一个引擎适合您。该引擎的功能集深入其利基市场,使其优于为您的项目使用更通用的 JavaScript 游戏引擎。Jaguar 的大部分功能都可以通过 GUI 获得,并且可以使用源代码来进行您可能想要添加的任何修改。
捷豹能做什么?
尽管 Jaguar 的引擎产品并不广泛,但它确实为冒险游戏提供了重要的部分,例如:
场景控制
主要和次要行动
库存和音频系统
对话树
与捷豹一起运行
听起来像是您项目的引擎?您还可以在其中查看包含的其他功能。
CreateJS 套件
这套 JavaScript 库不是游戏引擎,而是专注于在 html5 世界中创建交互式应用程序。但是,游戏包含在交互式媒体的保护伞下,因此在您的项目中使用 CreateJS 是完全合理的。EaselJS、TweenJS、SoundJS 和 PreloadJS 的组合,它们的巅峰之作提供了创建游戏所需的工具。
CreateJS 库
该套件中的每个库都使您可以访问大量工具,其中一些工具可以执行以下操作:
EaselJS 使与 HTML5 Canvas 元素的交互和工作变得更加容易。
TweenJS 是一个用于 HTML5 和 JavaScript 属性的动画和补间工具库。
SoundJS 使您可以访问使音频易于使用的功能。
PreloadJS 允许对资产和数据加载进行高级控制。
将 CreateJS 添加到您的工作流程中
如果您正在寻找一套有用的库,而不是大多数游戏引擎附带的僵化结构,请查看CreateJS 网站。
如果您正在寻找一款更高级的游戏来学习,那么受祖马启发的游戏 The Sorcerer 将为您提供一个良好的开端。
P2.js
如果您已经很好地掌握了 HTML5 的 Canvas,那么您可能只需要更轻量级的东西。P2.js 是一个广泛的 JavaScript 二维物理库,可以处理游戏开发中更棘手的部分。它对于希望颠覆更传统 JavaScript 引擎的游戏特别有用。
P2.js 库的特点
P2.js 的最大卖点来自大多数开发人员舒适区之外的高级物理实现。这里只是一些可用的类和功能:
自上而下的车辆处理程序
粒子和射线系统
支持多种类型的弹簧
刚体处理器
碰撞反应
摩擦力、力、速度和重力支持
将 P2.js 添加到您的项目中
想要在您自己的游戏中运行高级 2D 物理吗?您可以在 GitHub 上获取 P2.js的源代码。GitHub 存储库中有几个可用的演示,或者如果您想查看库的实际运行情况,请查看这个幸运轮游戏模板。
巴比伦JS
Babylon 被认为是用于构建 3D 游戏和体验的完整 JavaScript 框架,是 3D 和 VR 的不错选择。将 WebGL 用于图形,Babylon 的功能集非常广泛。它涵盖了您对 JavaScript 游戏引擎的所有期望,还添加了在免费可用系统中不常见的附加功能,例如网格处理。
尽管它的社区似乎仅限于一个论坛,但它相当活跃,大多数有问题的人都能得到他们需要的答案。
BabylonJS 功能
Babylon 列出的功能足以单独写整篇文章,因此这里有一些最重要的:
支持 Unity、blender、Maya 和 3ds Max的工具和导出
游戏引擎的主要内容,例如场景拾取、碰撞处理和场景图
粒子和动画系统
性能优化,例如截锥体裁剪、硬件缩放和遮挡查询
着色器、渲染和纹理系统
扩展网格支持
从哪里开始使用 BabylonJS
如果您的 3D 游戏项目可以使用 boost,您可以在其官方网站上查看 BabylonJS的源代码和文档。他们提供了许多教程和示例来帮助您入门。
你最喜欢的 JavaScript 游戏引擎是什么?
我们已经讨论了一些可用于 JavaScript 游戏的顶级框架,但远非完整列表。你有自己的最爱吗?随时在评论中告诉我们这一切!
- 移相器的特点
- Phaser 游戏引擎入门
- 捷豹能做什么?
- 与捷豹一起运行
- CreateJS 库
- 将 CreateJS 添加到您的工作流程中
- P2.js 库的特点
- 将 P2.js 添加到您的项目中
- BabylonJS 功能
- 从哪里开始使用 BabylonJS