Unity3D的RPG游戏的设计与实现-以《召唤之夜:铸剑物语》为例_第1页
Unity3D的RPG游戏的设计与实现-以《召唤之夜:铸剑物语》为例_第2页
Unity3D的RPG游戏的设计与实现-以《召唤之夜:铸剑物语》为例_第3页
Unity3D的RPG游戏的设计与实现-以《召唤之夜:铸剑物语》为例_第4页
Unity3D的RPG游戏的设计与实现-以《召唤之夜:铸剑物语》为例_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Unity3D的RPG游戏设计与实现--以《召唤之夜:铸剑物语》为例DesignandimplementationofRPGGamebasedonUnity3D--Like《SUMMONNIGHT:SwordcraftStory》内容摘要19世纪60年代,伊利诺大学厄巴纳-香槟分校于ILLIACI(当时的超级计算机)上,开发出一种用于自动教学的程序控制逻辑(ProgrammedLogicforAutomatedTeachingOperations),简称为:柏拉图系统(PLATO),其诞生让电子游戏有了一块最早的试验田。1974年,一款名为《m199h》的RPG游戏,是世界上最早的一款RPG游戏,就诞生在柏拉图系统上,但不幸被管理员无情的从这个世界上抹去了;隔年,一款名为《地牢》的游戏,作者存储在柏拉图时将其命名为“未命名图片5”,则有幸逃过了此劫,成为了目前世界上能玩到的最古老的RPG游戏。而RPG游戏的出现,则要归功于1974年出版的划时代桌游《龙与地下城》(DUNGEONS&DRAGONS),简称DND,毫不夸张地说,DND桌游就是现在所有角色扮演类游戏的鼻祖和源头,可见,RPG游戏能在将近50年后的今天依旧有着无数玩家热衷,其魅力和趣味性是不可小视的,也是我们游戏开发者最值得学习的。说到这里,我们不得不佩服50年前的那些开发者,他们在远比今天落后将近半个世纪的设备上创造出了远不输现今日游戏的设定和理念,真正的“带着镣铐跳舞”。因而借此契机,本次课题我将使用Unity3D上的fungus插件尝试对17年前的一款名为《铸剑物语》的RPG游戏进行剖析与再创作,去挖掘RPG游戏系统的深度,了解并学习当时游戏开发者的创作思维。关键词:柏拉图电子游戏Unity3Dfungus铸剑物语AbstractInthe1860s,theUniversityofIllinoisatUrbana-ChampaigndevelopedakindofprogramcontrollogicforautomatedteachingonILLIACI(thensupercomputer),abbreviatedasPLATO,whichbecametheearliestexperimentalfieldforelectronicgames.In1974,anRPGgamenamedm199hwastheearliestRPGgameintheworldandwasbornonPlato'ssystem,butunfortunatelyitwasruthlesslyerasedfromthisworldbytheadministrator.Thefollowingyear,agamecalledDungeonwasnamed"UnnamedPicture5"bytheauthorwhenitwasstoredinPlato.ItwasluckyenoughtoescapethedisasterandbecametheoldestRPGgameintheworld.TheemergenceofRPGgamesisattributedtotheepoch-makingboardgameDUNGEONS&DRAGONS,orDND,publishedin1974.ItisnoexaggerationtosaythatDNDboardgameistheoriginatorandsourceofallrole-playinggames.ItcanbeseenthatRPGgamescanstillbeenjoyedbycountlessplayersnearly50yearslater.Itscharmandinterestarenotnegligible,anditisalsothemostworthlearningforourgamedevelopers.Speakingofwhich,wehavetoadmirethosedevelopers50yearsago,whocreatedthesettingandconceptoftoday'sgameontheequipmentthatisnearlyhalfacenturybehindtoday's,truly"dancingwithshackles".Therefore,takingthisopportunity,Iwillusethefungusplug-inonUnity3Dtotrytoanalyzeandre-createanRPGgamecalled"SwordCastingStory"17yearsago,soastoexplorethedepthofRPGgamesystem,understandandlearnthecreativethinkingofgamedevelopersatthattime.Keywords:PLATOElectronicgamesUnity3DfungusSwordcastStory目录TOC\o"1-3"\h\u19089第一章绪论 参考文献[1]绯川陵彦.铸剑物语——召唤之夜[J].数字化用户,2003(06):82-94.[2]徐昊.RPG游戏角色视觉形象的审美现代性研究[D].哈尔滨工业大学,2010.[3]于水华.浅淡RPG游戏开发的关键技术[J].电脑与电信,2011(02):66-68.[4]徐萌.浅谈RPG游戏的制作[J].黑龙江生态工程职业学院学,2012,25(01):42-43+55.[5]黎首希.RPG游戏角色设定的艺术特征和方法分析[J].艺术与设计(理论),2014,2(12):88-90.[6]朱昊然.自由交互下RPG游戏的形象设计与体验研究[D].江西师范大学,2015.[7]闫欢,于延,陈媛媛.交互性在RPG游戏中的作用研究[J].黑龙江科学,2015,6(06):88-89.[8]王晨.RPG游戏概念设计中的角色服饰与装备研究[D].北京服装学院,2016.[9]周艳,杨婉莎.浅谈RPG游戏中角色的性格塑造[J].设计艺术研究,2017,7(04):26-29.[10]徐婉珍,李强,魏菊霞.在游戏开发实践中培养程序设计能力[J].计算机教育,2017,(02):104-106.[11]曹冲.角色扮演类手机游戏界面的设计[J].计算机产品与流通,2019(02):154.致谢论文到这就算是进入尾声了,然而我的心情却无法轻松下来,思绪乱如麻,对未来的迷茫,对过去颓废的遗憾,让我百感交集;四年的大学时光转瞬即逝,十六年的学子生涯亦将要在不久后挥手告别,这一路走来的点滴片段,此时此刻如同影响般萦绕于心,无论快乐、悲伤、收获亦或是挫败,如今都显得是那样的珍贵而温暖。首先要深深地感谢我的论文导师魏菊霞老师,感谢您即使身负重任,依旧抽时间为我们开选题会,还认真督责我们的课业,指引我们研究思路,给我的论文选题以及项目设计与编写带来了莫大的帮助。再次衷心向魏老师表示真诚的谢意和崇高的敬意。感谢朱子浩同学对fungus插件的前期使用心得,让我在对项目的设计上少走了弯路,你平易近人,做事认真,为人风趣幽默而谦逊是值得我去不断学习的。另外还要感谢晨梦工作室内的所有同学以及各位室友,我们一同学习进步,即使期间因为意见不合也闹过矛盾,最后也还能互利共勉,我真的很庆幸能有如此良师和各位益友,让我无论在生活、学习或是工作上,都得到了无私的帮助和和真心的支持,令我的四年大学生活充满了温暖与快乐。随后还要感谢我的家人,感谢他们对我的理解,免除我近一个月的家务活,虽然在论文上给予不了帮住,但让我有了充足的时间,即使过程磕磕绊绊,最后依旧能够顺利完成此次论文。

