• / 44
  • 下载费用:5 金币  

【终稿】毕业设计_软件学院_刘志鹏_基于Cocos2d-x的iOS游戏坦克大战的设计与实现.docx

关 键 词:
终稿 毕业设计 软件 学院 刘志鹏 基于 COCOS2DX IOS 游戏 坦克 大战 设计 实现
资源描述:
本 科 生 毕 业 论 文题 目: 基于 Cocos2d-x 的 iOS 游戏坦克大战的设计与实现 院 系: 软件学院 专 业: 软件工程(计算机应用方向) 学生姓名: 刘志鹏 学 号: 10389021 指导教师: 路永和(副教授) 二〇一四 年 四 月- ii -摘 要坦克大战一款基于 Cocos2d-x 跨平台引擎开发的 iOS 平面射击游戏。本论文根据现今智能手机游戏市场发展现状,同时对主流的手机游戏引擎进行分析和总结,结合项目取材和项目目的,提出了相应的项目开发方案。项目的主要内容是使用 Cocos2d-x 跨平台手机游戏开发引擎,在 Mac OS 下使用 Xcode 开发经典平面射击游戏坦克大战的 iOS 版本。项目完成过程中,完成对手机游戏设计开发测试流程,同时掌握 Mac OS 下 Xcode 等开发工具的使用,了解熟悉 Cocos2d-x 引擎的框架、组件实现原理和使用方法。 项目采用 Cocos2d-x 的游戏框架,结合坦克大战游戏特征,设计了合理地游戏系统架构:底层使用 Cocos2d-x 引擎及其它相关底层库,在上层将核心功能分模块实现,项目的主要模块包括界面逻辑管理模块、用户控制模块、数据更新及传递模块、地图制作和读取模块、实时碰撞检测模块、NPC 人工智能模块、数据和图片加密压缩模块和特效音效模块。项目开发过程中参考学习了相关的文献和项目设计,对游戏中的核心模块不断迭代和优化,其中用户控制模块主要设计了虚拟摇杆提高了玩家的操控体验;实时碰撞检测模块中主要运用了基于均匀空间划分的碰撞检测,提高了碰撞检测效率;NPC 人工智能模块则主要是运用了模糊状态机和 A*寻路算法和 Bresenham 算法结合实现,对于游戏难度有较好的把控;扩展模块部分中的数据部分用了 Base64 进行加密和解密处理,图片则使用 Mac OS 下图片处理工具 TexturePacker 进行打包处理,降低了图片的内存空间占用,同时对图片资源进行了较好的管理。本项目开发的 iOS 版坦克大战,操作简单,游戏逻辑清晰,可玩性高,符合手机游戏的取材要求,将经典的射击游戏配合手机触摸操作和动作、音乐特效,结合社交和抽奖体统,并通过 AI 算法的优化,可以带来更好的用户体验和更高的可玩性,同时,本项目基本覆盖了手机游戏的主要元素:基本游戏架构和模块组织、触摸事件处理、地图及寻路系统、实时碰撞检测算法等,同时也基本覆盖了游戏引擎提供的子系统,因此本项目对于手游开发流程、关键技术和 Cocos2d-x 的使用方法有较系统的总结作用,具有一定意义。关键词:iOS 手机游戏; Cocos2d-x;虚拟摇杆;碰撞检测;人工智能- iii -AbstractBattle Tank is a mobile game based on the cross-platform game engine:Cocos2d-x.After a brief analysis about the current mobile game market and the most popular mobile game engine,this paper proposed a proper development method according to the subject selected. An Open source game engine Cocos2d-x was used with Xcode under Mac OS to develop this project on iOS. During the completion of the project, including the designing process,the developing process and the testing process. This project brought a good practice of development tools like Xcode under Mac OS, and a better understanding about Cocos2d-xs framework and principles.Based on the game framework of Cocos2d-x and the characters of Battle Tank, a proper develop framework suiting for this project was developed. In the bottom of the game develop framework, Cocos2d-x engine and other underlying library were used. On the top levels, there are several modules combined to achieve system functions. The core modules include the interface management module, user control module, data module, map module, real-time collision detection module, NPC artificial intelligence module, data compression and image encryption modules and audio module. During the development of the project, some relevant literature study and project design were referenced. And some important modules were improved, such as the real-time collision detection module, the NPC artificial intelligence module, the data compression and image encryption modules. The space subdivision algorithm was used to achieve the collision detection, improving the detecting efficiency; Finite State Machine and an A* algorithm(combined with Bresenham algorithm) were used in the NPC artificial intelligence module,achieving a good control of the game difficulty. Base64 encryption and decryption method was used to decrease the use of memory space of expansion module and the image processing tools Texture Packer help package image and reduce the memory footprint of the image, while getting the image for better resource management.This project is simple, clear logic game, with high playability and matches the requirements of mobile games. This classic shooting game with gorgeous mobile phone touch operation and movement, music effects, combined with social system and optimized AI algorithm, can bring a better user experience and greater playability, while the project covers the main elements of a basic mobile game development: the basic game structure and modular organization, touch event handling process, map and way-finding systems, real-time collision detection algorithm. And it covers the main and basic game engine subsystems as well. Therefore, this project is significant to a better understanding of the project development process for mobile games, key technology of Cocos2d-x.- iv -Keywords: iOS; Cocos2d-x; virtual joystick; collision detection; Artificial Intelligence目 录第一章 前言 ...................................................................................................................................................61.1 项目背景及意义 ..............................................................................................................61.2 研究开发现状分析 .........................................................................................................61.2.1 智能手机发展及其操作系统市场现状 ...............................................................61.2.2 手机游戏行业市场分析 .......................................................................................81.2.3 主流手机游戏引擎 .............................................................................................91.3 项目目标及范围 ............................................................................................................101.4 论文主要内容及结构 ....................................................................................................10第二章 技术与原理 .....................................................................................................................................112.1 COCOS2D-X 引擎 ...............................................................................................................112.1.1 游戏引擎框架 .....................................................................................................112.1.2 游戏引擎特性 .....................................................................................................132.2 游戏使用的主要设计模式 ...........................................................................................142.2.1 MVC 设计模式 ....................................................................................................142.3 实时碰撞检测算法 .......................................................................................................152.4 NPC 的人工智能算法 ....................................................................................................172.5 本章小结 .......................................................................................................................18第三章 需求建模 .........................................................................................................................................193.1 项目需求分析 ...............................................................................................................193.1.1 项目基本功能需求 .............................................................................................193.1.2 项目非功能需求 .................................................................................................203.2 游戏关键场景分析 .......................................................................................................203.2.1 游戏玩家功能需求 .............................................................................................203.2.2 用户关键用例 .....................................................................................................223.3 本章小结 .......................................................................................................................22第四章 架构及模块设计 .............................................................................................................................234.1 系统的主体设计 ...........................................................................................................234.1.1 游戏的主要场景 .................................................................................................234.1.2 委托和委托设计模式 .........................................................................................244.1.3 游戏系统架构 .....................................................................................................24- v -4.2 系统功能模块设计 .......................................................................................................254.2.1 逻辑模块设计原理 .............................................................................................254.2.2 元素及动作管理 .................................................................................................254.2.3 其他重点模块 ......................................................................................................264.3 辅助性模块 ...................................................................................................................264.3.1 碰撞及音乐特效 .................................................................................................264.3.2 数据和图片的压缩和加密 .................................................................................274.4 本章小结 .......................................................................................................................27第五章 重点模块算法及实现 .....................................................................................................................285.1 摇杆模块: 触摸事件处理逻辑 ....................................................................................285.2 地图模块: 游戏地图制作及检测逻辑 ........................................................................295.3 碰撞检测: 用户及 NPC 坦克的碰撞逻辑 ...................................................................305.4 人工智能: NPC 的 A*寻路算法和 AI 设计 ................................................................315.5 本章小结 .......................................................................................................................33第六章 部署与应用 .....................................................................................................................................346.1 项目环境搭配及项目部署 ...........................................................................................346.2 真机单元测试 ...............................................................................................................346.3 部分运行界面 ...............................................................................................................35结论 ...................................................................................................................................................................36致谢 ...................................................................................................................................................................37参考文献 ...........................................................................................................................................................38- 6 -第一章 前言1.1 项目背景及意义随着智能手机的进一步普及、网络环境的升级以及越来越多精品游戏的出现,人们对智能手机游戏的兴趣将增强,手机游戏市场正在迅速增长。相较于传统游戏行业,伴随着互联网的迅速崛起和通讯技术的不断进步,手机游戏开始占据游戏市场的主流地位,手游市场不断被看好,越来越多的互联网公司也投入巨资研发手游,因为手机游戏需求和形式的多样性,且得益于众多实用开发工具,如 cocos2d-x,手机游戏开发的门槛在渐渐降低,因此越来越多的独立开发者也投入到了游戏研发阵营。基于此背景,本项目选择使用目前最流行的手机游戏开发引擎 Cocos2d-x,在Mac OS 下开发经典平面射击游戏坦克大战的 iOS 版本。本项目开发的 iOS 版坦克大战,将经典的射击游戏配合手机触摸操作和绚丽的动作、音乐特效,结合社交和抽奖体统,将带来更好的用户体验和更高的可玩性,同时,本项目基本覆盖了手机游戏的主要元素:基本游戏架构和模块组织、触摸事件处理、地图及寻路系统、实时碰撞检测算法等,同时也基本覆盖了游戏引擎提供的子系统,因此本项目对于手游开发流程、关键技术和 Cocos2d-x 的使用方法有较系统的总结作用,具有一定意义。1.2 研究开发现状分析1.2.1 智能手机发展及其操作系统市场现状自 1876 年亚历山大·贝尔获得第一个针对电话的专利,并以此创立贝尔电话公司(AT&T 公司前身) ,历经一个多世纪的发展,通讯服务走进了千家万户,成为国家经济建设,社会生活的重要组成部分,电话和手机成为了人民信息交流,工作娱乐不可或缺的工具。1973 年马丁·库帕(Martin Cooper)发明了世界上第一部手机,开启了移动通讯时代,使得人们更便捷的通讯需求得到满足的可能。1993 年,世界上第一部智能手机 IBM Simon 诞生,智能手机( smartphone/smart phone) ,指具有独立的移动操作系统,可通过安装应用软件、游戏等程序来扩充手机功能,运算能力及功能均优于传统功能手机的一类手机 1。 2013 年全球手机市场销量增长放缓,但智能手机销量仍然飙高,保持快速增长势头。值得关注的是,据全球市场研究公司 Gartner 数据显1 来源于维基百科的智能手机定义- 7 -示,2013 年第二季度全球智能手机销量首次超越了功能手机。另外,根据市场研究公司 IDC 预计,2014 全球智能手机出货量增长将显著放缓,增长速度与去年的 38%相比将大幅至 19%,但总出货量或超过 12 亿。由此可见,智能手机将逐步吞食功能机市场,并促进移动互联网及移动多媒体的发展。智能机上搭载的操作系统作为兼容不同硬件差异、为众多应用提供统一开发接口的系统软件,具有承上启下的关键作用。2001 年,诺基亚公司推出智能机操作系统 Symbian,随后一直占据智能机市场第一位置,直至 2007 年,苹果公司里程碑产品 iPhone 的推出,彻底颠覆了传统的智能手机,触摸控制及强大的系统极大地提升了用户体验,同时揭开了移动多媒体的序幕,智能手机的价值开始真正得到接受。紧随其后,谷歌开源操作系统 android 的产生,以及得益于其移动开放联盟(Open Handset Alliance)的技术支持,大大加速了智能手机在全球范围内的渗透。 2010 年,占据 PC 操作系统最大份额的微软正式发布了智能手机操作系统 Windows Phone,凭借其积累的用户基础,迅速占领了部分份额,组成了智能机三大主流的操作系统。而今智能手机的移动操作系统除了上述苹果的 iOS 系统、谷歌的 Android(安卓)系统、微软的 Windows Phone 系统、诺基亚的 Symbian(塞班)系统外,还有黑莓公司的黑莓 OS 系统、三星的 Bada 系统、惠普的 webOS 系统和其他一些嵌入式Linux 系统。 (还有刚在 MWC2014 亮相的 Ubuntu 系统,Tizen 系统(基于 HTML5的开源标准软件平台) 和 Firefox OS。图 1-1 2014 年全球智能手机市场份额预测,来源:IDC从全球手机市场的品牌占领格局来看,三星以 20%的市场份额居榜首,苹果市场份额不足 10%,处在第二位,二者的领先优势并不是特别显著。但是,如果仅从智能手机市场格局来看,三星的市场份额则超过了 35%,独占了三分之一的江山。苹果则在市场利润上占据绝对优势,将全球智能手机市场 70%以上的份额收入囊中[1],这主要得益于苹果产品强大的性能支持结合卓越设计,以及 App Store 生态圈- 8 -的健康运营,为开发者提供了良性的生存盈利空间。1.2.2 手机游戏行业市场分析截止 2014 年 3 月 18 日,用户通过 App Store 下载的应用总数已经超过 650 亿,App Store 应用商店中的应用程序总数已经超过了 100 万个(其中超过 26 万是游戏应用) 。在移动互联网高速发展的驱动下,移动应用市场在近几年将迎来爆发式的发展,根据 Gartner 预测,全球移动应用的收入将由 2012 年的 150 亿美元增长至 2016 年的 700 亿美元,年均复合增长速度达 47%,而其中,手机游戏将是全球增长最快的移动应用之一。2013 年,Google Play 得益于巴西和印度市场的扩张,其全年 app 下载量超 iOS App Store 的 15%。但下载量强劲的状态下,iOS 依旧为开发者带来更多的收益,在 app 的年收入上基本是 Google Play 的两倍不止。在这两大应用市场中,游戏应用带来的收入仍然最高,分别占 Google Play 应用收入的 80%和 App Store的 75%,可见在移动应用所有类别里,游戏同时获得了用户和开发者的青睐。图 1-2 App Store、Google Play 2012,2013 盈收比较 来源:App Annie2013 年全球移动游戏总产值高达 122 亿美元。预测到 2016 年,移动游戏总产值将占游戏总产值的 27.8%[2] 。截至 2012 年底,中国手机游戏用户累计规模已达2.86 亿,手机游戏用户规模较上一年度增长 62.5%。到 2014 年 Q4,手机游戏用户规模将有望突破 4 亿。2012 年,中国手机游戏市场规模达到 58.7 亿元,较 2011年增长 79.0%[3] 。- 9 -1.2.3 主流手机游戏引擎游戏引擎是指一些已编写好的可编辑游戏系统或者一些互交式实时图像应用程序的核心组件。工欲善其事必先利其器,对于移动游戏开发者而言,一个优秀实用的手机游戏引擎必不可少,手游引擎可以为游戏设计者提供各种编写游戏所需的各种工具,让游戏设计者能容易和快速地做出游戏程式而不用由零开始。他们大多数都支持多种操作平台,如 Linux、Mac OS X、Windows。游戏引擎包含以下子系统:渲染引擎(渲染器)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理等。需要注意的是引擎只提供工具,不提供具体的游戏功能和游戏逻辑。以下是目前比较主流的一些手游引擎:1.2D 引擎:(1)Cocos2d-x:Cocos2d-x 是一款开源跨平台手机游戏引擎,支持iOS、 Android、Windows8、Mac OSX、Linux、 BlackBerry、Windows Phone 等平台。它由只支持 iOS 平台的 cocos2D 演化而来,已经推出了 HTML5 版本,显示了这个引擎强大的生命力和扩展能力,目前在 iOS 和 Android 平台上有许多知名游戏都使用此引擎开发(2)Corona SDK:Corona 的主要作用实际上是封装了非常多实用的 API,如In App Purchase 等。开发者实用这些 API 可以简化了开发,加快开发的速度。但是 Corona 对于一些苹果的 API 却支持不是很好。(3)Construct 2:前身是一款开发 Windows 的游戏引擎,基于事件的操作界面,无需编程基础可开发 iOS、Android 及 Facebook 游戏,提供 70 多种可视化游戏效果。是一款很不错的 HTML5 游戏引擎。(4)WiEngine:是由微云科技开发的一款 2D 移动游戏引擎,目前已支持 2D图像渲染、粒子系统、碰撞检测系统、脚本引擎、动画特效、光影特效、人工智能以及场景管理等超过十大类的特性和特效。(5)Cyclone 2D:Cylone2D 是一套手机游戏设计和制作的综合解决方案。包括引擎和设计工具集。该引擎目前已经在多个平台应用,如Android、IOS 、Windows、J2me 等,制作的游戏产品可以运行在手机或者电视机终端,因此可以用来制作跨平台的手机游戏。2. 3D 引擎(1)Unity3D :Unity3D 是一个用于创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的综合型创作工具。Unity 类似于Director,Blender ,Virtools 或 Torque Game Builder 等利用交互的图型化开发环境为首要方式的软件其编辑器运行在 Windows 和 Mac OS X 下,可发布游戏至Windows、Wii 、OSX 或 iOS 平台。也可以利用 Unity web player 插件发布网页游戏,支持 Mac 和 Windows 的网页浏览。它的网页播放器也被 Mac widgets 所支持。- 10 -(2)Unreal Development Kit :Epic 开发的虚幻引擎,是目前世界最知名且授权最广的顶尖游戏引擎,占据全球商业引擎的 80%的市场份额,目前只支持 iOS及 Android。提供免费版本,包含了开发基于虚幻 3 引擎独立游戏的所有工具。1.3 项目目标及范围本项目的主要内容是使用 Cocos2d-x 跨平台手机游戏开发引擎,在 Mac OS 下使用 Xcode 开发经典平面射击游戏坦克大战的 iOS 版本。项目完成过程中,完成对手机游戏设计开发测试流程,同时掌握 Mac OS 下 Xcode 等开发工具的使用,了解熟悉 Cocos2d-x 引擎的框架、组件实现原理和使用方法。本项目开发的 iOS 版坦克大战,其操作简单,游戏逻辑清晰,可玩性高,符合手机游戏的取材要求,将经典的射击游戏配合手机触摸操作和绚丽的动作、音乐特效,结合社交和抽奖体统,并通过 AI 算法的优化,可以带来更好的用户体验和更高的可玩性,同时,本项目基本覆盖了手机游戏的主要元素:基本游戏架构和模块组织、触摸事件处理、地图及寻路系统、实时碰撞检测算法等,同时也基本覆盖了游戏引擎提供的子系统,因此本项目对于手游开发流程、关键技术和 Cocos2d-x 的使用方法有较系统的总结作用,具有一定意义。基于现实情况,本项目只包括手机游戏的设计和开发过程,不包括后期的完
展开阅读全文
1
  金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:【终稿】毕业设计_软件学院_刘志鹏_基于Cocos2d-x的iOS游戏坦克大战的设计与实现.docx
链接地址:http://www.gold-doc.com/p-116508.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2014-2018 金牌文库网站版权所有
经营许可证编号:浙ICP备15046084号-3
收起
展开