本科生毕业设计(论文)开题报告毕业设计题目:基于Unity3D引擎的“风之幻想”角色扮演游戏设计与开发学院:信息科学与工程学院专业班级:计算机科学与技术****班学生姓名:**指导教师:****20**年3月24日基于Unity3D引擎的“风之幻想”角色扮演游戏设计与开发一、课题研究的目的和意义1.选题的目的目前,游戏玩家对游戏性质和画面的要求越来越高,并且在不断要求更加新颖的游戏方式,更加美好的游戏体验。此外,游戏也逐步在向着移动终端进行扩展,手机游戏也因此正在蓬勃发展。利用Unity3D游戏引擎,不仅能够实现键盘鼠标的输入操控,还能够应对触屏触摸输入。Unity3D强大的跨平台性能够成功地将游戏移植到手机、网页等等不同的平台,是一款非常优秀的游戏引擎。本课题旨在实践中学习游戏制作的基本方法,探索设计游戏的基本思路,合理地使用Unity3D游戏引擎,拟开发出一款功能较为完善、具有一定可玩性的游戏。2.选题的意义游戏,是人的本能之一。人们通过游戏进行学习,在游戏中思考人生,逐渐形成应对人生各种坎坷的意志。一款优秀的游戏,并不仅仅是给予玩家感官的刺激,更加是陶冶情操,深刻思想,获得知识的良好辅助。因为游戏本身的娱乐性质,可以大大地激发玩家的兴趣,而兴趣是学习的不二法门,所以在游戏过程中,人们并没有对学习产生或多或少的抗拒心理,注意力非常集中,并且能够主动地获取各种知识使得游戏能够更好地进展下去。如果,游戏能够提供具有深刻意义的知识,那么玩家就会很好地将这些知识记忆、理解甚至运用,学习效率会大大提升。一款具有深厚人文背景、游戏性能优秀、具有丰富知识的游戏能够在使得玩家在游戏的过程中潜移默化地学习到很多重要的知识,而这种学习方式是轻松而有效的。因此,设计优秀的、富于教育意义的游戏,是十分有意义的。3.国内外现状及发展趋势Unity3D是由UnityTechnologies开发的一款能够创建三维视频游戏和建筑可视化以及实时三维动画等类型互动内容的综合型创作工具,这是一款全面整合的专业游戏引擎。Unity3D使用交互的图形化开发环境,其编译器在Windows和MacOSX下,能够发布游戏到Windows、Mac、iPhone、Windowsphone8、Android等诸多平台。从游戏及动画的发展来看,实现效果从2D向3D转变,而在众多的3D游戏引擎中,Unity3D备受瞩目,由于其跨平台性强大,脚本语言简单,价格合理,支持各种插件,文档齐全等众多优点,现在正在成为众多厂商的第一选择。目前,使用Unity3D制作的游戏如仙剑奇侠传OL,最终幻想V,神庙逃亡2,绝代双骄,天神传,小小忍者等诸多游戏已经受到热烈的欢迎。相信未来几年,Unity3D将会得到更大的发展,成为3D游戏制作炙手可热的引擎,这将会使得更多制作精良的Unity3D游戏出现在各种平台上供玩家体验,其人才的市场需求非常巨大,而配合其他技术进行开发的程序人员更是难求,如Kinect与Unity3D为基础制作的体感游戏制作人员十分稀缺,十分抢手。二、课题研究的主要任务和预期目标1.主要任务及要求本课题以Unity3D游戏引擎为基础,结合适当的模型,构建适宜的游戏场景,编写相应的游戏代码对模型进行操控,接收外部各种方式的输入,实现玩家对于游戏的基本操控。设计游戏剧情,游戏UI界面,游戏外部文件等等游戏设计必要内容使得游戏的信息量扩大,可玩性提升,并且随着剧情的编写,一些富有教育意义的知识和思想能够得以渗入,这些都将会用人物对话的方式展现出来。最终完成一款功能较为完善、具有一定可玩性的3D角色扮演游戏。2.预期目标(1)完成游戏场景设计,实现人物在场景中的漫游;(2)完成游戏UI界面制作,实现各个功能界面和界面之间的转换逻辑;(3)成游戏脚本开发,实现游戏怪物AI、战斗系统、技能系统等游戏功能,为用户提供较为良好的游戏体验。三、设计方案1.设计思想为设计一个虚拟的游戏世界,需要使用Unity3D游戏引擎。游戏玩家能够通过操控游戏主人公进行相关的游戏活动。玩家需要拥有功能强大的游戏技能。游戏技能需要有较为丰富的功能,如伤害、增益减益效果、指向性攻击与非指向性攻击、单体攻击与群体攻击,自动攻击与非自动攻击。游戏技能与界面UI紧密结合,使得游戏技能的信息能够实时显示,并根据技能的状态有所不同。怪物需要有简单的AI。怪物能够在侦查范围内面朝游戏主人公,在追击范围内对游戏主人公进行追杀,能够在攻击范围内对游戏主人公进行攻击,而当游戏主人公逃离侦察范围时进入空闲状态。有些怪物需要有特殊的组件和来脚本释放它们的技能并对游戏主人公造成伤害。游戏要有丰富的装备与药品。装备需要有与游戏主人公属性相匹配的属性加成信息,此外每一个装备必须要有至少一个唯一的主动效果和唯一的被动效果,这些效果不可叠加,在最后一件同种类的装备被出售之后消失。装备的主动技能施放方式随着装备在装备包中的位置有所改变。药品需要有针对药效的脚本,不同种类的药品有不同的展示效果,计算脚本,持续时间等等信息。相同种类的药品连续使用的时候应该延长持续时间而不是互相抵消。2.方案论证(1)可行性在学习C#程序设计语言、数据结构、算法、软件工程等知识后,这个项目的推进成为可能。Unity3D游戏引擎能够在游戏场景中实现物理效果、光照效果等游戏所需要的效果,能够支持角色扮演单机游戏的开发。(2)先进性Unity3D是当前炙手可热的游戏引擎,其跨平台性优秀,文档齐全,发展前景良好。使用Unity3D制作的游戏已经在各大平台受到欢迎。(3)经济性一款优秀的、受欢迎的游戏能够带来巨大的经济利益,并能够促进周边产业的发展。(3)科学性Unity3D作为一款全面整合的专业游戏引擎,以此为依托能够实现功能复杂效果优秀的游戏开发,运用C#程序设计语言的面向对象的开发,能够系统而科学地开发出一款游戏。3.设计中要解决的主要问题和措施(1)如何实现场景漫游,而使游戏人物在遇到障碍物的时候能够受到阻碍或者回避障碍物。如何确定某个位置能够行走或无法行走,从而实现场景漫游。解决措施:在场景中对游戏模型进行标记处理,区分可行走位置和不可行走位置,使用场景烘焙的方式对场景、模型进行处理,计算得到可行走位置,为游戏人物附加Unity3D自动寻路组件,通过对场景中模型的标记的判断,计算得到行走目标、速度、停止距离等,实现场景漫游。(2)如何实现怪物的人工智能。使得怪物能够主动侦查、追击、攻击游戏主人公,实现人机对战的效果。解决措施:通过对距离的计算实现怪物的人工智能。怪物具有三个属性,分别是:侦查范围、追击范围和攻击范围。当游戏主人公在侦查范围之外时、怪物无法发现游戏主人公,并自动做出某些行为。当游戏主人公处于侦查范围内,怪物开始面向主人公但不追击。但主人公进入追击范围,怪物开始向着主人公奔跑,当怪物和主人公距离在攻击范围内的时候,怪物开始攻击主人公。(3)如何实现装备的唯一效果,即如何保证在购买装备动态添加的装备附加脚本不会重复,在出售装备的时如何销毁这些脚本。解决措施:使用脚本的存在与否进行标记,在每一次购买装备的时候检查脚本对象是否已经存在,如果是,就不增加脚本对象。在出售装备的时候检查背包中相同种类装备的数目,如果已经没有同种类的装备就销毁这个脚本对象。四、课题进度安排1、第一周至第三周:准备阶段,撰写开题报告和外文翻译,学习Unity3D相关知识,充实C#的相关知识。2、第四周至第五周:基本程序设计,游戏核心功能的确立。设计核心类,设计最基本的计算方法,如生命值消耗等等。编写移动、选定目标、战斗动画播放功能。建立基础的UI结构,并编写版面之间联系的代码。编写简易的怪物AI,实现最基本的战斗计算。设定最基本显示的UI,并为每一个参数提供更新脚本和更新方法。搜集并且设定怪物模型、脚本及其联系、战斗参数、特殊战斗脚本及其效果。设定基础键位,并为键位设计相应脚本。建立脚本之间的基本联系。使得玩家能够通过这些键位进行输入,操纵游戏人物。设计游戏人物攻击的方式,分为两种,近战攻击和远程攻击,设计脚本使得游戏人物能够自动分辨使用哪一种攻击方式。3、第六周至第八周:游戏功能深化阶段。设计装备,为每一个装备附加主动技能效果、被动技能效果、各类图标、设定装备基础属性并测试。编写装备购买、出售、合成等各类操作的代码。设计药品,设计图标、效果、属性、设计购买和使用的代码。为装备和药品设计UI。设计地形场景,如山丘、房屋、城堡、坟场、神庙等等,并为这些地型加上粒子效果、装饰物等等元素。对游戏场景进行烘焙,使得游戏人物可以通过自动寻路脚本组件进行寻路和行走。对于某些地型设定标签,使得游戏人物在经过的时候有不同的效果。设计怪物战斗效果,攻击与恢复效果进行测试和设计,每一个怪物都会有不同的特征。完善怪物AI,实现怪物追打目标的效果。设计NPC和与NPC进行对话的场景剧情系统,为每一位NPC编写对话内容、为一些NPC提供任务信息、唯一加成信息。4、第九周至第十一周:游戏功能充实阶段。设计技能,为每一个技能设定基本属性、粒子效果、物理效果、音效、图标、作用范围及其显示和每一个技能的功能代码。设定每一个技能的数值信息,并设计技能管理单元对游戏技能进行管理。设计NGUI的刷新脚本使得游戏技能能够自动被显示到基础界面。为怪物设计相关技能,这些技能会比较简单,为群体伤害技能。设计相关的技能界面,如技能信息界面,技能信息动态显示界面等。设计公共加成增益效果的获取、刷新;设计公共附加效果和技能的图标、效果代码。使得这些效果能够被任何携带者使用。设计武器效果、武器模型、相关武器逗号判定和变换的算法、设计剑刃效果的代码。设计“召唤队友”的功能,并为自己的召唤物设计选定、控制、死亡等等参数和脚本。完善UI,设计主显示面板、信息面板、装备面板、合成面板、药品面板、输入面板、历史记录面板、系统面板、剧情面板、连击面板、统计面板、存档面板、死亡与重生面板、文化面板等等。为每一个面板提供控制脚本、控件、设定脚本和脚本变量之间的联系。5、第十二周至第十三周:游戏深化阶段。编写存档、读档等文件关联,并为相关信息进行加密。设计各种控制单元,如技能控制、被动技能控制、技能升级控制、信息控制、装备控制、背包控制、合成控制、输入控制、声音控制、剧情控制、成就控制、增益效果控制、天空与时间控制、任务控制、击杀控制、统计控制等等。设定主线剧情,编写自动演进的剧情引擎并实现剧情推进,设定主线任务,并设定主线任务的剧情等诸多信息。扩展系统控制功能,如GUI的显示调整、天空盒的控制、小地图、界面显示信息、统计、摄像机控制等等。编写扩展内容,如游戏文化等等。6、第十四周:测试、完善、优化阶段。对现有的人物属性、怪物属性、装备技能、装备属性、各类加成计算方式,技能的使用及其效果,怪物的属性与战斗方式等等进行测试和平衡,保证游戏不会过于困难也不会过于简单。完善和丰富不同的计算方式,并在一定程度之上给予优化。7、第十五周至第十八周:完成阶段。撰写毕业论文,准备答辩。参考文献:[1]朱玉.基于Unity3D漫游系统的设计与研究[J].信息安全与技术,2014,12:78~81[2]蒋元,蔡胜军,何绍勇,祁玮.基于Unity3D的虚拟地理环境构建[J].现代计算机(专业版),2014,33:52~55[3]郭芳芳,刘志勤.Unity3D在教育游戏中的应用研究[J].教育观察,2012,10:47~50[4]刘孟全.Unity3D虚拟现实平台的重放功能设计[J].广西科学院学报,2013,01:34~36[5]何岗,李俊,张锋.基于Unity3D的消防3D情景实训系统的设计与实现[J].软件产业与工程,2014,06:43~48[6]赵治羽,陈倩云,李婷婷,张娟.基于遗传算法的Unity3D装箱系统设计[J].计算机与现代化,2014,06:141~144+149[7]熊耀.基于Unity3D粒子系统的三维影视特效开发研究[J].软件导刊,2012,11:134~136[8]张典华,陈一民,李磊.基于Unity3D的多平台三维空战游戏的开发[J]