Android 游戏开发大全(第二版)

978-7-115-31707-0
作者: 吴亚峰 于复兴 杜化美
译者:
编辑: 张涛

图书目录:

详情

本书内容既包括Android平台下开发的基础知识,也有游戏编程的实用技巧,同时还有多个游戏实际案例供读者学习。在知识的层次上由浅入深,真正地将Android和游戏开发结合起来。本书在介绍Android基础内容时,每个知识点都配有相应的实例,通过这些实例,读者可以更好地理解书中所介绍的知识,达到学以致用的目的。

图书摘要

Android游戏开发大全 (第二版)

吴亚峰 于复兴 杜化美 编著

百纳科技 审校

人民邮电出版社

北京

为什么要写一本这样的书

Android 正以前所未有的速度聚集着来自世界各地的开发者,越来越多的创意被应用到Android应用程序的开发中,大有席卷整个手机产业的趋势。

面对如此火爆的Android大潮,一些有关Android的技术书籍也开始登上各地书架。但是纵观这些本来就为数不多的Android书籍,却没有一本是关于Android游戏开发专题的,而手机游戏历来是移动开发中最重要的部分。

本书正是在这种情况下应运而生的,作为国内第一本讲解Android游戏案例开发的专业书籍,作者为这本书倾注了很多的心血。书中既有对Android应用程序框架的介绍,也有对游戏开发相关知识的讲解,同时还有多个 Android 平台下的实际游戏案例。希望可以快速帮助读者提高在Android平台下进行游戏开发的能力。

内容导读

本书内容分为两篇,第1篇主要介绍Android平台下应用程序的框架和基础开发知识,同时还介绍了游戏开发的相关知识,主要内容安排如下。

续表

第2篇主要内容为8个游戏案例,其中包括体育游戏、益智游戏、动作游戏、RPG游戏等不同的游戏类型,每种游戏类型的开发都有其独特的地方,具体安排如下。

本书特点

1.内容充实,由浅入深

本书内容既包括Android平台下开发的基础知识,也有游戏编程的实用技巧,同时还有多个游戏实际案例等供读者学习。在知识的层次上由浅入深,真正地将Android和游戏开发结合起来。

2.实例丰富,讲解详细

本书在介绍Android基础内容时,每个知识点都配有相应的实例,通过这些实例,读者可以更好地理解书中所介绍的知识。同时在实例的讲解上也尽量做到条理清楚,读者可以按照书中列出的步骤非常容易地实现实例中的功能。

3.案例经典,含金量高

本书中的游戏案例均是作者精心挑选的,不同类型的游戏有着其独特的开发方式。本书中的案例囊括了不同的游戏类型,以及不同的游戏开发技巧,以期让读者全面掌握手机游戏的开发技术,具有很高的含金量,非常适合各类爱好游戏开发的读者学习。

4.配合光盘,视频教学

为了帮助读者更好地利用本书提高自己的开发技能,本书附赠了DVD光盘,其中包含了本书中所有实例和游戏案例的源代码、电子教案和教学视频。读者可以参考DVD光盘中的内容提高学习效率。

本书面向的读者

● Android初学者

对于Android的初学者,可以通过本书第1篇的内容巩固Android的知识,并了解与游戏开发相关的诸如人工智能和物理引擎等知识。然后在此基础上学习本书第2篇的游戏案例,这样可以全面掌握Android平台下游戏开发的技巧。

● 有Java基础的读者

Android平台下的开发基于Java语言,所以对于有Java基础的读者来说,阅读本书将不会感觉到困难。读者可以通过第1篇的基础内容迅速熟悉Android平台下应用程序的框架和开发流程,然后通过第2篇的游戏案例提高自己在游戏开发方面的能力。

● 在职开发人员

本书中的游戏案例都是作者精心挑选的,其中涉及的与游戏开发相关的知识均是作者多年来积累的经验与心得体会。具有一定开发经验的在职开发人员可以通过本书进一步提高开发水平,并迅速转职成为Android的游戏开发人员。

关于作者

吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的 Java开发与培训经验。主要的研究方向为OpenGL ES、手机游戏、Java EE以及搜索引擎。同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技 Java培训中心首席培训师。近10年来为多家著名企业培养了上千名高级软件开发人员,曾编写过《菜鸟成长之路——Java程序员职场全攻略》、《Android 3D游戏开发技术详解与典型案例》、《Android应用案例开发大全》、《Android游戏开发大全》、《Android 3D游戏开发技术宝典——OpenGL ES 2.0》、《Unity 3D游戏开发技术详解与典型案例》等多本畅销技术书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列优秀的Android应用程序与3D游戏。

于复兴,北京科技大学硕士,从业于计算机软件领域10年,在软件开发和计算机教学方面有着丰富的经验。工作期间曾主持科研项目“PSP流量可视化检测系统研究与实现”,主持研发了省市级项目多项,同时为多家企事业单位设计开发了管理信息系统,并在各种科技刊物上发表多篇相关论文。2008年开始关注Android平台下的应用开发,参与开发了多款手机3D游戏应用。

杜化美,西安电子科技大学硕士,有多年的Java程序开发与培训经验。曾参与两项国家自然科学基金项目,在国内外刊物上发表论文10余篇。同时兼任嵌入式独立软件工程师,在软件领域有8年的从业经验,最近3年致力于Android嵌入式系统的研究。

致谢

本书在编写过程中得到了唐山百纳科技有限公司Java培训中心的大力支持,同时于庭龙、魏鹏飞、李腾飞、王旅波、李胜杰、郭超、王思维、仇磊、夏学良、冯儒韬、郑培阳、郭小月、李雪晴、宋盼盼、刘阔、梁宇、黄建勋、蒋科、任俊刚、王海峰以及作者的家人为本书的编写提供了很多帮助,在此表示衷心感谢!

