移动应用分类五花八门,面对众多对手,移动游戏突破重围,成了大家日常生活中的基础娱乐活动之一。也因此,越来越多的开发者开始投身移动游戏的开发中。不过,面对多样化的目标平台,要知道选择一个适合自己的跨平台游戏引擎是一件非常重要的事。所以,本文中例举了除了以前常常提到的cocos2d-x和虚幻引擎之外的,其他一些在跨平台方面比较优越,在开发者中很受欢迎的游戏引擎。
1. Unity3D
说到跨平台游戏引擎,开发者最先想到的就是Unity3D。他是让开发者可以轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
主要特性:
- 渲染系统:AAA级的渲染效果。
- 地形系统:强大的地形编辑器。
- Shuriken:所见即所得的粒子特效编辑系统。
- Mecanim:可视、高效的动画编辑系统。
- Lightmap烘焙系统:逼真的离线渲染。
- 物理系统:高效、生动的物理模拟。
- Audio Mixer:创建复杂动态的音效。
- 脚本编辑器:支持C#、JavaScript、Boo。
- 性能分析器:对各大模块详细实时的性能分析。
- Asset Store:资源丰富的在线商店。
- 一次开发,多平台同时发布。
相关链接:Unity的mobilehub主页
2. App Game Kit
App Game Kit是一个用于移动跨平台游戏开发引擎,解决了许多因移动设备碎片化而产生的问题。通过它,你可以一次编写而将游戏部署到不同平台上,支持BlackBerry、Android、iOS和Windows Phone。
主要特性:
- 使用方便:使用自身的BASIC脚本语言,App Game Kit让编写游戏变成小事一桩。游戏设计师、艺术家和更多的初级游戏制造商都可以尝试创建自己的应用程序。
- 提升工作效率:在IDE中编译你的BASIC游戏,利用WiFi将它传至多个设备进行即时的测试。使用这一交叉开发模式创建游戏,当你目标是多个平台时,将会大大提升工作效率。
- 多渠道:将作品发布到多个应用商店,获得多个收入来源,从交叉推广中获益,最大化开发者的成功机会。
- AGK的核心是一组命令,用来控制游戏的所有方面,包括游戏界面、声音、物理效果和碰撞等。通过使用这些提供的功能,你可以使用熟悉的IDE如Visual Studio、Xcode和Qt行业标准C++来编写游戏。
相关链接:App Game Kit的mobilehub主页
3. Marmalade
Marmalade SDK是一个功能强大的跨平台工具,让开发人员可以从一个代码库中横跨多平台和设备来部署代码,Marmalade会为你解决平台之间差异问题从而减低跨平台开发的痛苦。其核心是C++ SDK,旨在为开发者提供最大的性能和灵活性。
主要特性:
- 构建强大移动游戏,无需放弃最喜爱的编程语言:使用自己熟悉的C++及API,在Visual Studio或Xcode中就可开发,让跨平台开发无需额外成本。
- 在Windows上为iOS开发:Marmalade让你通过Windows来开发、测试、调试以及部署到iOS上。让开发者可以使用最喜爱的IDE工作,不需要花时间来掌握不熟悉的开发环境,大大节省了开发者的时间。
相关链接:Marmalade的mobilehub主页
4. Havok Vision Engine
Havok Vision Engine可提供强大且多样化的多平台运行技术,该技术不但能与各种游戏完美兼容,还能以平稳的帧速率渲染极其复杂的场景。该技术可提供设计完备且面向对象的清晰C++ API,其中包含了各种功能,帮助攻克技术障碍,可用于iOS、Android和大部分主要浏览器。
主要特性:
- 可自定义的大型功能集:创建自己的渲染管道,集成选定的物理系统,或编写出自己的动画代码。
- 高性能和稳定性:以最高水平的视觉保真度来渲染高度精致逼真的场景。
- 引擎可扩展性:SDK 提供许多插件,便于进行自定义和扩展。
- 自定义流化处理:强大的自定义流化处理,是大型高精细度场景和大型室内/室外环境的完美解决方案。
相关链接:Havok Vision Engine的mobilehub主页
5. ShiVa3D
ShiVa3D是开发者为iOS、Android、BlackBerry、Palm、Windows和Mac OS等轻松创建令人惊叹的3D实时应用以及游戏的开发工具,是一个功能强大的跨平台3D游戏引擎、所见即所得的3D编辑器及MMO服务器。
主要特性:
- 统一制作工具:通过ShiVa编辑器编译项目,为其支持的所有设备生成可执行应用。
- 引擎插件和扩展:通过附加类似PhysX physics引擎、Fmod sounds库以及ARToolkit插件来扩展引擎的功能。
- 原生C++汇编:直接使用C++或内置的Lua C++转换器来编写游戏,大大提高脚本性能。
相关链接:ShiVa3D的mobilehub主页
6. Project Anarchy
Project Anarchy是一个完整的端到端游戏引擎以及为移动打造的最先进的工具集,是面向iOS、Android和TiZen平台的一款免费移动游戏引擎。它包括Havok视觉引擎以及Havok物理引擎、Havok Animation Studio和Havok AI。
主要特性:
- 基于可扩展的C++插件架构。
- 全面的游戏示例,包括完整的源艺术和源代码。
- 为附加的可用平台和产品、源和支持提供升级。
- 包括FMOD这一业内领先的音频工具。
相关链接:Project Anarchy的mobilehub主页
7. libGDX
libGDX是一款跨平台的游戏开发框架,支持桌面、Android、iOS、BlackBerry和HTML5的Java游戏开发框架。它基于Apache 2.0许可协议开源,代码业已托管与Github上。
主要特性:
- 跨平台:一次编码,就可将游戏发布在Windows、Mac、Linux、Android、BlackBerry、iOS和HTML5平台上。
- 工具多样:包括Particle editor(粒子编辑器)、Texture packer(图片合成工具)和Bitmap font generator(文字生成工具)等。
- 省心:开发者只需专心编写2D或3D游戏,底层细节方面都由libGDX解决。
- 开源。
相关链接:libGDX的mobilehub主页
8. Corona SDK
Corona是一款跨平台应用及游戏开发框架,支持iOS以及Android。无论你是构建游戏还是其他,它都是一个优先选择,全球大约有20万的开发者将其作为主要开发工具。
- Corona大量的API库大大减少了代码的编写,在Lua中进行开发,轻松学习脚本语言。
- Corona SDK让你旨在一个编码的基础上,将成品发布在iOS和Android上。
- Corona平台是建立在行业标准上的,包括OpenGL、OpenAL、Box2D、Facebook和SQLite等。
相关链接:Corona的mobilehub主页
9. SIO2
SIO2是一款基于OpenGLES的跨平台2D及3D游戏引擎,支持iOS和Android,为你提供所有现代引擎功能。功能丰富,快速灵活,SIO2可以让你为最喜爱的移动平台创建AAA艺术状态的游戏,且不强迫你去使用特定地IDE代码或编写你的游戏。
主要特性:
- 采用标准的C和C++语言,为你的移动设备提供一个先进的便携式游戏引擎。
- SIO2使用LUA最快最灵活的脚本语言,在LUA接口中的所有SIO2的API都是可用的,SIO2脚本系统的灵活性让你通过使用SWIG去创建和整合自己的模块。
- 建立在OpenAL之上的SIO2声音系统原生支持OGG格式。
相关链接:SIO2的mobilehub主页
10. Sirius2D
以上说了那么多国外引擎,最后一个就是国内较为优秀的引擎,天狼星2D(Sirius2D)。它是国内第一款以WebGL为渲染核心的HTML5跨平台游戏引擎,其核心理念为“精于源,修于行,泽于众”。手把手地教会开发者掌握HTML5游戏开发这门手艺。
主要特性:
- 100%开源免费:天狼星2D引擎是一个基于MIT开源协议许可的永久免费的项目。
- 高效易用的渲染核心:天狼星2D的渲染模块参考了众多国外的框架,并针对JS语言特点加以改良,独创了很多效率优化的技巧,在保证代码规范的前提下,不断改进效率,使其高效迅捷。引擎将复杂的渲染模块进行了封装,方便使用,易于扩展。
- 简单+即时+跨平台:使用熟悉的JS编写完某功能后,可以在桌面设备或移动设备打开对应页面,方便快捷的检测结果是否正确,并测试效率与兼容问题。 不需任何第三方运行时插件,就可以在不同浏览器中得到几乎一致的游戏体验,真正实现“一次发布各平台同步”的目标。
- 完善的支持:除了引擎本身的文档与demo外,开发者还可以在社区中得到帮助,通过配套的网络教程与实体书籍,更细致更深入地进行学习。
相关链接:Sirius2D的mobilehub主页