当前位置: 首页 > news >正文

Android平台游戏开发引擎使用指引

引擎推荐排名
2D cocos2d-x>AndEngine>cocos2d-android
3D unity3d(大型的3D游戏只推荐脚本类引擎)

3D引擎比较推荐unity3D,优点是成熟的开发引擎,有自己独立的开发客户端,采用脚本式开发而非编码式开发,并且unity经过这几年的发展,已经可以和Unreal、Cry这种国际顶级引擎效果相媲美,跨平台,wp7、ios、pc、mac、xbox360等终端都可以使用,语言较C类语言更容易学习,更贴近java(JS、c#).缺点是中文的教程比较少,网上有一些视频教程,比如教你10个小时就可以做出愤怒的小鸟的视频,都是收费的。并且unity3d的售价不菲,我记得好像是1200刀。虽然在学习的过程中可以使用破解版的unity3d,但是破解版发布游戏存在障碍!

Cocos2d
版本cocos2d-iphone\cocos2d-x\cocos2d-android \cocos2d-javascript\luaCocos2d
优点:采用开源协议BSD,网站提供大量的测试例子,编程指南、教学视频等。也是当前最流行的一种开发引擎。
cocos2d-android:它是cocos2d的java实现,并能够在android上运行,使用BSD协议发布。
cocos2d-android-1:由国内自身开发者建立发展的,他认为android发展太慢,所以创建了一个新的android 实现,以实现最新的cocos2d-iphone的版本。使用bsd协议发布,该分支目前有俄罗斯人维护。

其他可参考引擎:
1、Angle
最低运行环境要求不详。
Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程。

项目地址:http://code.google.com/p/angle/

2、AndEngine
语言:java
最低运行环境:不详

AndEngine同样是一款基于OpenGL ES技术的Android游戏引擎,物理引擎同样为Box2D(标配|||)。该框架性能普通,文档缺乏,但示例较为丰富。

下载地址(未直接提供jar下载,源码可通过svn提取):http://code.google.com/p/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++端,使得运行效率提高。如果游戏中使用物理引擎,则优先考虑使用该引擎。
缺点:没有官网文档,网上文档教程少,学习难度大。但是网上可收集到较多源码。
项目地址:http://code.google.com/p/rokon/

3、Rokon
语言:java
最低运行环境要求为Android 1.5。
简介:Rokon 是一款Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,该项目最新版本为 2.0.3 (09/07/10)。
优点:(1)开发文档相当之完备,并且项目作者对反馈Bug的修正非常之神速,所以该框架的使用在目前也最为广泛,有人干脆将它称为Cocos2d-iPhone引擎的Android版(业务逻辑和编码风格上也确实很像)。附带一提,国内某个需要注册会员才能下 载的Android游戏框架衍生于此框架,所以大家也不要刻板的认为收费便一定是好的,免费就一定不好。

项目地址:http://code.google.com/p/rokon/

4、LGame
语言:java
最低运行环境要求为Android 1.1。

LGame是一款国人开发的Java游戏引擎,有Android及PC(J2SE)两个开发版本,目前最高版本同为0.2.6(31/07/10)。其底 层绘图器LGrpaphics封装有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封装,Android版采用Canvas模拟实现),所以能够将J2SE或J2ME开发经验直接套用其中,两版本 间主要代码能够相互移植。Android版内置有Admob接口,可以不必配置XML直接硬编码Admob广告信息。
LGame引擎除了基本的音效、图形、物理、精灵等常用组件以外,也内置有Ioc、xml、http等常用Java组件的封装,代价是jar体积较为庞大,PC版 已突破1.2MB,Android版有所简化也在500KB左右。此外,该引擎还内置有按照1:1实现的J2ME精灵类及相关组件,可以将绝大多数 J2ME游戏平移到Android或PC版中。唯一遗憾的是,该项目作者是个极其懒惰的家伙,开发文档从去年说到今年依旧没有提供,只有游戏示例可供下载。
简介:是一款国人开发的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。
项目地址:http://code.google.com/p/loon-simple/