由于编者水平有限,书中疏漏之处在所难免,欢迎广大读者批评指正。

编辑联系邮箱:zhangtao@ptpress.com.cn。

编者

第1章 Android平台简介

第2章 Android游戏开发中的前台渲染

第3章 Android游戏开发中的交互式通信

第4章 Android游戏开发中的数据存储和传感器

第5章 Android游戏开发中的网络编程

第6章 不一样的游戏,一样的精彩应用

第7章 游戏背后的数学与物理

第8章 游戏地图必知必会

第9章 游戏开发小秘技

第10章 游戏的心脏——物理引擎

第11章 OpenGL ES 3D应用开发基础

前面的章节介绍了Android应用程序开发的相关知识,而在形形色色的手机应用中,游戏占了很大的比重。目前,随着手持设备的性能逐步提升和移动网络的不断完善,手机游戏带给玩家的体验也越来越好,手机游戏已经成长为和电脑游戏同等重要的产业。

当今市面上流行的手机游戏类型繁多,不同类型的游戏自然有其独特的设计方式以及独到的吸引玩家的地方,本章将结合目前手机游戏产业的现状,介绍一些与游戏开发相关的知识,对主要的几种游戏类型做一个简单的介绍。

射击类游戏(Shooting Game)是一种比较古老的游戏类型,手机游戏中的射击游戏也很流行,目前市面上的射击类游戏最多的是飞行射击游戏,比较著名的有雷电系列,还有一些是诸如坦克大战之类的操作性要求较高的射击游戏,本小节就来简单介绍一下射击类手机游戏的相关知识。

下面从玩家人数、操作方式和取胜条件等几个方面分析射击类游戏的玩法。

● 玩家人数

射击类游戏通常为单人游戏,很少以二人对战或多人在线的方式进行,而且一般来说,射击游戏节奏比较快,要求玩家通过快速的反应与游戏进行交互,所以射击游戏大都属于单机游戏。

● 操作方式

射击类游戏的操作方式比较单一,主要是控制游戏角色的行走方向以及向目标开火或施放特殊技能,有些射击游戏为了提高游戏速度,会让玩家控制的角色自动射击或提供选项让玩家选择是否开启自动射击,自动射击尤其在飞行类射击游戏中比较普遍。

● 取胜条件

射击类游戏一般在游戏开始时会为玩家分配若干条生命用以进行后续的游戏,当耗费光所给的生命数目后就会结束游戏。射击类游戏多数为关卡类游戏,即玩家用有限的生命挑战难度不断提升的关卡,关卡一般也是有限的,但是有些游戏的关卡可以在程序中生成。

● 视角问题

对于占多数的飞行类射击游戏来说,其视角几乎都是 2D 视角,玩家从高空俯瞰整个游戏界面,如著名的雷电系列(如图 6-1 所示)的游戏就是这样。还有一些游戏会像“永远的坦克大战”(如图6-2所示)这样采用2.5D视角进行游戏。

▲图6-1 飞行射击游戏“雷电”的2D视角

还有一些射击类游戏正逐步向桌面电脑中的第一人称视角的射击游戏靠拢,如比较著名的电脑游戏“反恐精英”、“荣誉勋章”和“使命召唤”等都有了其在手机端的实现版本,这样极大丰富了手机射击类游戏的可玩性。

● 游戏背景

为射击游戏提供的最简单的游戏背景就是滚动的卷轴式背景,刚才提到的雷电等许多飞行射击类游戏都是采用的这种背景显示模式。卷轴式背景实现方法就是使用一幅比游戏屏幕长的图片首尾相接作为游戏背景,在游戏的过程中通过不断循环滚动显示来达到背景变换的效果。

对于飞行类射击游戏之外的射击游戏,其游戏背景由多个小图片拼接而成,如代表房子、树木的小图片,这些小图片被称为图元,采用图元技术可以轻易地搭建出 2D、斜45°2.5D(如图6-2所示的游戏屏幕)、90°2.5D的游戏场景。

▲图6-2 “永远的坦克大战”的2.5D视角

● 剧情设计

虽然射击类游戏要求玩家快速反应、游戏的快节奏发展、眼花缭乱的爆炸效果以及随之而来的音效,但是如果射击类游戏千篇一律地都是开枪“打兔子”,那么肯定不会吸引大批的玩家,所以为射击游戏设计合理的剧情也显得非常重要。

设计剧情的方式有很多,比如增加一段背景故事,塑造一个游戏主人公,在游戏中适当地出现人物的对话等,也可以把相互独立的关卡用背景故事串联起来。

● 游戏规则

由于射击类游戏的玩法比较单一,所以游戏规则也相对简单,除了限制玩家的生命数目之外,还要在游戏运行的过程中不断出现一些奖励,如增加生命数目、增加玩家控制角色的伤害输出等。同时对于这种操作比较简单的游戏,设置积分机制也是激励玩家不错的方法。

竞速类游戏不同于其他类型的游戏,竞速类游戏的内容比较单一,就是驾驶一种交通工具进行比赛。竞速游戏主要吸引玩家的地方在于令玩家体会到高速移动时所带来的视觉和听觉上的享受,以及冲破重重障碍到达终点的成就感。

对于目前手机平台下的竞速游戏来说,大部分使用的比赛交通工具为赛车,很少有竞速游戏会采用宇宙飞船或是舰艇等作为比赛工具。

● 玩家个数

手机平台下的竞速游戏不能像电脑游戏那样方便地进行局域网互联,所以主要以单机版的竞速游戏为主,这也使得手机平台下的竞速游戏不像其他游戏类型那样火爆。

● 游戏模式

竞速游戏的趣味性不仅仅存在于驾驶,不同游戏模式下的竞速游戏也会给玩家带来不一样的体验,下面列举几个常见的游戏模式。

(1)夹杂打斗的竞速游戏,有些竞速游戏在进行中会允许玩家和其他的选手进行简单的战斗,这样可以使游戏更加紧张刺激。

(2)以职业联赛为主的竞速游戏,玩家每成功赢得一场比赛,其等级就会提升,高等级可以参加高级的比赛以获取更多的金钱和等级。如在手机游戏“世界摩托大奖赛”(如图6-3所示)中就采用大赛的模式来进行游戏。

▲图6-3 “世界摩托大奖赛”游戏画面

(3)以任务为驱动的竞速游戏,这种模式下的竞速游戏由任务系统来控制游戏流程,很多时候因为任务之间的前后关系,玩家并不能随心所欲地选择比赛。

● 取胜条件

要想在竞速游戏中取胜,方法只有一个:获得比赛的胜利,不过也有一些竞速游戏并不要求玩家的名次,只要完成了比赛就算获胜。

● 游戏视角

竞速游戏的视角最初为从正上方俯视赛场,这种方式很适合躲避障碍物。不过目前大部分的竞速游都将数据显示成为了第一人称视角,这样更容易给玩家身临其境的感觉。

● 游戏画面

竞速游戏的画面一般分为两个部分,第一部分就是游戏的主画面,游戏的主画面渲染了赛场的情景,如驾驶赛车时屏幕不断后撤的效果;第二部分就是用来模拟特定交通工具的操纵界面的控制面板。除了这两个部分,还有些竞速游戏会把任务列表或缩略地图也显示到屏幕上。

● 交通工具的设计

交通工具的选择决定了整个游戏的发展方向,目前市面上以赛车为题材的竞速游戏较多,但是游戏的设计者不应该只看到赛车这一种交通工具,其他交通工具可能会更加具有可玩性。

(1)水上交通工具,水上的交通工具有很多,如摩托艇、机动艇、帆船等,而且船类交通工具的驾驶对于玩家来说可能也会更加新鲜。对于赛道的设计也可以更具特色,为其添加一些有趣的障碍,如旋涡、台风甚至是水怪等。

(2)空中交通工具,主要是飞机和飞船两种,驾驶交通工具在赛道上不会有太多文章可做(除非驾驶飞船遇到小行星群),倒是这两种交通工具的驾驶方式可以好好设计一下,因为驾驶飞机尤其是飞船的方式比较复杂,可以将操作方式简化一下展示给玩家。

● 剧情设计

虽然竞速类游戏大部分时间都让玩家处于高度紧张的驾驶状态,但是,在游戏中适当地穿插剧情也会为整个游戏加分不少,尤其是对于那些任务驱动型的竞速游戏。

益智游戏(Puzzle Game)是另外一种深受用户欢迎的游戏类型,很多人把益智游戏称作休闲游戏,但实际上很多益智游戏玩起来并不会很“休闲”,如一些需要频繁思考的诸如数独之类的游戏。而休闲游戏中很大一部分游戏并不属于“益智”的范畴,如后面会提到的养成类游戏一般也划为休闲游戏。

益智类游戏的特色就是,游戏中会更多地依靠智力去解决问题,而现实生活中能够锻炼智力的游戏有很多,如纸牌类游戏、棋类游戏等都属于益智类游戏。

不同的益智类游戏由于设计的内容差很多,所以各自有各自的玩法,下面主要来谈谈益智类游戏中相同的地方。

● 玩家个数

一般来讲,益智解谜类的游戏大都为单人游戏,如经典游戏“吃豆子”(如图6-4所示)、推箱子、走出迷宫和拼图等,这类单人版游戏也有一个共同点,那就是都以关卡作为提升难度的手段。关卡可以是有限的,也可以是由程序自动生成的,如生成迷宫游戏中的地图就有很多成熟的算法。

▲图6-4 经典游戏“吃豆子”

还有一些益智类游戏要求多人对战的模式,如各种棋牌类游戏,经典游戏“大富翁”(如图6-5所示)就是多人联网进行,这里的“人”不一定非得是玩家,也可以是电脑。

▲图6-5 经典游戏“大富翁”

● 取胜条件

益智游戏的取胜条件一般很简单,逃出迷宫、在棋(牌)局中赢得胜利等,很多的益智游戏都会有限时功能,或者把消耗的时间作为计算积分时考量的因素。不过也有一些益智类游戏取胜条件虽然简单,但是很难实现,如大富翁系列的游戏,很难在短时间内取得游戏的胜利。

● 游戏视角

很少有益智游戏的视角为第一人称,一般的益智游戏的视角可以看到整个游戏场景,通常都是平面游戏,近来很多平面游戏都被改造成为了具有3D效果的益智游戏,如3D版的手机推箱子,游戏视角的改变可以提高玩家的体验,相比于其他吸引玩家的手段,改变视角更容易实现。

● 游戏画面设计

除了刚才提到的手机大富翁系列,普通的益智游戏的场景不会很大,一般为手机屏幕大小,如各种棋牌游戏的画面基本不需要滚屏,多数的关卡型益智游戏的关卡场景也不会超过手机屏幕的大小,如经典游戏“吃豆子”(Pac-Man)。当然也有例外,如曾风靡一时的“掘金者“(Gold Runner)游戏的每一关的场景都需要进行滚屏,这也和游戏节奏的快慢有关。

