基于Android操作系统的手机游戏程序研发毕业论文
2020-02-23 18:22:05
摘 要
作为信息革命的产物之一,电子游戏受到了越来越多的玩家的喜爱。随着21世纪移动互联网对移动电子设备发展的大力促进,电子游戏的运行平台也拓展至移动设备。
本文将使用当前流行的游戏引擎:Unity来开发一款基于Android操作系统的手机游戏程序。从开发环境与运行平台说起,通过软件工程的需求分析与可行性分析,进行游戏系统设计,最终通过完成游戏策划、游戏美术和游戏程序编写来实现一款移动端第三人称射击游戏。
本程序使用C#作为脚本语言,使用MMD模型作为人物模型,同时使用Blender、3Ds max等建模软件修改制作美术素材。本次开发计划实现一个运行在移动端的第三人称的射击游戏,不仅要求具有一定的可玩性,同时对运行效率也有所要求,即要求此游戏能运行在主流配置的安卓手机上。
关键词: 电子游戏开发,Unity,3D模型
Abstract
As one of the results of the information revolution, video games are more and more popular among the players. With the development of mobile Internet and mobile electronic devices in twenty-first Century, the platform of video games has also been extended to mobile devices.
This article will use the current popular game engine: Unity to develop a mobile video game program running on Android operating system. Beginning with the development environment and runtime platform, as well as the software engineering requirements analysis and feasibility analysis, the game system design is carried out. Finally, a third person shooting game running on mobile devices is developed through the completion of game planning, game art and game programming.
This program will use C# language to write script and use MMD model as player model. A set of 3D software ,such as Blender、3Ds max will also be used .
Key Words:video game development, Unity, 3D model
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1开发背景 1
1.2国内外同类产品对比 2
1.3主要内容 3
1.3.1系统的功能 3
1.3.2系统的设计文档 3
1.4实施步骤 4
第2章 开发环境与运行平台综述 5
2.1开发环境简介 5
2.1.1 Unity 5
2.1.2 Blender 5
2.1.3 3ds Max 6
2.1.4 Mixamo 6
2.1.5 MMD相关软件 6
2.2 运行平台简介 6
第3章 系统需求与可行性分析 8
3.1系统需求分析 8
3.1.1功能性需求 8
3.2.1非功能性需求 8
3.2系统可行性分析 9
3.2.1社会可行性 9
3.2.2技术可行性 9
3.2.3经济可行性 10
第4章 游戏系统设计 11
4.1功能模块设计 11
具体对应情况如下表 12
4.2.1开始场景 12
4.2.2游戏场景 13
4.2.3结算场景 14
4.3系统运行流程 14
第5章 游戏系统实现 16
5.2系统功能实现 16
5.2.1游戏策划实现 16
5.2.2游戏美术实现 17
5.2.3游戏编程实现 22
第6章 游戏系统测试与评价 30
6.1系统测试 30
6.1.1 开始场景 30
6.1.2 游戏场景 31
6.1.3 结束场景 34
6.2系统成果及评价 34
结 论 35
参考文献 36
第1章 绪论
游戏,是一种社会行为,其基于一定物质条件的同时,以作为“游戏规则”的约定来限制参与者,使参与者能够从中获得精神享受与技巧训练。从历史上看,游戏是一种非常古老的社会行为,它贯穿于整个人类社会,甚至可以追溯到原始人类投石子等活动。
随着人类文明的发展,游戏也随之变化,其中最具代表性的是游戏载体的变化。进入第三次工业革命,随着信息技术的发展,20世纪60年代末,人类历史上出现了以计算机等电子设备为载体的电子游戏,电子游戏相对于传统游戏有以下优点:
1.拟真度高,沉浸感强:得益于计算机图形学等计算机学科的发展,电子游戏现在能够实现极为逼真的效果。
2.游玩方便:相对于麻将、扑克等传统游戏,电子游戏只需要通用的游戏平台便可以运行成千上万款不同类型的游戏,而往往传统游戏需要专用的道具。
3.参与人数多:相对于传统游戏,网络电子游戏能支持多达上万人游戏同时游玩。
电子游戏因为以上特点,深受学生群体的喜爱,而Android操作系统作为一款成功的移动端操作系统,技术先进,用户数量多,对游戏开发者也十分友好,因此,计划开发一款基于Android操作系统的电子游戏。
游戏开发计划使用Unity开发工具,运行平台为Android操作系统,开发效果为:采用第三人称的射击游戏。
1.1开发背景
1961年诞生于MIT的《太空大战》开始[1],电子游戏的发展就和电子计算机技术的发展紧密联系。2018年,电子游戏从最早的以示波器为载体到现在游戏主机(Playstation、Xbox、NintendoSwitch等),PC,移动端(IOS、Android、塞班等)多平台载体,游戏越来越贴近人们的生活。同时,游戏自身的素质也逐渐的提高,相关的专业也发展得越来越快。从早期游戏开发者一人设计游戏、编写游戏、制作素材、推广游戏的模式,分工逐渐清晰,专业性越来越高:游戏开发活动中,游戏策划、游戏编程人员、美工等分工使得游戏工业逐渐从襁褓中走向成熟。
今年来发展最快的游戏方向是移动端[2],以Android为代表的智能手机的出现和发展不仅使得移动互联网等新兴技术蓬勃发展,也深刻影响了游戏行业。以下列举目前游戏发展的几个趋势:
⑴传统平台热度降低,人们逐渐倾向于在移动端游玩游戏。因为现代人生活节奏加快,移动端游戏能够充分利用人们的零碎空闲时间(例如,搭乘地铁的时间)来娱乐。[3]
⑵游戏难度、操作有简化的趋势。传统的硬核游戏不适合移动端休闲游戏的大潮流,人们越来越倾向于游玩操作简单、难度简单的休闲游戏(极端的,例如曾经流行过的“天天打波利”,只需玩家登陆游戏,无需操作人物)。这也是由于硬核游戏不适合利用零碎时间游玩[4]。
⑶游戏同质化严重,市场急需模式创新。随着资本市场越发注意到游戏行业的丰厚利润,越来越多的游戏厂商倾向于制作经过市场检验的成熟游戏模式(如2017年游戏《绝地求生》爆红后,网易、腾讯等公司纷纷立项开发类似的移动端手游),市值越大的游戏厂商越不愿意制作创新型游戏,因为随着游戏市场竞争越发激烈,游戏开发成本逐渐提高[5],开发新的游戏模式带来的风险越大。
⑷随着游戏引擎、计算机图形学的发展,游戏程序编写难度降低,游戏的优劣越来越取决于游戏的核心玩法和游戏的画面、音乐交互素质。这对游戏策划、游戏美工、游戏音响师的要求越来越高。优秀的画面往往能先发制人地吸引新玩家,优秀的游戏策划能够保证玩家不回过多流失[6]。
⑸移动游戏发展过程中,我国游戏制作质量逐渐提高。21世纪初电子游戏被视为洪水猛兽的年代,我国游戏与国外游戏差距逐渐拉大,国外游戏以索尼、任天堂、育碧、美国艺电、动视暴雪等厂商为代表,拥有成熟的游戏工业化体系,全面碾压国内产品。
随着群众对电子游戏逐渐接受[7],我国游戏厂商凭借移动互联网以及智能手机的浪潮,逐渐追赶上了国际水平,部分领域(移动端游戏等)实现反超。《崩坏3》《碧蓝航线》《少女前线》等国产优秀游戏走出了国门,甚至在传统游戏大国:日本、韩国赢得了良好的口碑和市场认可。腾讯公司在2017年全球游戏公司收入榜排名第一,网易公司排名第四。
基于对目前国内外游戏行业的分析,选择基于Android操作系统的手机游戏程序研发题目,学习制作玩家喜欢、玩法有创新、完成度高、符合核心价值观的Android端手机游戏。
1.2国内外同类产品对比
根据我对国内外相似游戏的试玩,我发现国内外玩法类似的游戏有着各自的优点和缺点,其中列举一部分如下:
(1)《崩坏3》:优点:画面精细,人物设计精美,动作流畅,打击感强;缺点:数值设计容错率低,故事背景薄弱,音乐不出彩 。
(2)《敢达 争锋对决》:操作界面布局合理,背景故事详尽,人物(机体)设计美观;缺点:模型粗糙,多边形数目低,游戏优化不够好,运行性能低。
(3)《鬼泣》:Combo连招华丽,风格精湛,画面华美;缺点:无法锁定,单人战役时间过短。
(4)《高达VS》:美术风格优秀,人物(机体)设计精致,画面表情优秀,背景音乐经典,流畅的画面和极佳打击感;缺点:玩法略显单一,上手难度高。
(5)《猎天使魔女》:优点:背景故事充满想象力,一流的视觉效果和艺术效果,恰到好处的音效,动作流畅有趣风格独特,游戏内容丰富。缺点:制作成本略低,故事情节较为松散,语音略显做作。
1.3主要内容
1.3.1系统的功能
基于Android操作系统的游戏系统的系统功能主要有以下几点:
(1)角色选择场景:选择进入游戏的人物,启动游戏界面。
(2)游戏场景:玩家游玩游戏,游戏主程序循环,游戏结束后转入结算场景。
(3)结算场景:查看游戏结果,结束游戏或转到角色选择界面。
1.3.2系统的设计文档
基于Android操作系统的手机游戏的主要开发文档包括:
(1)手机游戏的详细规划:包括游戏系统设计规划,游戏系统实现规划,游戏测试规划等
(2)手机游戏的分析:详细的游戏系统需求分析、和游戏系统的可行性分析。
(3)手机游戏的设计:游戏规则设计,游戏数值策划,游戏美术设计。
(4)手机游戏的实现:游戏规则实现,游戏操作实现,游戏美术素材适配,游戏音频素材适配。
(5)手机游戏的测试及结果:试玩游戏,得出手机游戏的运行性能和评价是否满足手机游戏的功能需求和非功能需求。
1.4实施步骤
本项目的实施过程计划按照以下步骤来完成:
1.知识储备:学习开发平台与运行平台的相关知识,了解游戏开发活动的大致过程;
2.游戏系统需求分析:分析游戏系统的功能需求和非功能需求;
3.游戏系统实现:根据第一步学习到的开发技术,实现第三步的需求。
4.测试与评价:评估实现结果,得到经验和结论。
第2章 开发环境与运行平台综述
2.1开发环境简介
2.1.1 Unity
Unity是一款包含Unity Editor编辑器、美术设计工具、图形渲染解决方案、Unity游戏引擎等部件的跨平台游戏开发工具。其中开发者使用最多的是Unity Editor编辑器。
Unity Editor是一款与制作流程匹配的可扩展的一体化编辑器,具有多种工具,可在开发周期中进行快速编辑和迭代,其中的Play模式可让用户实时快速预览作品。Unity Editor主要包含以下组件[8]:
一体化编辑器: 支持Windows和Mac系统,涵盖了一系列用于设计沉浸式体验和游戏世界美术家易于使用的工具,以及功能强大的开发者工具套件,可用于实现游戏逻辑和高性能游戏效果。其中,Unity支持的脚本语言为C#或Javascript,本系统将使用C#。
2D和3D:同时支持2D和3D开发,具有可满足各种游戏类型特定需求的功能。
AI领航工具: Unity的导航系统可以让用户创建的NPC能够智能地在游戏世界中移动。该系统使用从场景几何体中创建导航网格,甚至是动态障碍物,以在运行时改变角色的导航。
用户界面: 内置的UI系统能够让用户快速、直观地创建UI界面。
物理引擎: 利用Box2D和NVIDIA支持实现高度逼真和高性能的游戏体验。
自定义工具[9]: 用户可以借助各种所需工具扩展Editor功能以匹配团队工作流程。创建或添加自定义的插件或在Asset Store中找到所需资源,Asset Store中有数千种能够帮助用户加快项目进程的资源、工具和插件。
2.1.2 Blender
Blender是一个开源的、多平台的、轻量级并且全能的三维动画制作软件[10],提供从建模,雕刻,绑定,粒子,动力学,动画,交互,材质,渲染,音频处理,视频剪辑以及运动跟踪,后期合成等等的一系列动画短片制作解决方案。
blender以python为内建脚本,支持yafaray渲染器,同时还内建游戏引擎,商业创作永久免费。
2.1.3 3ds Max
3ds Max是Adobe公司出品的一款三维建模、动画和渲染软件,借助 3ds Max三维建模和渲染软件,可以创造宏伟的游戏世界,布置精彩绝伦的场景以实现设计可视化,并打造身临其境的虚拟现实体验[12]。
2.1.4 Mixamo
Mixamo是Adobe公司的一个web应用,用于人物3D模型动作绑定,使用方便,其自带的动作商城资源十分丰富,涵盖了3D游戏制作的绝大部分动作需求。
用户能自行上传3D人物模型,Mixamo提供在线预览的服务。选择好动作后,Mixamo将在云端识别模型关节和骨骼,用户可以下载使用[13]。
2.1.5 MMD相关软件
MikuMikuDance是日本人樋口优所开发,将VOCALOID2的初音未来等角色制作3D模组的免费软件。 简称为MMD[14]。
目前,网络上有众多MMD爱好者为MMD制作3D模型,这些模型用于制作MMD舞蹈视频,所以一般素质极高,多边形数目高,关节丰富,在制作独立游戏时由于缺乏商用3D模型素材,可以使用MMD模型。
游戏制作中使用到的MMD相关软件主要有:
(1)MMD4Mecanim插件:这是一款Unity插件,能将MMD模型和动作数据从专用格式转换为通用的fbx格式。[11]
(2)PmxEditor用于编辑、制作Pmx格式的MMD模型。
2.2 运行平台简介
本游戏运行平台是安卓操作系统。安卓是谷歌(Google)公司开发的一款移动操作系统, 基于定制版的 Linux kernel内核 和其他开源软件。该操作系统的首要适配目标是类似于智能手机和平板电脑这样的移动设备[15]。另外, Google 还为电视开发了 Android TV, 为智能汽车开发了Android Auto, 以及为智能手表开发的 Wear OS, 这些特殊操作系统都拥有定制的交互界面。 安卓操作系统还用于游戏主机, 数码相机, 个人计算机以及其他的电子设备中。
安卓操作系统最初由Android Inc.公司开发。Android Inc.由Andy Rubin、Rich Miner、Nick Sears和Chris White在加利福尼亚帕洛阿尔托,于2003年10月创建。Rubin将安卓项目描述为“开发更智能的移动设备的巨大潜力,使其更有能力感知到其所有者的位置和偏好”。该公司的早期计划是开发一种先进的数码相机操作系统,这成为了2004年4月向投资者展示项目的基础。此后,该公司意识到,相机市场不够大,不能实现公司的目标。于是五个月后,它转移了工作重心,并把安卓作为手机操作系统,将与诺基亚的塞班操作系统(Symbian)和微软公司的Windows Mobile操作系统竞争。
2005年,谷歌收购了Android Inc.。此后,安卓于2007年正式发布,其中,世界上第一款商用安卓设备于2008年9月推出。迄今为止,安卓操作系统已经经历了众多主要版本,目前的版本是2017年12月发布的8.1版“Oreo”。核心Android源代码被称为Android开源项目(AOSP),主要是在Apache许可下进行授权。
安卓还和谷歌开发的一套专用软件有关,其中包括Gmail和谷歌搜索等服务的核心应用程序、谷歌应用的应用商店和数字分发平台,以及相关的开发平台。这些应用程序是由谷歌强制标准认证的Android设备制造商授权的,但是,AOSP已成为某些安卓竞争者的生态圈基础,例如亚马逊网站的Fire OS,它利用自己的产品来替代这些谷歌移动服务。
第3章 系统需求与可行性分析
3.1系统需求分析
基于安卓操作系统的手机游戏程序开发前期,首先将对本游戏系统的需求进行分析,包括功能性需求与非功能性需求分析。
3.1.1功能性需求
本项目是基于安卓操作系统的手机游戏程序,根据一些国内外各个平台优秀游戏案例,如《崩坏3》、《高达VS》,结合自身技术能力、开发成本等现实情况,在成本与实现效果之间做了权衡,确定游戏策划如下:
游戏类型为:第三人称射击游戏;
游戏基本操作为:摇杆控制移动,屏幕拖动旋转视角,自动锁定目标,子弹有移动时间但可以躲避。
游戏规则为:游戏地图为平面地图,地图上散布着若干僵尸角色,并随机刷新,玩家距离僵尸距离较近时僵尸会追逐玩家,僵尸接触玩家后会攻击玩家。玩家角色使用突击步枪自卫,角色自动锁定屏幕中最近的僵尸,僵尸遭受一定攻击后会死亡,一段时间后僵尸尸体会消失。玩家遭受攻击会损失生命值,寻找到地图上的“血包”后可以回复一定生命值。玩家角色生命之归零后游戏结束。系统根据玩家击杀僵尸数量和游戏时间评价分数。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: