国内外六大手游开发引擎优劣
无论是2D游戏还是3D游戏,游戏引擎都充当着游戏骨架的角色,没有游戏引擎就无法做出一款真正的游戏。通过游戏引擎,制作者可以把画面、剧情、关卡、操作等元素拼接在一起,成为一款完整的游戏,同时赋予制作者实现其设计理想的可能性。
近几年来,移动互联网的兴起,也让手游产业飞速发展;更多的手游引擎也开始崭露头角,Cocos2d, libgdx, OGEngine等这些名字,也逐渐被开发者所熟知。
下面我们就来对比分析一下主流的手游开发引擎:
其中部分的介绍和分析如下:
1.Cocos2d-x
简介
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台。Cocos2d-x提供的框架外,手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全相容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等作业系统中。Cocos2d-x还支援Windows、Mac和Linux等桌面作业系统,因此,我可以编写的原始程式码很容易在桌面作业系统中编辑和调试。
2.OGEngine
简介:
OGEngine是国际著名开源引擎AndEngine的一个分支,遵循LGPL开源协定使用OpenGL ES进行图形绘制。同时集成了Box2D物理引擎,因此可以实现复杂的物理效果。
OGEngine主要使用Java语言开发,但在大运算量的耗时功能时,OGEngine使用了C/C++本地代码进行开发。比如物理引擎及音讯处理。作为用户,你只需要关注Java端就可以了,它已经把所有的本地代码封装好了。相比于其他android游戏引擎,OGEngine的效率优势十分明显。
优点:
OGEngine在AndEngine开源框架下做了以下工作以便开发者更好的学习和使用:
1、逻辑执行绪和渲染执行绪实现执行绪独立;
2、编写了UI体系,提供以线性布局,相对布局,绝对布局,帧布局为基础的UI组件;
3、修改资源载入并提供相应工具,使得载入资源工作量大大减少;
4、增加动画编辑器,关卡编辑器,UI编辑器进行资料对接,引擎可以跟工具结合使用开发;
6、对实体相关类重做和分离,给实体操作提供更多方法和更方便复合实体操作;
7、提供完整的事件系统;
缺点:
官方申明OGEngine支持多运行平台,不过当前发布版本只支持安卓;同时支持安卓和iOS的版本会在后续版本才发布。
3.Rokon
简介
Rokon是一款Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,该专案最新版本为 2.0.3 (09/07/10)。
优点
开发文档相当之完备,并且专案作者对回馈Bug的修正非常之神速,所以该框架的使用在目前也最为广泛,有人干脆将它称为Cocos2d-iPhone引擎的Android版(业务逻辑和编码风格上也确实很像)。
4.LGame
简介
LGame是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本(测试版添加了C#开发版本)。最低运行环境要求为Android 1.1。其底 层绘图器LGrpaphics封装有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封装,Android版采用Canvas模拟实现),所以能够将J2SE或J2ME开发经验直接套用其中。
优点
1、作为支援Java桌面游戏以及网页游戏开发的全功能引擎,LGame无论对画面绘制、精灵碰撞、特效渲染、表单元件,还是XML操作,文本资料库操作,HTTP操作,日志操作等都提供有完善的内部解决方案,避免了多包配置的繁琐与不便,同时也降低了使用者的学习曲线。
2、出于效率与程式体积两方面考虑,LGame中所有元件皆不依赖Swing,完全采取AWT绘制而成,因此它可以将自身的运行环境压缩到最小,一个压缩后不足4MB的精简JRE,已足够支持它的运行。
缺点
(1)该引擎除了基本的音效、图形、物理、精灵等常用元件以外,也内置有Ioc、xml、http等常用Java组件的封装,代价是jar体积较为庞大,PC版 已突破1.2MB,Android版有所简化也在500KB左右。
(2)唯一遗憾的是,该专案作者是个极其懒惰的家伙,开发文档从去年说到今年依旧没有提供,只有游戏示例可供下载。
5.Libgdx
简介
libGdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。它基于Apache License, Version 2.0协定,对商业使用和非商业使用均免费。
缺点
(1)精灵类等相关元件在使用上不够简化
(2)而且文档也较为匮乏。
6. JPCT
简介
jPCT是一款基于OpenGL技术开发的3D图形引擎(PC环境为标准OpenGL,Android为OpenGL ES), 以Java语言为基础的,拥有功能强大的Java 3D解决方案。该引擎与LGame(此为2D游戏引擎)相类似,目前拥有PC(J2SE)以及Android两个开发版本。最低运行环境要求为Android 1.5。