益智游戏场景比较固定(尤其是棋牌游戏),为了提高玩家的体验,在画面的变换上就应该多下工夫,应该根据手机平台的性能,尽量让画面为整个游戏加分,如欢迎动画、游戏中出现的各种提示和动作都可以尽量漂亮些。

● 剧情设计

前面也已经提到,益智游戏最大的魅力在于对智力的挑战,所以玩益智游戏的玩家往往对游戏的剧情并不是非常的感兴趣,就连经典游戏“大富翁”也没有在剧情上花太多工夫。

● 难度调节

益智类游戏的难度等级必须是可调节的,这样才可以吸引玩家勇攀高峰。对于关卡类的益智游戏,一般通过关卡提升难度就足够了。而对于不设关卡的益智游戏来说,通常在游戏开始的时候提示玩家选择一个难度等级,如棋牌类游戏等。

● 游戏规则

益智游戏的游戏规则设计需要把握好 3 个方面:一是入门难易程度,游戏开始时不能让玩家感觉到太简单,也不能让玩家太沮丧;二是趣味性,益智游戏吸引人的地方不仅在于对智力的挑战,还必须在趣味性上大作文章;三是耐玩度,怎样让玩家愿意再玩一次,也是需要在设计的时候多做考虑的。

角色扮演游戏(Role Playing Game)是手机游戏中的另外一个大阵营,不同于益智游戏等即时性的游戏,角色扮演游戏一般要求玩家投入较多的注意力和较长的关注时间,同时一款优秀的角色扮演游戏的开发投入也相对较高。

● 玩家人数

电脑平台下的角色扮演游戏即有单机版的,也有局域网对战版和网络多人在线形式的,手机平台下角色扮演游戏也不局限于单人模式,很多的大型网络在线手机游戏都是角色扮演性质的,但是论数量,还是单击模式的RPG游戏占多数。

● 游戏主线

单机版的角色扮演游戏的主线比较明朗,单机模式的RPG往往会把玩家控制的角色定义成为“救世主”的形象,所以整个游戏都会围绕这个角色展开,由玩家控制的角色来串接故事情节并影响游戏的发展方向,任务系统在角色扮演游戏中比较常见,好的任务系统可以对游戏剧情起到推动的作用。

网络版的角色扮演游戏一般对单个玩家没有这么高的定位,所以对于玩家来说,主要游戏主线在于控制自己的玩家进行各种探险、战斗并以此来提升自己属性,网络游戏中也可以通过复杂的任务系统来让玩家体会到整个游戏剧情发展。

● 取胜条件

网络版的角色扮演游戏一般没有取胜条件,而单机版的角色扮演游戏的取胜条件由剧情来决定,通常是以解除危机、打败最终魔王为游戏胜利的条件,有些角色扮演游戏还会有不同的结局。

● 游戏视角

角色扮演游戏基本上不会以 2D 的视角来呈现,通常游戏视角都是2.5D或者3D,而对于2.5D又有斜45°俯视和正90°俯视两种。如一款移植自电脑游戏的“仙剑奇侠传”采用的就是斜45°俯视视角,如图6-6所示,而手机游戏“游戏仙侣情缘之麒麟劫”的视角则是正 90°俯视,如图6-7所示。

▲图6-6 “仙剑奇侠传”的游戏视角

▲图6-7 “游戏仙侣情缘之麒麟劫”的游戏视角

不管是斜 45°和正 90°,都是采用图元技术加上多个图层叠加实现的,所以这类角色扮演游戏中地图设计将会是一个非常重要的环节。目前的角色扮演游戏以正 90°俯视视角居多,其实现方式也比斜45°俯视要简单一些。

由于2.5D视角更容易让玩家习惯,很多3D视角的角色扮演游戏也会在其中穿插2.5D的场景。

● 游戏界面

角色扮演游戏的界面不应该只有游戏场景和菜单这么简单,出于剧情和玩家需要,必须为游戏创建不同用途的界面,如对于常见的武侠题材的RPG游戏,就需要为玩家创建角色属性面板、物品及装备面板、技能面板等界面。

● 情节设计

对于角色扮演游戏,故事情节的好坏在很大程度上影响了游戏带给玩家的体验,所以在游戏设计初期必须选好一个题材。

通常角色扮演游戏的题材背景会选择在一个不同于普通人生活的世界,比较多的是来自武侠文学如金庸等大师的作品,或者是西方的玄幻文学如指环王或吸血鬼题材,还有一批游戏是来自于电影或其他科幻小说。

确定了题材,还需要丰富整个游戏的剧情,一般来说,角色扮演的游戏方式主要包括探险、接收任务以及战斗,合理的分配这3种游戏方式,可使游戏的可玩性达到最高。

● 角色设计

角色扮演游戏中,尤其是单机模式下的角色扮演游戏,角色设计的重要性是不容忽视的,除了玩家控制的“救世主”角色,还要设计其他的辅助角色,如用来指引“救世主”走向强大的导师,一起进行探险的伙伴,要消灭的最终Boss等。

对于主要的角色,还需要设计其详细的属性,如为玩家控制的“救世主”以及并肩作战的伙伴设计战斗时用的属性。以武侠题材的RPG为例,需要为主要角色设计的属性有技能、血量、法力、等级等,对于大型的RPG,还需要设计职业及装备等。

● 主角成长

玩家控制的角色在游戏中不断成长是游戏的趣味性之一,同时也是游戏情节发展的主线。所以在设计游戏时需要根据故事情节让主角不断成长,这种成长包括个人属性的提升以及游戏剧情的逐步铺开,主角的成长方向同时也是吸引玩家坚持玩到底的原因之一。