5、libgdx

libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D游戏开发,物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的 Android游戏引擎,但缺陷在于精灵类等相关组件在使用上不够简化,而且文档也较为匮乏。

最低运行环境要求不详。

项目地址:http://code.google.com/p/libgdx/

6、jPCT

jPCT是一款基于OpenGL技术开发的3D图形引擎(PC环境为标准OpenGL,Android为OpenGL ES), 以Java语言为基础的,拥有功能强大的Java 3D解决方案。该引擎与LGame(此为2D游戏引擎)相类似,目前拥有PC(J2SE)以及Android两个开发版本。

jPCT的最大优势之一,就在于它惊人的向下兼容性。在PC环境中,jPCT甚至可以运行在JVM1.1环境之中,因为jPCT内部提供的图形渲染接口完 全符合所有的Java 1.1规范(就连已经消失的Microsoft VM乃至更古老的Netscape 4 VM也不例外)。

最低运行环境要求为Android 1.5。

项目地址:http://www.jpct.net/jpct-ae/

7、Alien3d

Alien3d是一款体积非常之小的Android 3D游戏引擎,基于OpenGL ES技术开发。为了压缩体积,它根据不同功能采用多jar方式发布(包括alien3d-engine.jar,alien3d- tiled.jar,alien3d-sprites.jar,alien3d-shapes.jar,alien3d- particles2d.jar,),事实上它的核心文件大约只有40KB,所有相关jar的总和也不足150KB。

最低运行环境要求为Android 1.5。

项目地址:http://code.google.com/p/alien3d/

8、Catcake

Catcake是一款跨平台的Java 3D图形引擎,目前支持PC(J2SE)及Android环境运行(已有iPhone版规划)。该引擎在易用性和运行性能上皆有出色的表现,支持常见的游戏开发功能,诸如精灵动画,音频处理和视频播放等。

最低运行环境要求为Android 1.6。

项目地址:http://code.google.com/p/catcake/

转载于:https://blog.51cto.com/285808/2071834

相关文章:

  • android获得ImageView图片的等级
  • 自动作文评分
  • 运维生产环境常用脚本
  • 数据结构与算法 - 字符串
  • c语言——‘\0’ ,‘0’, “0” ,0之间的区别
  • Emgucv使用记录-------切忌点一
  • jQuery 效果 - animate() 方法
  • SFB 项目经验-22-如何查看存储的管理IP地址
  • 使用文件映射和信号量来进程间通信
  • python 类定义 继承
  • ubuntu Server 设置主机静态 ip地址
  • jq实现jsonp
  • Java GC -- G1
  • 决策树-过程
  • PHP框架中最喜欢的WindFramework
  • 【Amaple教程】5. 插件
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 0基础学习移动端适配
  • Bytom交易说明(账户管理模式)
  • CAP 一致性协议及应用解析
  • crontab执行失败的多种原因
  • DOM的那些事
  • flutter的key在widget list的作用以及必要性
  • mysql常用命令汇总
  • Redis 懒删除(lazy free)简史
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • ViewService——一种保证客户端与服务端同步的方法
  • vue自定义指令实现v-tap插件
  • 测试开发系类之接口自动化测试
  • 从零搭建Koa2 Server
  • 回流、重绘及其优化
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端自动化解决方案
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 思考 CSS 架构
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 新书推荐|Windows黑客编程技术详解
  • 一个项目push到多个远程Git仓库
  • 7行Python代码的人脸识别
  • Nginx实现动静分离
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​io --- 处理流的核心工具​
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $L^p$ 调和函数恒为零
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (C++17) optional的使用
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三分钟)速览传统边缘检测算子
  • (一)Linux+Windows下安装ffmpeg
  • (一)基于IDEA的JAVA基础1
  • (转)scrum常见工具列表