Android手机游戏开发研究现状文献综述.doc
文本预览下载声明
毕业设计(论文)
文 献 综 述
(包括国内外现状、研究方向、进展情况、存在问题、参考依据等)
Android手机游戏开发研究现状
1. 国内外研究现状
今天的手机不在是单纯的通讯工具,已经成为了集通讯、PIM、音乐、电影、游戏娱乐等为一体的个人便携终端。手机在通讯功能以外的综合附加值越高,加之便携的特性,使得人们对手机的依赖性越强[12]。
游戏作为日常休闲的娱乐活动,历经了电视游戏、电脑单机游戏、电脑网络游戏这几个阶段。现在,游戏作为一个产业,可以看出游戏市场有着非常庞大的需求。手机游戏的出现,给游戏市场带来了新的活力,由于娱乐时不受时间和地点的限制,手机游戏
近期在iPhone和Android平台上火爆的游戏愤怒的小鸟OpenGL ES 游戏动画库(OpenGL for Embedded Systems 是OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计研究Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。Android是一组面向移动设备的软件包,包含了一个操作系统,中间件和关键应用程序。Android SDK?的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言在Android平台上开发应用程序了
Android系统架构基本分为应用(Applications),应用框架(Application Frameworks),库函数(Libraries),运行时环境(Android Runtime),Linux 内核(Linux Kernel)。下方图表显示了Android操作系统的主要组件。
图2.1 Android系统架构图
1.应用程序
2.应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
3.系统运行库
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的dx” 工具转化成.dex”格式由虚拟机执行。
Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
.Linux 内核
Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。
Graphics API)游戏引擎,Rokon游戏引擎(基于OpenGL ESWiEngine游戏引擎等等。
但是这些引擎总是存在这样或者那样的问题,例如缺少开发文档,引擎设计不完善。特别是这些游戏引擎在处理复杂图形时效果始终不够理想WiEngine2.0版本中就采用Java JNI 调用C++ Native代码进行编写,这一方法提高了处理复杂游戏动画的效率。采用C++编写虽然提高了代码执行的效率,但是增加了代码编写的时间,同时也给程序调错和移植带来了巨大的问题。
2.2.2 Android游戏人工智能算法的研究
游戏中的人工智能(Artificial Intelligence,简称AI),是指用来控制游戏中各种活动对象行为的逻辑。大部分游戏,特别是角色扮演类游戏都需要人工智能,在游戏中玩家是主要人物,而游戏中的其他人物由人工智能操纵。游戏开发领域中的人工智能设计越来越被游戏开发者和玩家重视,因为它能给玩家提供更大的挑战性,从而增加游戏的可玩性,一款游戏的生命力正在于游戏的可玩性。
在吃豆人应用中路径搜索是游戏的最基本的问题之一。在当今游戏工业界,A*算法是被大家最广泛使用的人工智能寻路算法,也是最有效的最短路径搜索算法之一。A*算法实际上是一种基于广度优先搜索的启发式搜索算法,通常采用估价函数对当前的搜索位置进行评估。标准的A*算法根据Closed表对路径进行逆向提取,当存在死路的时,它会把走向死路的点也包含进去,造成走弯路的现象,从而能得到解。在游戏中,经常需要进行碰撞检测,例如,都
显示全部