● 游戏存储

对于一般玩家来讲,角色扮演游戏很少能够在短时间内通关,所以必须为游戏增加存储功能。游戏中可以采用到指定地方才可以存储的模式,也可以用菜单选项让玩家随时存储。

这里要介绍的闯关动作类游戏,是区别于射击类游戏和格斗游戏的,闯关动作类游戏的节奏一般比较轻快,玩家的成就感主要来源于完成一个个关卡的挑战胜利,更具趣味性。闯关类动作游戏的设计重点不在战斗,而是在闯关,这样适应的玩家人群会更广,比较经典的闯关类动作游戏有“超级玛丽”(如图6-8所示)和冒险岛(如图6-9所示)等。

● 玩家人数

玩家玩闯关动作类游戏的主要目标一般都在于过关斩将,并不十分需要别的玩家的阻挠或协助,所以通常都为单机游戏。

● 操作方式

闯关动作类游戏一般为老少皆宜的游戏,所以其操作方式不会太复杂,只是简单地控制游戏角色移动和释放技能即可。对于有些闯关类动作游戏,玩家大部分时间都在命令游戏角色不停地跳跃,如“超级玛丽”等游戏。

● 取胜条件

闯关动作类游戏的取胜条件就是将一个个的关卡挑战成功,一般最后的关卡中会出现游戏的最终Boss,打败这个Boss,就宣告玩家成功通关。

▲图6-8 手机游戏“超级玛丽”游戏画面

▲图6-9 手机游戏“冒险岛”游戏画面

对于闯关类动作游戏来说,其背景最为经典的游戏画面就是横向滚动式,这种游戏的视角可以让玩家做到“旁观者清”,能够较早地看到前面可能要遇到的障碍和挑战。当游戏的节奏比较快时,玩家可以有时间做好准备。

● 剧情设计

闯关动作类游戏一般并不会大费周章地以华丽的背景故事去吸引玩家,但是也会有一个简单的背景故事,在背景故事中会向玩家简单介绍闯关的动机和玩家所要追求的终极目标。之后玩家的注意力应该被层出不穷个关卡所牵引,而不是对剧情念念不忘。

● 关卡设计

前面也曾提到,闯关动作类游戏的操作方式不会特别复杂,游戏剧情也不会特别引人入胜,那么要想让玩家在简单的游戏中获得乐趣,关卡的设计就显得尤为重要。

提到关卡设计,肯定要考虑其难易度的把握,增加难度的方式有多种,除了重新设计高难度的关卡之外,对游戏进行微小的改动也可以实现难易程度的改变,如给玩家更短的时间来通过挑战、将游戏中的奖励物品放置在更危险的地方等。

除了在关卡的难易程度上做文章外,还可以根据关卡的不同制定不同的游戏规则,这样不容易使玩家产生游戏疲劳感,如第一关中,游戏角色在森林中进行跑跳,而第二关就可以把场景设到水下,玩家可以在水中自由移动,但是要记得到水面上换气。

冒险游戏(Adventure Game)是另外一种需要故事情节的游戏,冒险游戏与角色扮演游戏类似,不同的是冒险游戏是在故事中添加了游戏元素,而角色扮演或其他游戏是在游戏中穿插故事。冒险游戏一般也不需要什么策略或技巧,玩冒险游戏就像是读历险记一样。

● 冒险模式

传统的冒险游戏坚持的原则主要是“说故事”,其曾是非常热门的游戏类型。在传统的冒险游戏中,玩家主要的工作是探索发现以及根据现有的状态进行选择。

随着游戏类型的不断衍变,很多其他类型的游戏中都会或多或少地添加一些冒险的成分,而冒险游戏中也出现了一些其他游戏类型的元素,如动作类冒险游戏就是一种,动作类冒险游戏在冒险过程中增加了快节奏的打斗等场景,使游戏更加刺激和紧张。

● 面临的挑战

不像动作游戏,玩家在冒险游戏中控制的角色不会具有太强的侵略性,但仍然会遇到一些冲突或阻碍。这些困难不会让玩家手忙脚乱、应接不暇,但也会使玩家将思绪投入其中,乐此不疲。

不管是解谜类的冒险游戏,如“寂静岭”(如图6-10所示),还是逃脱类的冒险游戏,如“越狱24小时”(如图6-11所示),游戏中遇到的困难基本上类似,如打开一扇需要钥匙的门、需要完成NPC的任务、需要找齐全套的物品用于组合等。在冒险游戏中,玩家通常不是靠快速反应或长时间思考来解决问题的,而是依靠已获得的游戏线索或物品道具甚至技能来排除阻碍的。

▲图6-10 “寂静岭”游戏画面

▲图6-11 “越狱 24小时”游戏画面

提示

冒险类游戏有一个其他类型游戏所没有的特点,那就是很难让玩过一次的玩家再去经历一次冒险,就像是很少有人会去把看过的电影再看一遍一样。这也体现了故事情节对于冒险游戏的重要性,一旦故事情节已经了然于胸,冒险游戏就再也无法给人以刺激和惊奇了。

● 取胜条件

既然冒险游戏就像是在讲故事,故事讲完也就尘埃落定了。除非是为续集留悬念,一般的冒险游戏在最后会出现类似大团圆的结局,如逃出困境、解救了爱人或朋友、找到了丢失的宝藏等。

● 游戏视角

冒险游戏的视角很多情况下与角色扮演游戏的视角类似,前面曾提到的“越狱24小时”就是正90°俯视的2.5D的视角,这样玩家可以对整个游戏场景有充分的掌握。不过也有很多手机上的冒险游戏以第一人称视角来呈现,为的是增强玩家身临其境的感觉。

