杭州电子科技大学
毕业设计(论文)文献综述
毕业设计(论文)题目基于Cocos2D-X的跨平台游戏设计与开发文献综述题目跨平台游戏开发文献综述学院软件工程学院
专业软件工程
姓名
班级
学号
指导教师
跨平台游戏开发文献综述
1.前言
随着手机等移动硬件设备的不断发展,移动游戏成为人们娱乐生活中不可或缺的一部分。移动平台逐步融合的发展趋势,使得跨平台游戏成为市场发展的主流。作为游戏开发的核心,移动游戏引擎间的竞争也是相当激烈。
2.主要内容
2.1从手游说起
手机游戏,是指在手机等各类手持硬件设备上运行的游戏类应用程序,其需要具备一定硬件环境和系统级软件环境作为运行基础。
1997年11月,手机游戏《贪吃蛇》随Nokia 6110手机的上市第一次大规模进入大众的视野。这个简单的游戏却让人们发现移动终端带来的乐趣。手机游戏自此被各游戏厂商作为卖点,开启了手机游戏产业发展的序幕。这个时期的手机游戏,受到软硬件的制约,无法形成一种产业,主要是由手机厂商自主研发。
2000年以后,有了彩屏的硬件支持和Java语言的支持,手机游戏开始了飞速发展,出现了第三方软件厂商尝试开发手游。《帝国时代2》、《彩虹六号》、《兄弟连》、《狂野飙车》《FIFA足球》等游戏厂商陆续推出针对手机的Java版本。至此,手机游戏形成了如PC游戏一般的产业式发展。但此时,手机里的操作系统是手机厂商自行开发的封闭式操作系统,通过Java平台获得的扩展相当有限。
之后,智能手机渐渐普及开来,意味着手游新时代的来临。黑莓和诺基亚N5等手机的问世将设备带入新阶段。这些设备具有开放性的操作系统以及良好的用户界面,强大的应用扩展性,能方便随意的安装和删除应用程序。这使得手游开发的门槛降低。
iPhone的面世让电容触屏手机成为主流。2008年,由《愤怒的小鸟》开始,iPhone3GS上的游戏,改变了大众对手机游戏的看法。优秀的CPU为开源的BOX2D物理引擎提供了流畅的运算,让小鸟飞得逼真;强大的GPU则表现出了精致的高帧数动画。
移动游戏迎来盛世[1]。根据Gartner发布的研究数据,2010年全球手机游戏总营收超过56亿美元,其市场规模比2009年增加了19%,预计2014年全球手机游戏市场规模将达到114亿美元,年均复合增长率将达到19.45%。
在2012年手机游戏社区Moco Space做的一项调查报告中提到,96%的受访玩家至少在家中玩过一次手机游戏;83%的受访玩家在等人时玩手机游戏;72%在坐火车、公交车和汽车时玩手机游戏;64%工作或与朋友聚会时玩手机游戏;46%在课堂上,25%在健身房玩手机游戏,多任务操作。手机游戏碎片化特性使其逐渐成为人们打发
“碎片时间”的首选。
2.2移动平台现状及跨平台技术
随着移动通信技术的高速发展,3G网络和WiFi给手机及其他移动设备(如PDA、笔记本电脑)提供了广阔的发展空间。iPad等平板设备应运而生,形成新的产业,各大厂商在退出自己平板设备同时,也对手机操作系统进行优化,使之适应大屏幕、性能更强的移动设备,iOS与Android都有其对应平板设备的版本。
手机操作系统已经逐渐变成一个广义的概念,不再具体指移动电话上运行的操作系统。从这点看去,未来应用程序甚至操作系统,可能以云服务为基础,提供真正以用户为核心,多设备统一的体验。
然而就目前来说,主流移动平台有iOS、Android以及相对小众的Windows Phone[2]。
iOS是苹果公司开发的类UNIX操作系统,主要用于苹果自己的移动设备。其开发语言为C, C++, Objective-C。
Android系统基于Linux开发,并且最初并非由Google公司创造,而是被Google收购以后才逐渐发展壮大的。是一款开放源代码的移动操作系统。和苹果不同,Google 并不自己生产手机,而是将自己的服务植入Android系统中,并通过授权其他手机厂商使用Android系统,并基于它开发定制自己的个性化操作系统。就现在市场主流来说,至少有HTC,Moto,三星,联想等厂家都基于Android开发了自己风格的操作系统,而且每个系统的风格和操作方式都存在一定程度的差异。其底层开发语言为C、C++,应用层为Java。
Windows Phone(现版本为Windows Phone 8)是微软公司为收复移动市场失地而退出的一款全新的手机操作系统[3]。其颠覆了一直沿用到Android系统的传统人机界面风格,创造了崭新的Metro UI风格,使用户的界面元素由一个个生动的Living Tile(活动瓷片)构成,在上面动态显示应用程序相关信息,而不再是一个死板的图标。其开发语言为C#, VB.NET。
综上所述,各主流移动平台之间差异明显、互不兼容。从应用程序开发的角度而言,同样的程序逻辑却不得不在多个平台使用不同的语言和API重复编码。从代码维护的角度而言,针对同一项目需要维护多份代码,一旦程序逻辑修改,就不得不进行大规模的代码修改和回归测试。从经济角度而言,同时开发和维护多个平台的应用程序,将花费大量的人力物力和时间,提高开发成本。
然而,来自智研数据研究中心的数据表明:跨平台游戏产品将逐步成为市场发展的主流。跨平台游戏产品能够实现在PC、手机、电视游戏终端等多种游戏终端和系统平台之间的无缝切换,使用户能够不受持有的终端限制体验游戏产品,因而其具有更为广泛的用户体。当前跨平台游戏产品已成为全球各大游戏厂商的发展方向之一。对于国内市场而言,3G网络建设与三网融合的实施将有效推动跨平台游戏市场
的发展,产业环境的成熟和市场需求的提出也促使各类游戏厂商进入该细分市场,使其逐步成为市场发展的主流产品[4-5]。
为此,跨平台的移动应用开发技术引起了开发者的关注。目前跨移动平台开发实现方式可分为跨平台应用编译和跨平台引擎驱动两种方式[6-8]。
跨平台应用编译技术是利用一种标准开发语言进行开发。在开发前需要针对不同系统搭建相应环境,开发完成后再由编译器编译生成相应的可执行程序。比如Web
网页技术语言(HTML5,、CSS、JavaScript)。这种开发方式不依赖于终端引擎驱动,编译应用程序后直接运行在移动操作系统。于是其开发能力同样受制于网页开发语言的限制。
跨平台运行引擎技术需要底层设备加载驱动引擎,用于屏蔽不同移动操作系统之间的差异。开发者按照各系统正常开发,编译打包发布(apk,ipa等)用户下载应用后由驱动引擎安装完成。如Unity3D,Cocos2D-X等。
2.3游戏引擎综述
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理[9]。
手机游戏引擎则是在移动平台上运行的游戏引擎。由于移动平台的触摸+传感器的操作方式与传统游戏大相径庭,直接影响了手机游戏模式与PC和主机的不同。因此不能简单的将游戏引擎移植到手机上,而是需要根据移动平台的特性重新设计。
目前手机游戏引擎方兴未艾。
一方面,Cocos2D-X、Unity3D等跨平台引擎已站稳脚跟;另一方面,传统游戏引擎对移动平台越加重视,虚幻引擎已移植到iOS、Android平台;最后,拥有WebGL 技术的HTML5也显示出其游戏应用的潜力,浏览器厂商们动作频频,Opera发布Sphinx 引擎,Firefox移植虚幻引擎,UC欲发布X-Canvas引擎,HTML5引擎中间件的大战即将来临。
Cocos2D-X,是基于Cocos2D开发的游戏引擎。Cocos2D最早定位于平面游戏框架,使用python语言开发。然而由于个人电脑平台本身存在众多优秀的游戏引擎,且python相对比较小众,使用者并不多。2008年6月,引擎开发团队发布以Objective-C 为基础的Cocos2D for iPhone 0.1版本,才使之在移动开发者中逐渐流行起来。之后,更具历史意义的Cocos2D-X版本诞生了。“X”意味着Cross,即交叉的意思[10],即是跨平台的意思。它目前已经支持了iOS、Android、Windows8、Mac OSX、Linux、BlackBerry、Windows Phone等平台,并于去年推出了HTML5版本,显示了其强大的生命力和扩展能力。
由于Cocos2D-X的项目创始人王哲是中国人,因此对中文的支持非常好,有开发者社区cocoachina。2013年11月24日,王哲在CocoaChina上公布,就最赚钱的游戏中,全球有26%的游戏使用Cocos2D-X,在中国有将近70%的游戏使用它。由此可见,目前国内大部分手游开发使用此引擎。
3.总结
综上所述,随着移动硬件的高速发展,跨平台游戏将成为主流。研究如何开发一款跨平台游戏,甚至如何开发一款性能优良的跨平台游戏引擎,将成为未来手游行业的重中之重。
主要参考文献
[1]郭艳. 移动游戏迎来盛世[J]. 中国对外贸易,2013(8):44-45.
[2]CCW. 中国手机操作系统市场分析[J]. 电子商务,2012(6):25-26.
[3]杨天一. Windows Phone 7或加速智能手机产业深层次改变[J]. 世界电信,
2011(Z1):110-113.
[4]任伟光. 智能手机突围靠软实力[J]. 电子商务,2012(6):8-9.
[5]智研数据研究中心. 2013年移动游戏行业发展七大趋势[DB/OL].
www.abaogao/c/it/998477Z2O3.html,2013-05-07.
[6]王欣. 跨平台移动应用研究与实现[D]. 北京:北京邮电大学,2013.
[7]高兰兰. 基于Android平台的多分辨率解决方案[J]. 软件,2011(9):70-72.
[8]张玉晴. 黄瑾娉. 基于HTML5的跨平台移动应用关键技术的研究与实现[J] 工业
控制计算器,2013(3):56-58.
[9]. 游戏引擎[DB/OL].
h/wiki/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8 E, 2013-06-17.
javascript游戏引擎[10]I venyang,walzer. Cocos2D-X开发手册[DB/OL].
/docs/manual/framework/native/about/about-us/zh,
2014-02-23.
[11]E rich Gamma, Richard Helm, Ralph Johnson & John Vlissides. 设计模式:可复用面
向对象软件的基础[M]. 机械工业出版社,2000.
[12]邢芳. 张小钦. 基于Cocos2D-X 的三消类游戏的设计[J]. 科技广场,2013(5):
113-115.
[13]奚焱. 基于Box2D物理引擎的刚体运动和碰撞模拟[J]. 电脑编程技巧与维护,
2011(24):125-126.
[14]J UAN R. REZA. Mobile Apps Multi-Platform Design Pattern[DB/OL].
www.hillside/plop/2013/papers/Group2/plop13_preprint_33.pdf,
2013-07-20.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。