1.AndEngine
简介:AndEngine 基于libGDX框架开发,使用OpenGL ES进行图形绘制。同时继承了BOX2D物理引擎,因此能实现一些较为复杂的物理效果。在Rokon停止更新以后,AndEngine 成为Android 最为流行的2D游戏引擎
优点:(1)高效:在大运算量好事情况下,使用C/C++本地代码进行开发。比如物理引擎或者音频处理。
(2)AndEngine是开源项目,开发者可对源码进行修改,它的源码在github上托管。
(3)拥有Particle System (粒子系统),能制作雨雪流水等效果,另外还有Streak(动态模糊),Ratial Bule(径向模糊)等
(4):使用JNI封装了BOX2D的C++端,使得运行效率提高。如果游戏中使用物理引擎,则优先考虑使用该引擎。
缺点:没有官网文档,网上文档教程少,学习难度大。但是网上可收集到较多源码。
语言:java
最低运行环境:不详
2.Rokon
简介:是一款Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,该项目最新版本为 2.0.3 (09/07/10)。
优点:(1)开发文档相当之完备,并且项目作者对反馈Bug的修正非常之神速,所以该框架的使用在目前也最为广泛,有人干脆将它称为Cocos2d-iPhone引擎的Android版(业务逻辑和编码风格上也确实很像)。
语言:java
最低运行环境要求为Android 1.5。
3. LGame
简介:是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本,目前最高版本同为0.2.6(31/07/10)。
优点:(1) 层绘图器LGrpaphics封装有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封装,Android版采用Canvas模拟实现),所以能够将J2SE或J2ME开发经验直接套用其中,两版本 间主要代码能够相互移植。(2)Android版内置有Admob接口,可以不必配置XML直接硬编码Admob广告信息。
(3)该引擎还内置有按照1:1实现的J2ME精灵类及相关组件,可以将绝大多数 J2ME游戏平移到Android或PC版中
缺点:(1)该引擎除了基本的音效、图形、物理、精灵等常用组件以外,也内置有Ioc、xml、http等常用Java组件的封装,代价是jar体积较为庞大,PC版 已突破1.2MB,Android版有所简化也在500KB左右。(2)唯一遗憾的是,该项目作者是个极其懒惰的家伙,开发文档从去年说到今年依旧没有提供,只有游戏示例可供下 载。
最低运行环境要求为Android 1.1。
语言:java
4.Cocos2d
版本cocos2d-iphonecocos2d-xcocos2d-android cocos2d-javascriptluaCocos2d
优点:采用开源协议BSD,网站提供大量的测试例子,编程指南、教学视频等。也是当前最流行的一种开发引擎。
cocos2d-android:它是cocos2d的java实现,并能够在android上运行,使用BSD协议发布。
cocos2d-android-1:由国内自身开发者建立发展的,他认为android发展太慢,所以创建了一个新的android 实现,以实现最新的cocos2d-iphone的版本。使用bsd协议发布,该分支目前有俄罗斯人维护。
========================以下是两种3d游戏引擎===============
Libgdx和jpct可以制作不太高效的3D游戏
1.Libgdx
简介:Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D游戏开发,物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的 Android游戏引擎,
缺点:(1)精灵类等相关组件在使用上不够简化
(2)而且文档也较为匮乏。
(3)仅支持2的次方的图片尺寸。
2.jpct
jpct是一款体积非常之小的Android 3D游戏引擎,基于OpenGL ES技术开发。为了压缩体积,它根据不同功能采用多jar方式发布(包括alien3d-engine.jar,alien3d- tiled.jar,alien3d-sprites.jar,alien3d-shapes.jar,alien3d- particles2d.jar,),事实上它的核心文件大约只有40KB,所有相关jar的总和也不足150KB。
建议i:AndEngine是比较流行的引擎,底层的openGl封装的比较好,我的一些在北京的同学的公司多在用这个开发。还有一些在使用cocos2d-android,有点是成熟的引擎,例子多,教程多。缺点是cocos2d-android是运行在java平台上面的,运行速度不如使用C/C++用JNI封装的速度快,在处理消耗资源很大的运算的时候,对手机的配置要求比较高。
另,3D引擎比较推荐unity3D,优点是成熟的开发引擎,有自己独立的开发客户端,采用脚本式开发而非编码式开发,并且unity经过这几年的发展,已经可以和Unreal、Cry这种国际顶级引擎效果相媲美,跨平台,wp7、ios、pc、mac、xbox360等终端都可以使用,语言较C类语言更容易学习,更贴近java(JS、c#).缺点是中文的教程比较少,网上有一些视频教程,比如教你10个小时就可以做出愤怒的小鸟的视频,都是收费的。并且unity3d的售价不菲,我记得好像是1200刀。虽然在学习的过程中可以使用破解版的unity3d,但是破解版的打包出来的软件貌似通不过app store的审核(google pay的不清楚了),而且破解版的打包出来的软件比未破解打包出来的软件大了接近10倍的大小。
我原来看过一个调查,在游戏开发者中,用unity3d开发的大约有40%+,cocos2d大约有16%+,因此在学习阶段,尽量还是使用知名的游戏引擎来进行开发。并且近几年移动互联网发展速度太快,那么使用跨平台的引擎,在以后的移植和团队合作方面会有很大的优势。
引擎推荐排名
2D cocos2d-x>AndEngine>cocos2d-android
3D unity3d(大型的3D游戏只推荐脚本类引擎)
其他的,像roken,其作者因为考上了类似于中国的研究生的这种学位,已经一年多没有更新了。虽然roken可以算是开源引擎里面最棒的,但是因为没有作者的更新,且引擎还存在一些小BUG没有解决。所以现在使用roken的也越来越少了。不建议
LGGame,没用过,也没了解过