● 画面和地图

一个冒险游戏就是一个历险故事,而讲述这个故事时除了文字,还有画面,所以,游戏的画面不应该拖故事情节的后腿,应该尽量提高玩家的空间感。另外,不管是 2.5D 的俯视视角还是第一人称视角,在冒险游戏中增加一个缩略地图都不失为一种不错的选择,这样玩家不至于迷路,也不会重复探索已经走过的地方。

● 故事发展

冒险游戏如果没有跌宕起伏的故事内容,就基本失去了可玩性,而如果只是像念书那样讲故事,也会大大降低可玩性。游戏中展示的是场景而不是故事,所以在将故事改编成游戏或为游戏增加故事情节时,要注意规划游戏的故事结构,把各种剧情插入不同的场景之中,场景和场景之间又相互关联,最后形成相互串连的游戏场景。

● 关卡设计

如果冒险故事情节比较漫长,通常要将故事切成若干个关卡,或者称为章节。这些关卡的连接方式有多种,如单线索方式是将所有关卡连成一条线循序渐进地向玩家铺开;多线索方式则是在进入新关卡前让玩家选择,或者根据玩家现在的游戏状态进入相应的关卡。

● 对话设计

在游戏中主要的对话对象是NPC,一般来说游戏中加入对话主要是为了增加趣味性,使玩家更能体会到游戏的互动性。而在冒险游戏中,对话还有另外的用途,那就是为玩家提供重要的游戏线索,所以在设计冒险游戏时应该对对话进行合理的设计。

手机平台下的策略游戏来源于电脑端的策略游戏,其最初是模拟类游戏的一个分支。随着策略游戏的不断发展,其也衍生出了很多其他不同的形式,如回合制策略游戏和即时策略游戏。通常,即时战略游(Real-Time Strategy)也被认为是从策略游戏发展而来。

● 玩家个数

在其他游戏中,玩家往往通过在游戏中控制一个角色来参与游戏,而在策略游戏中,玩家常常没有具体的角色,或者说玩家控制不止一个角色。在策略游戏中玩家扮演的角色是统筹各个方面的总司令。这在一定程度上也增加了游戏的复杂度。

电脑平台下的策略游戏一般不会限制玩家的个数,玩家既可以同电脑对战,也可以和其他玩家一起游戏,或者合作,或者对抗。而在手机平台下,大部分策略游戏都是单人模式的,玩家主要和电脑中的敌人或朋友一起游戏。

● 操作方式

策略游戏的玩法非常简单,那就是探索、发展、征服。所以不管是回合制策略游戏、即时策略游戏还是即时战略游戏,玩家的目标和实现目标的方式都比较单一。简单地讲就是,在初期探索未知的世界,然后建立自己的基地并不断发展扩大,当然在发展的过程中也伴随着进攻和防守。

● 取胜条件

不同于其他类型的游戏,策略游戏更偏重于思考和谋划,因此,策略游戏所消耗的时间有可能会很长,要显示的信息量也很大。同时有些即时战略游戏包含任务系统,这些连续的任务也不是短时间内能够完成的。

按照策略游戏的原则,策略游戏的取胜条件在于征服,即完全消灭掉游戏中的敌人或者不幸地被敌人消灭掉则宣告游戏结束。

● 游戏视角

电脑平台下的策略游戏一般为 2.5D 视角,或者是可以在 2.5D 视角和第一人称视角之间切换。手机平台下的策略游戏由于不容易变换视角,所以通常都采用2.5D俯视视角,这样不仅玩家的视野会比较开阔,操作游戏中不同对象也比较容易,如“帝国时代”手机版(如图6-12所示)采用的就是斜45°俯视视角。

▲图6-12 手机游戏“帝国时代”的视角

● 缩略地图

策略游戏中的地图都非常大,这样能够保证开展游戏的多方阵营能够在初期平稳地生存。在这种情况下缩略地图对于玩家来说就是一个非常有用的工具了。利用缩略地图,玩家可以迅速把镜头从一个地方切换到另一个地方,同时也可以迅速了解游戏局势。

● 题材设计

策略游戏的题材形式并不多,一般都与战争有关,只是选择的背景不同,除了选用历史题材外,通常魔幻和玄幻题材的故事也比较多。往往一个成功的策略游戏,其引人入胜的背景故事功不可没,一些策略游戏的背景故事甚至还会改编成电影或其他文学作品。

● 游戏平衡设计

策略游戏中往往会出现许多的阵营,如移植自电脑同名游戏的“文明”(如图6-13所示),不同的阵营之间所具有的游戏角色和发展路线也不一样,否则游戏的可玩性将会大大降低。而如何让不同阵营在游戏的进行中保持平衡就需要好好考虑的问题了,一款失衡的策略游戏将也会失去大批的玩家。

▲图6-13 “文明”游戏画面

养成类游戏是目前手机游戏中的新贵,养成类游戏来自于曾经风靡的电子宠物,但后来随着手机软、硬件性能的不断提升,加上手机这种随身携带的特性,养成类游戏慢慢成为了手机平台下不可忽视的一类游戏。

● 玩家个数

养成类游戏一般强调主人(即玩家自己)同被养者之间的关系亲密程度,所以一般这类游戏都是单人模式。不过有些养成类游戏为了给玩家一个展示成果的机会,增加了联网的模块来让不同的玩家带着自己的宠物进行各个方面的PK。

● 游戏过程