附录附录1角色移动的总体脚本剩余定义:privateAnimatorani;publicfloatspeedThreshold=0.2f;//速度阀值publicfloatspeedDamp=0.05f;//速度阻尼publicfloatdirectionDamp=0.05f;//转向阻尼privatefloatdirection=0;//朝向privatefloatangle=0;//角度privateVector3vt=newVector3();privateTransformtrans;privateAnimatorStateInfostateinfo;privateAnimatorTransitionInfotransinfo;Start处写入:ani=GetComponent<Animator>();trans=transform;_idleTLID=Animator.StringToHash("BaseLayer.IdleTurnLeft");_idleTRID=Animator.StringToHash("BaseLayer.IdleTurnRight");_idlePivotTransLID=Animator.StringToHash("BaseLayer.Idle->BaseLayer.IdleTurnLeft");_idlePivotTransRID=Animator.StringToHash("BaseLayer.Idle->BaseLayer.IdleTurnRight");Update处写入:stateinfo=ani.GetCurrentAnimatorStateInfo(0);transinfo=ani.GetAnimatorTransitionInfo(0);vt.x=Input.GetAxis("Horizontal");vt.y=Input.GetAxis("Vertical");StickToWorldspace();floatspeed=vt.sqrMagnitude;ani.SetFloat("speed",speed,speedDamp,Time.deltaTime);ani.SetFloat("direction",direction,directionDamp,Time.deltaTime);if(speed<speedThreshold){direction=0;}if(!IsInPivot()){if(speed>speedThreshold){ani.SetFloat("angle",angle);}else{ani.SetFloat("direction",0);ani.SetFloat("angle",0);}}if(Input.GetKeyDown(KeyCode.K))//按住K键{ani.SetBool("speedup",true);//加速为真,开始奔跑}if(Input.GetKeyUp(KeyCode.K))//松开K键{ani.SetBool("speedup",false);//停止奔跑}附录2角色对话的总体脚本定义:publicstringChatName;privateboolcanChat=false;//默认不可对话privatevoidOnTriggerEnter(Colliderother)//玩家进入对话范围{canChat=true;}privatevoidOnTriggerExit(Colliderother)//玩家离开对话范围{canChat=false;}voidSay()//对话{if(canChat){FlowchartflowChart=GameObje

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论