毕业论文基于Android的吃豆人游戏设计与开发DOC.docx
- 文档编号:7059962
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:19
- 大小:168.20KB
毕业论文基于Android的吃豆人游戏设计与开发DOC.docx
《毕业论文基于Android的吃豆人游戏设计与开发DOC.docx》由会员分享,可在线阅读,更多相关《毕业论文基于Android的吃豆人游戏设计与开发DOC.docx(19页珍藏版)》请在冰豆网上搜索。
毕业论文基于Android的吃豆人游戏设计与开发DOC
毕业设计(论文)开题报告
(含文献综述、外文翻译)
题目基于Android手机平台的吃豆人游戏设计与开发
毕业设计(论文)
开题报告
(包括选题的意义、可行性分析、研究的内容、研究方法、
拟解决的关键问题、预期结果、研究进度计划等)
1.选题的背景和意义
1.1选题的背景
目前随着移动设备越来越普及以及移动设备的硬件的提升,移动设备的功能越来越完善,他的系统平台也日渐火热起来。
目前国内最常见的移动系统平台有Symbian,iPhone,WindowsPhone以及当下正在逐步兴起的Android。
目前为止国内已经有很多Android系统的用户。
截止2010年第二季度Android系统的国内市场占有率已经过10%,在西欧以及北美智能手机市场占有率也在20%左右。
可见Android系统正在崛起之中。
但是对于Android系统的应用和开发在国内仍然属于起步和探索阶段。
急需要大量的相关技术和人员的投入。
下面首先介绍一下Android系统。
Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由(OpenHandsetAlliance)开发。
它采用了软件堆层(Softwarestack,又名以软件叠层)的架构,主要分为三部分。
低层以Linux核心工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程式的一部分[1]。
手机游戏作为Android系统平台的一个重要组成部分,正在被越来越多的人所重视。
全球在使用的移动电话已经超过10亿部,而且这个数字每天都在不断增加。
在除美国之外的各个发达国家,手机用户都比计算机用户多。
手机游戏潜在的市场比其他任何平台,比如PlayStation和GameBoy都要大。
在学院和老师的支持和帮助下,我所在的手机开放实验室在2009年底就开始对Android系统进行深入细致的研究。
在国内Android相关领域属于较早研究的一批,经过老师和同学一年多的努力,在这个方面也积累了一定的知识和技能。
所以希望通过这篇论文的研究,展示我这一年多来学习与实践的成果,给本科四年的学习交上一份圆满的答卷。
1.2国内外研究现状
1.2.1国内外手机系统现状
目前国外各软硬件厂商已经推出过多款手机操作系统。
下面简单介绍一下现主流手机操作系统。
现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的Symbian操作系统。
Symbian是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。
现在流行的Symbian系统有以下四个版本,分别为S40、S60(第二版)、S60(第三版)、S60(第五版)。
S60(第五版)为触摸屏手机版本[2]。
iOS是由苹果公司为iPhone开发的操作系统。
它主要是给iPhone、iPodtouch以及iPad使用。
就像其基于的MacOSX操作系统一样,它也是以Darwin为基础的。
iOS的系统架构分为四个层次:
核心操作系统层(theCoreOSlayer),核心服务层(theCoreServiceslayer),媒体层(theMedialayer),可轻触层(theCocoaTouchlayer)。
系统操作占用大概240MB的存储器空间[3]。
相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。
目前国内还没有自主研发并商品化的手机操作系统。
当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。
同时也取得了一定成果。
在2009年8月,由中国移动所主导开发OPhone平台面世。
OPhone平台采用开源的Linux作为系统内核,借鉴并兼容Android平台,集成灵活高效的Java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案[4]。
1.2.2国内外手机应用现状
随着3G在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。
但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为EDGE(即增强型数据速率GSM演进技术。
EDGE是一种从GSM到3G的过渡技术)[5]这种传输速度仅能达到384KB/秒的2.75G过渡技术而欣喜的时候,国外早已开始试行HSDPA(高速下行分组接入,是一种移动通信协议,亦称为3.5G)这种3.5G技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。
但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。
目前手机应用中数量最大,使用人数最多的应用类型是手机游戏。
该类应用作为传统手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。
各类传统PC游戏厂商也已进入手机领域。
根据iResearch艾瑞市场咨询整理的国外数据显示,全球手机游戏市场的收入规模在2005年达到了102亿美元,2008年达到520亿美元[6]。
07年之后,手机游戏市场增速开始减缓,传统手机游戏逐渐显现颓势,市场增长主要由基于智能手机平台的游戏所带动。
所以Android游戏进入智能手机游戏市场,必将打破原有格局,开辟手机游戏新纪元。
其他方面较为热门的有基于地理位置的信息服务(LocationBasedServiceLBS)它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(GeographicInformationSystem,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。
例如手机定位,导航服务[7]。
近年来十分热门的网络社交服务(SocialNetworkingServices)也已进入到手机客户端领域。
例如国内有名的社交网站人人网已经针对Iphone,android,塞班等手机平台推出了手机客户端。
国外最大的社交Fackbook也已经传出正在进行针对手机的产品的研发。
Twiter,Myspace等国外知名社交类网站都已经推出手机版。
口碑网在今年也已经推出针对多个手机平台的客户端程序。
MSN,QQ等即时通信类的应用也已经在各个主流手机平台推出。
手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在android平台上的QuickOffice就是这样的软件。
在GoogleMarket(一个谷歌针对android系统用户所开发的应用商场)上已经有过万的企业应用办公套件。
1.3发展趋势
根据对谷歌电子市场中的Android应用程序的调查发现,该市场中绝大部分是游戏软件。
Android平台的开放性及服务免费大大降低了应用开发的门槛,使得开发者在游戏开发中投入成本相对较少。
而随着技术的发展手机终端的特性使其具备了地理位置、重力感应、触摸控制等固定终端所不具备的特性,更容易开发出极具创意的游戏产品。
Android设备数量的持续增长使得这个市场对优质游戏的需求越来越大。
Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要针对目标用户量身定制。
这是因为游戏玩家的核心需求是统一的,那就是:
娱乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。
因此,绝大多数种类的游戏都具备传染性与普适性,每一个售出的游戏都像一个火种,将会点燃周围潜在玩家的激情,激情的火焰迅速蔓延,最终吞噬整个需求市场,当然前提是开发的游戏是高质量的。
此外,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户不过是冰山一角,另根据IDC机构预计在2013年Android手机用户将达到6800万,所以Android手机游戏的需求也将不断扩充。
在Android系统面世短短两年时间内,Android以势如破竹之势,迅速的蚕食着其他手机厂商在市场中的份额,而终端市场几乎每隔一天就会有新的Android机型问世。
另据国外媒体报道,Android应用软件数量已经突破13万大关。
业内由此预期,Android平台可能会在未来几个月内将跻身手机操作系统前三甲,并获得亚军的地位。
虽然Android系统前景广阔,但是基于该平台的手机游戏开发也面临着各种问题。
平台硬件差异,代码分裂,用户没有良好的付费习惯等等缺点一直被Android游戏开发者诟病,但是Android快速的发展却使开发者又无法放弃这块大蛋糕,所以其他手机平台的开发者也慢慢转向Android游戏开发。
综上所述,在今后几年内Android游戏应用将会成为手机应用市场的主流应用,并且需要大量人力物力的投入。
2.研究的基本内容
根据近一年来学习Android平台游戏动画的经验,结合现在已有技术,基于游戏动画设计的基本原理。
设计一个基于Android平台的吃豆人的游戏应用。
设计制作吃豆人游戏的目的在于主要实现一套Android游戏开发的解决方案,解决目前在Android游戏开发中所面临的几大问题。
主要有游戏的关卡切换,游戏地图数据结构的实现、应用多种手机内置传感器进行游戏控制、游戏动画的实现、基于图形的碰撞检测、数据在手机系统和网络上存储及人工智能的实现。
解决这些在Android游戏开发中所共同面临的问题,对于Android游戏的开发效率与Android游戏的质量有着极大的帮助作用。
2.1基本框架
首先基于Android平台特性,把本应用主要划分为五大模块分别为:
程序控制界面、数据持久化模块,网络数据传输模块,游戏逻辑模块,游戏音效模块。
程序体系结构如下图所示:
图1.1程序体系结构图
本程序主要通过程序控制界面和用户进行交互,用户通过该界面上的相应选项进行游戏,控制怪物进行游戏,提交游戏积分,存储游戏积分,播放游戏音乐等各项功能。
程序控制界面同时也负责各模块间的数据传输。
游戏逻辑模块主要功能是负责游戏画面的绘制,游戏中敌对怪物人工智能的实现,以及用户输入的控制的响应(如键盘,导航键和屏幕输入)。
本模块主要解决游戏引擎的实现、应用多种手机内置传感器进行游戏控制和游戏的人工智能的问题,实现该模块能使用户得到更好的动画体验和游戏操控体验,明显提升游戏的用户好感动和实用性。
下图是游戏逻辑块的体系结构,游戏逻辑模块主要分为人工智能、游戏绘图引擎和人机交互控制。
图1.2吃豆人程序游戏逻辑模块结构图
数据持久化模块主要负责游戏中所产生的内存数据,转化成可存储的XML数据。
该模块包含XML数据结构定义、XML生成和XML数据解析。
本模块的主要解决Android系统中数据存储的问题。
具体结构如下图所示:
图1.3吃豆人程序体数据持久化图
网络数据传输模块主要功能为提交用户游戏评分至网络服务器中。
该模块主要用来实现网络积分榜功能。
让原本单机的游戏具有网络竞赛的功能。
提升游戏的可玩性,吸引更多用户使用游戏。
游戏音效模块提供游戏音乐的播放和关闭的功能,其向主控制界面暴露开启和关闭音乐的接口。
2.2研究的重点和难点
根据本人在Android游戏编程上所遇到的问题,现将研究吃豆人游戏应用中所遇到的问题总结如下:
(1)基于Android游戏动画的实现。
所有计算机游戏的图形的核心都是动画,在J2ME手机游戏中,MDIP2.0以上版本提供了一个有助于游戏制作的开发包,该开发包核心为Sprite,使用该类能够简单管理动画角色的图像[9]。
基于此我将深入研究J2ME中Sprite类在Android平台上移植和使用的可能性。
提高Android游戏中动画展示的效果和效率,解决Android系统中动画实现的问题。
(2)游戏地图的数据结构的表示。
解决此问题主要解决在Android平台中如何高效的对复杂的游戏地图进行存储和解析,合理有效的数据结构对提高游戏整体的效率极大地帮助。
(3)游戏动画中的碰撞检测问题。
在游戏中,经常需要进行碰撞检测,例如在吃豆人游戏中如何检测到吃豆人吃到豆子、吃豆人是否被怪物吃掉,都是检测两个物体是否发生碰撞,然后根据检测的结果做出不同的处理。
进行碰撞检测的物体可能不同的形状,这就给碰撞检测的算法带来了许多的问题。
如何高效正确的进行图像的碰撞检测将是我吃豆人游戏中解决的重点问题。
(4)游戏人工智能算法的实现。
在游戏软件中,游戏的人工智能的高低直接决定了游戏互动性和可玩性。
而寻路问题又是人们研究的热点问题之一。
在吃豆人游戏中,需要设计怪物主动跟踪玩家的人工智能算法,并且可以通过参数对怪物的“聪明度”进行调节。
(5)人机交互界面的友好性。
优美的图像界面将会给使用者带来舒适和美感,在吃豆人游戏中,设计出时尚美观的界面和游戏图片,给使用者留下良好的印象,提高游戏的品质。
2.3拟解决的关键问题
关于Android游戏动画的解决方案,我准备实现一个相对高效并且简单易用的游戏引擎,或者从其他手机平台移植相对较为成熟的游戏动画引擎。
解决此问题可以为吃豆人游戏以及其他类似的动画游戏提供流畅的动画效果,实现游戏引擎同时也可以提高游戏动画的代码复用率,提高游戏编程的效率。
深入理解Android系统的Dalvik虚拟机工作机制。
由于Android平台使用Java语言进行开发,谷歌的工程师改写了JavaME的虚拟机。
众所周知虚拟机的垃圾回收会造成系统资源的消耗,影响游戏动画的流畅性。
解决虚拟机垃圾回收时所造成的占用系统资源较大的问题,可以提高游戏的流畅性,提升用户的游戏体验。
解决游戏人工智能的解决方案,吃豆人游戏中,地图寻路问题并非如此简单,必须考虑多方面的因素,比如游戏地图的文件结构、是否可通以及目标点所在的砖块是否可通等。
解决吃豆人游戏中的地图寻径问题。
并查找A*,启发式搜索算法[10],遗传算法等算法在本应用中实现的可能性。
触屏以及重力感应器等操控方式的处理问题。
在Android平台中相对传统的手机系统,Android系统提供多种传感器的调用接口。
探索使用手机导航球,重力感应,触屏操作等新型操控模式提高用户操作体验。
3.研究的方法及措施
利用网络查阅国内外相关资料,利用数据库资源浏览大量的期刊与文献,进行分析与研究。
深入国内外android系统开发者社区,与一线开发者进行交流,获取更多信息与技术。
应用拟采用Java实现,模块化结构,独立开发各个功能模块,尽量降低各模块之间的耦合,在各个功能模块实现的基础上构建灵活方便的UI界面。
4.预期研究成果
在新的GoogleAndroid智能手机平台上实现吃豆人游戏,游戏分为十个关卡,每个关卡经过仔细的设计,按照难度依次递进。
游戏的主要功能包括:
每关有3个怪物,吃豆人在设计的关卡地图中吃光所有的豆子和其他特殊作用的物品为过关。
吃豆人在运动过程中如果和怪物相遇那么吃豆人死亡;游戏提供多种道具,包括加分道具,怪物减速道具,生命道具,吃豆人吃到每个不同道具时根据道具的预定义行为进行处理;吃豆人控制方式包括使用触屏控制,软键盘以及重力感应器;支持背景音乐,暂停等操作;支持全球排行榜;通关后地图重新开始,不过每关的怪物增加为4个。
完成毕业论文和毕业设计以及毕业答辩。
开发游戏能发布到国内外公共Android应用平台上,例如移动的MM市场和谷歌的电子市场。
为本应用申请软件著作权。
5.研究工作进度计划
2010年第7学期
第6-9周查阅文献
第10-12周文献综述和外文翻译
第12-15周撰写开题报告
第16-17周程序设计与开发
2011年第8学期
第1-9周程序设计与开发
第10-12周撰写毕业论文
第13-14周论文的答辩与修改
毕业设计(论文)
文献综述
(包括国内外现状、研究方向、进展情况、存在问题、参考依据等)
Android手机游戏开发研究现状
1.国内外研究现状
今天的手机不在是单纯的通讯工具,已经成为了集通讯、PIM、音乐、电影、游戏娱乐等为一体的个人便携终端。
手机在通讯功能以外的综合附加值越高,加之便携的特性,使得人们对手机的依赖性越强[12]。
游戏作为日常休闲的娱乐活动,历经了电视游戏、电脑单机游戏、电脑网络游戏这几个阶段。
现在,游戏作为一个产业,可以看出游戏市场有着非常庞大的需求。
手机游戏的出现,给手机和游戏市场带来了新的活力,由于娱乐时不受时间和地点的限制,手机游戏已经成为大众娱乐的又一新选择。
随着科技的发展,现在手机的功能也越来越多,越来越强大。
而手机游戏也远远不是我们印象中的什么“俄罗斯方块”“贪吃蛇”之类画面简陋,规则简单的游戏,进而发展到了可以和掌上游戏机媲美,具有很强的娱乐性和交互性的复杂形态了。
近期在iPhone和Android平台上火爆的游戏愤怒的小鸟游戏,采用优美的动画,先进的物理游戏引擎以及独特的创意,成为了本年度最受用户喜欢的手机游戏之一[13]。
其制作公司仅在Android平台的广告收入就达100万美元每月。
可见手机游戏已经从单一内容到多元内容,从简单画面和音乐进入到了复杂的多媒体效果之中。
为了实现手机游戏丰富的动画效果和良好的用户体验,一些原本在PC上的游戏动画引擎也被移植到了手机这个平台上,例如Androids上的OpenGLES游戏动画库(OpenGLforEmbeddedSystems是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计[14])、BOX2D物理游戏引擎(该引擎主要用来模拟物理碰撞和物理运动)。
在手机游戏动画效果提升的同时,新硬件功能(比如重力感应、多点触控)的加入,也促使了一些创新的手机游戏的推出。
如重力滚动球的游戏就是根据手机重力感应功能编写而成。
IPhone上的街头霸王、刺客信条等游戏就使用到了多点触控这一功能。
综上所述现阶段手机游戏的开发也进入了一个新的阶段,在这个阶段的开发中手机游戏不仅需要丰富的编程经验,还需要对新型手机特点,用户需求新的娱乐需求的进一步发掘,从而开发出符合用户使用习惯,吸引用户的游戏。
2.研究方向
2.1Android系统架构研究
Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。
Android是一组面向移动设备的软件包(目前不仅限于移动手机领域,Android也已经进入其他嵌入式领域,如汽车中控台,MP3/MP4等),包含了一个操作系统,中间件和关键应用程序。
AndroidSDK 的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言在Android平台上开发应用程序了[15]。
Android系统架构基本分为应用(Applications),应用框架(ApplicationFrameworks),库函数(Libraries),运行时环境(AndroidRuntime),Linux内核(LinuxKernel)。
下方图表显示了Android操作系统的主要组件[15]。
图2.1Android系统架构图
1.应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用JAVA语言编写的。
2.应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
同样,该应用程序重用机制也使用户可以方便的替换程序组件。
3.系统运行库
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
4.Android运行时
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。
Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的“dx”工具转化成“.dex”格式由虚拟机执行。
Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
5.Linux内核
Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件栈之间的抽象层。
2.2Android游戏开发研究
Android系统开发采用JAVA语言,使用GoogleAndroidSDK和EclipseIED进行应用程序的开发。
在AndroidSDK附带AndroidEmulator,是一个运行在PC端的手机模拟器,在开发中可以使用这个模拟器来运行自己编写的应用程序。
2.2.1Android游戏引擎研究
简单地说,游戏引擎就是“用于控制所有游戏功能的主程序”,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及声音的输出等等功能都是游戏引擎需要负责的事情。
它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们有序地工作[16]。
经过不断的进化,如今的手机游戏引擎已经发展为由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件。
Android平台经过2年的发展,通过移植其他平台优秀的游戏引擎也出现了多款游戏引擎。
例如由国人开发的LGame(基于GraphicsAPI)游戏引擎,Rokon游戏引擎(基于OpenGLES),WiEngine游戏引擎等等。
但是这些引擎总是存在这样或者那样的问题,例如缺少开发文档,引擎设计不完善。
特别是这些游戏引擎在处理复杂图形时效果始终不够理想。
虽然目前手机硬件平台相比以前有了较大的发展和进步,但是对于一些复杂游戏图形的处理仍然显得有些“不给力”。
为了提高游戏引擎处理复杂图形的效率一些游戏引擎也提出了一些新的解决方案。
例如WiEngine2.0版本中就采用JavaJNI调用C++Native代码进行编写,这一方法提高了处理复杂游戏动画的效率。
采用C++编写虽然提高了代码执行的效率,但是增加了代码编写的时间,同时也给程序调错和移植带来了巨大的问题。
2.2.2Android游戏人工智能算法的研究
游戏中的人工智能(ArtificialIntelligence,简称AI),是指用来控制游戏中各种活动对象行为的逻辑。
大部分游戏,特别是角色扮演类游戏都需要人工智能,在游戏中玩家是主要人物,而游戏中的其他人物由人工智能操纵。
游戏开发领域中的人工智能设计越来越被游戏开发者和玩家重视,因为它能给玩家提供更大的挑战性,从而增加游戏的可玩性,一款游戏的生命力正在于游戏的可玩性。
在吃豆人应用中路径搜索是游戏AI的需要解决最基本的问题之一。
在当今游戏工业界,A*算法是被大家最广泛使用的人工智能寻路算法,也是最有效的最短路径搜索算法之一。
A*算法实际上是一种基于广度优先搜索的启发式搜索算法,通常采用估价函数对当前的搜索位置进行评估。
标准的A*算法根据Closed表对路径进行逆向提取,当存在死
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于Android的吃豆人游戏设计与开发DOC 基于 Android 吃豆人 游戏 设计 开发 DOC