养成类游戏一般不要求玩家费过多的脑筋,而且其游戏节奏也很慢,因为一个优秀的宠物不是一朝一夕就培养出来的。玩家玩这类游戏主要的乐趣来源于宠物在自己的照料下一点一点地成长,接受训练并且能够和玩家进行一些简单的情感交流等。

● 取胜条件

除了网络版的养成类游戏时不时地会把宠物搬出来进行 PK,一般情况下养成类游戏没有获胜的概念,这点是和其他类型游戏的最大不同。不过还是会有失败的情况,比如在培养的过程中一时疏忽使宠物死掉了。

● 宠物造型

养成游戏中玩家基本上不会出现在游戏中,所以主要显示的内容就是宠物,对于宠物的造型就需要多花些功夫雕琢了。往往在养成游戏中的宠物都不是现实生活中能直接找得到宠物,宠物或者是一些经过改造过的地球生物,或者干脆是科幻的产物,有些养成类游戏的被养对象还可能是人。

● 游戏画面

通常情况下养成类游戏的显示元素比较单一,主要为被养的对象,所以为了提高玩家的视觉体验,应该把游戏的画面做好规划。同时在游戏中还需要设计管理面板等界面,如宠物属性面板的布局等。图6-14显示的是养成类手机游戏“口袋妖怪”的宠物显示面板。

▲图6-14 “口袋妖怪”的宠物面板

● 宠物设计

宠物的设计是养成类游戏的设计重点,因为其相当于是整个游戏的招牌。设计宠物时除了要设计其外在形象,还需要设计其各种属性,如宠物所具有的技能和宠物的成长路线等。

● 培养方式设计

养成类游戏的培养方式设计也很重要,否则玩家就会发现其宠物过于迟钝或是聪明,无法从中体会到成就感。一般来说游戏通过以下几种方式来留住玩家。

(1)把事件变复杂,这里并不是把事件变得困难,只是将其分解得更细致一些。如想要提高宠物的快乐值,游戏并不会提供一个菜单选项叫做“提高快乐值”那样简单,相反,玩家可能需要先喂饱宠物,给宠物洗个澡再和宠物聊天玩耍……这么做不仅会让玩家有事可做,同时也会丰富游戏的内容。

(2)用时间控制游戏过程,如要让宠物学会一项技能,宠物不可能马上就学会,而是需要经过一定的时间后才能学会,这样用时间也可以留住玩家。

(3)多让玩家介入游戏,有了时间来控制游戏过程,游戏的过程中也不应该把玩家晾在一边太长时间,应该尽量让玩家参与更多的决策,可以设计宠物不同的成长路线来让玩家来选择,这样让玩家深度介入,会更容易留住玩家。

● AI设计

游戏中的人工智能(AI)也是不得不考虑的设计内容,宠物如何在玩家不干涉的情况下自动衰减自身的诸如饥饿、心情等属性,如何响应主人(玩家)的诸如问候之类的交互等,这些都需要开发相应的人工智能算法。

● 其他游戏元素的设计

看了上面的介绍,读者朋友可能会觉得对于玩家来讲,养成游戏或许显得太简单了。的确是这样,但是目前,市面上的一些养成游戏会在游戏中加入其他的游戏元素,如带领宠物和怪物进行战斗、与宠物一起玩益智游戏等。这样一来养成类游戏的可玩性就会大大提高。

经营类游戏是另外一种需要玩家长时间关注的游戏,经营类游戏一般模拟现实世界中的某种行业如餐馆或公司等,如手机游戏“地产大亨”(如图6-15所示)就是让玩家通过对房屋土地的买卖或出租成为富翁。玩家的游戏目标在于超越游戏中的其他对手,获得自己的发展,并从经营和管理自己现实中很少接触的事物中获得乐趣。

▲图6-15 “地产大亨”游戏画面

● 玩家个数

手机平台下的经营类游戏一般都为单机模式,在有些经营类游戏中玩家主要关心的是如何管理好自己,而在一些游戏中往往会为玩家提供一些竞争对手来增加挑战。

● 获胜条件

对于一些不太具有侵略性的经营类游戏(如经营餐馆),往往没有一个确定的取胜条件,玩家的乐趣在于经营中的收获。有些经营类游戏则需要向策略类游戏那样不断发展扩张自己的势力,最后打败其他的竞争对手赢得胜利。

● 游戏视角

经营类游戏中,玩家要关注的地方很多,所以在手机平台下一般都采用45°(或90°)的2D俯视视角来呈现游戏的画面。

● 游戏界面

不管是侵略性的经营游戏还是简单管理类的经营游戏,都需要为玩家提供一个可以浏览其所经营项目的运作情况的界面,一般来说这些界面就是一些游戏属性的展示。同时还要为玩家提供一个管理面板来对其所掌握的资源进行分配等操作。

● 游戏流程的发展

不同于策略游戏,在经营类游戏中玩家对于整个游戏进程的影响不是特别大(除非是到了玩家已经很强大的时候),所以游戏中大部分时间需要在程序中控制游戏的发展流程,如调动AI去和玩家竞争或随机产生突发事件。

● 资源的平衡设计

经营类游戏从本质上讲,就是玩家不断收集资源发展自己的过程,所以每个经营类游戏内部都会有一个资源系统,这种资源可以是最普通的金钱,也可以是人(如“实况足球经理”),还可以是土地(如“地产大亨”)等其他东西。

有些资源会在游戏中被玩家消耗掉,然后产生新的,有点则是在不同人的手中来回交换或交易,还有的则是自动产生自动消耗。所以在设计游戏的时候需要对涉及到的资源进行详细分类,并在游戏进行中进行合理的管理。

体育类游戏是面向体育爱好者的一类游戏,虽然拥有的玩家群体不如角色扮演或益智类游戏多,但是体育类游戏还是在众多的手机游戏种类中因独特的内容题材占有一席之地。

● 玩家人数

由于手机平台下的局限性,一般的体育类游戏都为单机模式,即玩家进行体育竞技的对象是电脑AI,这时游戏的可玩性很大程度上取决于AI的真实程度。

● 取胜方式

体育类游戏主要是模仿现实中体育竞技运动,所以取胜方式就是赢得比赛的胜利,或根据剧情需要赢得一系列比赛的胜利,如“NBA 职业篮球”(如图 6-16 所示)。在这类游戏中玩家主要操控的对象是一个或多个运动员。

▲图6-16 “NBA职业篮球”游戏画面

有一种体育类游戏融合了经营管理类游戏的元素,使得游戏的乐趣不在于取得竞技上的胜利,而是把一个俱乐部经营管理好,玩家扮演的角色,也不再是运动员,而是教练或经理之类的管理职务,如“实况足球经理”(如图 6-17 所示)这样的游戏。

▲图6-17 “实况足球经理”游戏画面

● 游戏视角

体育类游戏的视角应该取决于竞技项目,如果是一对一的比赛,如网球或摔跤等,那么既可以取第一人称视角,也可以取其他视角,因为只要能够看到对手就行。但是对于团队竞技项目(如篮球、足球等),一般不会选择第一人称视角,因为玩家需要实时掌握场上的局面。

而对于一些竞速性质或带有跑道的竞技项目(如滑雪、游泳等),一般采用背后视角来设计游戏,有一些也会采用类似闯关类动作游戏的横向滚屏式。

● 动画设计

对于需要模拟真实竞技场景的体育类游戏,对于人物造型和人物动作的设计也很重要,否则玩家会因为生硬的人物线条和扭曲的人物动作提前放弃游戏。

● 操作游戏的设计

在体育类游戏中,由于竞技方式的多样化,往往需要向所控制角色下达很多命令。而手机的操作接口是有限的,只有方向键或其他数字按键等,所以在设计游戏时需要对游戏的操作接口进行详细的研究,确保玩家能够感觉到完整的运动体验。

● 人工智能设计

对于单机模式下的体育类游戏,除了模仿真实运动场景的动画外,人工智能的设计也算是比较重要的环节。对于体育类游戏的 AI,可以采用记录状态的方式来设计 AI,比如在多人球类竞技比赛中,当电脑控制的角色处于不同的状态时(如进攻态和防守态),所采取的对策也不一样。

本章对目前流行的手机游戏类型逐一进行了介绍。希望读者对这些游戏的主要玩法和不同于其他游戏类型的独到之处有所了解,以便自己在开发相应类型的手机游戏时能够做到心中有数。

虽然本章将各种游戏类型分开介绍,其实随着手机产业的不断发展,一些手机游戏类型之间的分类也越来越模糊,很多手机游戏中融合了不同游戏类型的风格。还有一些新的游戏类型在悄然出现,读者在实际开发中也需要注意这些问题。

图书在版编目(CIP)数据

Android游戏开发大全/吴亚峰,于复兴,杜化美编著.--2版.--北京:人民邮电出版社,2013.7

ISBN 978-7-115-31707-0

Ⅰ.①A… Ⅱ.①吴…②于…③杜… Ⅲ.①移动电话机—游戏程序—程序设计 Ⅳ.①TN929.53②TP311.5

中国版本图书馆CIP数据核字(2013)第112017号

内容提要

本书是讲解Android游戏案例开发的专业书籍,全书分两篇共19章,第1篇Android游戏开发核心技术,主要包括Android游戏开发的前台渲染、交互式通信、数据存储和传感器、网络编程、游戏背后的数学与物理、游戏地图开发、游戏开发小秘技、游戏的心脏——物理引擎、OpenGL ES 3D应用开发基础等;第2篇Android游戏开发实战综合案例,包括现在流行的游戏类型,如滚屏动作游戏——太空保卫战、棋牌游戏——中国象棋人机对弈、物理传感器游戏——哇!重力球、塔防游戏——炫彩塔防、策略游戏——回到战国、体育游戏——2D迷你桌球、益智游戏——3D魔方、物理引擎游戏——盛怒的老鼠。

本书适合Android初学者、有Java基础的读者、在职开发人员、游戏开发爱好者、程序员,以及大中专院校相关专业的学习用书和相关专业培训学校的教材。

◆编著 吴亚峰 于复兴 杜化美

审校 百纳科技

责任编辑 张涛

责任印制 程彦红 杨林杰

◆人民邮电出版社出版发行  北京市崇文区夕照寺街14号

邮编 100061  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

中国铁道出版社印刷厂印刷

◆开本:787×1092 1/16

印张:41.25  彩插:2

字数:1143千字  2013年7月第2版

印数:6501–10000册  2013年7月北京第1次印刷

定价:89.00元(附光盘)

读者服务热线:(010)67132692  印装质量热线:(010)67129223

反盗版热线:(010)67171154

广告经营许可证:京崇工商广字第0021号

相关图书

Android App开发入门与实战
Android App开发入门与实战
Kotlin入门与实战
Kotlin入门与实战
Android 并发开发
Android 并发开发
Android APP开发实战——从规划到上线全程详解
Android APP开发实战——从规划到上线全程详解
Android应用案例开发大全( 第4版)
Android应用案例开发大全( 第4版)
深入理解Android内核设计思想(第2版)(上下册)
深入理解Android内核设计思想(第2版)(上下册)

相关文章

相关课程