二维冒险类游戏《幽梦奇谈》程序开发_第1页
二维冒险类游戏《幽梦奇谈》程序开发_第2页
二维冒险类游戏《幽梦奇谈》程序开发_第3页
二维冒险类游戏《幽梦奇谈》程序开发_第4页
二维冒险类游戏《幽梦奇谈》程序开发_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第1章绪论1.1课题背景及研究的目的和意义1.1.1选题背景近年来,随着数字娱乐产业的蓬勃发展,2D横版冒险类游戏凭借其直观的操作体验吸引了大量玩家。鉴于当前这样的状况,此次毕业设计决定选取《聊斋志异》蒲松龄.聊斋志异[M].北京:中华书局,2015蒲松龄.聊斋志异[M].北京:中华书局,20151.1.2目的和意义1.目的于技术实现层面而言,要开发出适用于2D横版冒险游戏的技术解决办法,运用模块化架构来设计游戏系统,其中有两个技术难点需要重点攻克:其一为基于Tilemap的古建筑场景动态生成技术,借助规则瓦片也就是RuleTiles达成传统建筑构件的参数化组合,其二是混合状态机系统,把武术动作分解成基础状态层以及特效叠加层,以此实现招式动画的顺畅过渡。在游戏文化层面,应要通过游戏传达浓厚的人文情怀,构筑一个引人入胜的全新世界,而非是将各种文化元素简单堆砌,毫无内涵,需要借助丰富的文化细节,使其变得立体富有意义。在游戏设计创作过程中萃取中华优秀传统文化中的思想智慧和价值理念,积极突破故事背景与文化元素应用同质化、表面化的困境。让游戏有更深层次,厚底蕴,高质量发展。2.意义在理论领域,本次毕业设计使数字媒体时代传统文化传承的理论界限得以拓展,叙事沉浸理论于本项目里获得发展,创新性地给出了“游戏化叙事”这一文化传播的全新路径。刘蓉蓉,刘蓉蓉,王健.代入、共情和沉浸:叙事视域下文字冒险游戏体验设计研究[J].美与时代(上),2023,(09):在社会价值上,该项目响应了国家文化发展战略。习近平总书记强调:“我们要结合新的时代条件传承和弘扬中华优秀传统文化,传承和弘扬中华美学精神。”《黑神话:悟空》通过在游戏画风、场景的设计上有奇山异水、庙宇古刹、怪物灵兽、雕栏壁画,又有天地变幻、四季交替、神魔交战,无论是画面质感还是情节设计,都透露着独具匠心的东方审美。同时,游戏将众多中式神话元素贯穿其中,将国内诸多建筑和雕塑都转化为游戏内的绝景。它的火爆也表明游戏已成为Z世代接受传统文化的重要渠道。许丹荔,王炳涵.游戏作为媒介赋能中华文化创新传播的实践探索——以《黑神话:悟空》为例[J/OL].统一战线学研究,1-12[2024-11-13].本项目通过年轻玩家喜爱的游戏形式传播《聊斋志异》,有助于增强文化认同感。《光·遇》中禅宗美学的应用也表明,追求“简素美”是一种返璞归真的自然感,未经雕刻的天然之姿更接近生命内心的本真。正因如此,《光·遇》与市面上大多数游戏的界面操作不同,需要玩家多付出一些时间去适应操作,但它所呈现出的视觉画面和内在的艺术理念留住了许多玩家许丹荔,王炳涵.游戏作为媒介赋能中华文化创新传播的实践探索——以《黑神话:悟空》为例[J/OL].统一战线学研究,1-12[2024-11-13].孙怡苒.传统文化在游戏美术设计中的应用——以禅宗美学与《光·遇》为例[J].玩具世界,2023,(06):109-111.1.2国内外研究现状分析1.国内研究现状国内学术界在游戏技术与文化融合的领域构建起了较为系统的研究脉络,就技术架构而言,北京大学数字媒体研究中心于2023年发布的研究报告显示,采用组件化架构的游戏引擎可提高文化元素的动态表现能力中国音数协游戏工委.2023年中国游戏产业报告[R].北京:中国音像与数字出版协会,2023.。这一研究成果在殷爽等人的研究中得以验证,他们所开发的“武魂之战”RPG游戏说明,基于Unity的Entity-Component-System架构可有效地管理复杂的文化场景对象中国音数协游戏工委.2023年中国游戏产业报告[R].北京:中国音像与数字出版协会,2023.殷爽,邵金侠,胡蓉,等.Unity3D引擎开发RPG游戏“武魂之战”的设计与实现[J].现代工业经济和信息化,2021,11(07):82-84.在文化表现技术方面,中国传媒大学团队所开发的“敦煌飞天”2D游戏案例证明,基于Unity的2D骨骼动画系统可以精准地呈现传统舞蹈的韵律之美,在游戏角色的服装设计上,李小宇等人提出“三轴定位法”,借助骨骼动画的轴向约束达成传统服饰飘动的真实效果李小宇,李娟娟.基于中国风元素的游戏角色设计[J].大观,2024,(09):108-110.。意在表达游戏角色是依托于游戏背景剧情的而存在的。通过服装的风格、颜色、材质等方面的设计,展现角色的性格特点、职业身份、背景故事等,使角色更加立体和丰富,也使整个游戏画风更加和谐统一。闫爱涛的研究则说明,图形化编程与物理引擎相结合可模拟传统文化场景中的自然现象,比如香炉烟气的粒子效果李小宇,李娟娟.基于中国风元素的游戏角色设计[J].大观,2024,(09):108-110.闫爱涛.图形化编程下游戏设计实现——以“打地鼠”游戏为实例[J].现代商贸工业,2023,44(07):262-263.在交互设计领域,浙江大学提出的“事件总线+状态机”混合架构成为了行业的参照标准。张婷等人的研究发现,该架构十分适合处理文化类游戏中的多线索叙事,依靠事件优先级队列保障关键文化信息的传递效率张婷,李可,周利明.传统文化元素在游戏设计中的应用策略研究[J].北京文化创意,2024,(03):。高源的博士论文基于此,开发出基于情境认知的动态对话系统,使得NPC的台词可依据玩家文化探索的进度进行动态调整张婷,李可,周利明.传统文化元素在游戏设计中的应用策略研究[J].北京文化创意,2024,(03):高源.基于情境构建的传统文化类功能游戏设计研究[D].浙江工商大学,2023.2.国外研究现状国际游戏学界呈现出技术驱动以及文化深化这两种趋势,MIT媒体实验室所倡导的“ProceduralCulture”技术借助算法去生成传统文化元素,其核心是基于L-system的纹样生成算法,可自动创建符合特定文化风格的装饰图案,Chelladurai,J,ExploringComplexToroidalMazeswithL-systems.[C]In20234thInternationalConferenceonComputingandCommunicationSystems(I3CS)(pp.1-5).IEEE,2023Chelladurai,J,ExploringComplexToroidalMazeswithL-systems.[C]In20234thInternationalConferenceonComputingandCommunicationSystems(I3CS)(pp.1-5).IEEE,2023典型案例分析说明,《Ori》系列游戏依靠将Metroidvania玩法与东方美学相结合,创造出了文化表达的新范式,其技术亮点有:运用动态光照系统模拟水墨画的晕染效果,凭借镜头语言重构传统绘画的散点透视,牛一琳等人指出,这种“技术美学化”的策略使文化传播效果提升了40%牛一琳,汤国豪,李菡.中华优秀传统文化“走出去”创新路径探析——以数字游戏《原神》为例[J].科技传播,2024,16(17):。RobertNystrom在《GameProgrammingPatterns》中强调,组件化设计使文化元素的交互模块实现了"即插即用"的效果Nystrom,Robert.

GameProgrammingPatterns.[M]GeneverBenning,2014.,这个理念已经被《原神》中的多文化角色系统牛一琳,汤国豪,李菡.中华优秀传统文化“走出去”创新路径探析——以数字游戏《原神》为例[J].科技传播,2024,16(17):Nystrom,Robert.

GameProgrammingPatterns.[M]GeneverBenning,2014.综上所述:在2D游戏开发技术领域,国内和国外的研究呈现出不同的发展路径以及共同的特性,ZhaoH,YanJ.ThechallengesfacedbyChina’sgameindustryintheneweraandthewaystobreakthegame—BasedonthecomparativeanalysisofChineseandAmericanonlinegameindustry[J].Communication&EducationReview,2024,5(6):ZhaoH,YanJ.ThechallengesfacedbyChina’sgameindustryintheneweraandthewaystobreakthegame—BasedonthecomparativeanalysisofChineseandAmericanonlinegameindustry[J].Communication&EducationReview,2024,5(6):从技术发展的趋势来讲,2D游戏开发正经历三个关键的转变:工具链朝着智能化升级,表现形式朝着多元化融合,社交系统朝着深度构建。这样的发展趋势让开发者要掌握核心技术栈,又要拥有敏锐的市场洞察力,推动这个领域持续创新。目前,2D横版游戏的技术框架已经比较成熟,不过在文化内涵的挖掘方面还存在研究缺口,暴露出了急功近利的消费主义倾向,致使国产游戏在艺术形式、文化内涵等方面有着作品制作粗浅化、故事开发同质化通俗化、过度追求娱乐化的系列问题。在中国传统志怪题材的游戏化呈现上,怎样达成技术手段和文化叙事的有机融合,仍然是一个需要探索的课题。1.3主要研究内容1.3.1文化元素游戏化转化研究游戏不仅作为一种娱乐形式,在社会文化领域更作为重要的传播媒介发挥着重要作用。构建文化培植环境旨在通过在游戏设计中注入深厚的文化内涵,来增强游戏的文化价值和国际传播效能。建立《聊斋志异》文学元素与游戏机制的映射关系,重点解决志怪形象的可视化呈现与武侠精神的交互化表达。传统文化只有被玩家正确了解,才有被记住、被传承的可能,中华传统文化博大精深,找到大众喜欢的渠道或方式传播优秀的文化十分重要。采用文献分析的方法,构建文化元素的数字化评估矩阵。1.3.2游戏核心技术基于Unity的2D游戏技术栈,包括:改良型Tilemap系统用于传统建筑场景构建,混合状态机实现武术动作的流畅过渡,以及动态对话系统支持多线索文化叙事。技术方案将通过性能测试验证其可行性。经由上述一系列内容有条不紊地展开,最终得以形成理论与实践相互结合的研究成果,此成果可为传统文化题材游戏的开发给予一套完备的解决办法,在研究进程里所积累的技术资产以及设计模式,可借助开源的方式推动业界的知识共享。1.4文档结构第1章,对国内外研究现状进行了概述,并对毕业设计的主要内容进行了介绍。第2章,介绍了所采用的主要技术,并给出了相关开发环境。第3章,对游戏功能需求和非功能需求进行分析第4章,游戏程序设计与实现第5章,游戏的展示与说明第2章主要技术与开发环境2.1主要技术概述2.1.1用户界面(UI)框架技术本次毕业设计把Unity的UGUI系统当作核心UI框架,借助Canvas和RectTransform组件达成界面元素的精确布局,此框架可支持多分辨率自适应,依靠锚点和屏幕空间叠加模式保证UI在不同设备上的显示保持一致,针对复杂的界面交互比如背包系统的拖拽功能,借助结合EventSystem和GraphicRaycaster来实现事件穿透检测。UI框架运用分层管理策略,把HUD、弹窗、系统菜单等划分成不同的渲染层级,切实解决了界面元素叠加时的显示优先级问题。2.1.2消息框架技术运用基于观察者模式构建的消息系统,借助事件中心也就是EventCenter达成模块之间的解耦,举例来说,在玩家进行文物收集操作时,收藏品系统会借助事件广播促使成就系统的进度得以更新,激活UI界面的动态提示,并不需要直接去调用其他模块的代码,这样的设计使得代码耦合性降低,利于后续功能开展比如增添成就类型或者道具效果。2.1.3状态框架技术利用有限状态机也就是FSM来管理角色以及敌人的行为逻辑,举例来说玩家角色的状态有“移动”“攻击”“受伤”“死亡”等几种,每一种状态都对应着各自独立的动画以及碰撞检测规则,敌人的AI行为像是Boss的阶段性攻击模式是借助状态切换达成动态难度调整的,状态框架所有的优先级机制可保证战斗中的即时响应,好比玩家处于受伤状态时就无法马上发起攻击。2.1.42D物理与碰撞检测技术利用Unity打造的2D物理引擎构建出精确的碰撞交互体系,角色控制器采用Rigidbody2D与CompositeCollider相结合的方案,可支持动态地形碰撞,攻击判定系统借助Physics2D.OverlapCircleAll来进行范围检测,同时配合LayerMask过滤特定目标,比如仅对“Enemy”层产生作用。2.1.5Tilemap场景构建技术采用Unity的Tilemap系统快速搭建2D横版关卡地图,通过规则瓦片自动生成重复地貌,使用动画瓦片(AnimatedTiles)实现动态环境元素,采用分层绘制支持景深效果,增强场景立体感。2.1.6音效处理技术利用Unity的AudioMixer与AudioSourcePool技术实现分层音效控制,背景音乐采用循环播放模式,根据场景切换动态过渡(如古寺场景使用古筝音色,荒冢场景叠加环境风声),特效音效(如攻击、受伤、物品收集)通过对象池管理,避免频繁实例化造成的性能开销,音量设置通过暴露Mixer参数实现全局控制,支持玩家自定义调整音量大小。2.1.7角色动画技术基于Unity的AnimatorController实现角色动作状态管理,使用动画层分离基础移动与战斗动作,例如在跳跃时保留攻击动画的混合效果,通过动画事件触发音效与伤害判定,例如攻击动作的最后一帧触发攻击生效逻辑。2.1.8数据持久化技术使用ScriptableObject与JSON存储游戏进度。ScriptableObject管理静态数据(如成就条件、道具属性);JSON文件记录动态数据(如玩家背包内容、关卡解锁状态),支持跨平台兼容性;加密存储防止玩家手动篡改存档。2.2开发环境2.2.1开发工具本项目的开发工作主要依托Unity2022LTS版本进行,该版本作为Unity官方推荐的长期支持版本,在2D游戏开发方面提供了完善的功能支持。Unity是目前全球最专业、使用最频繁的一款3D游戏引擎,这款游戏引擎凭借其强大的跨平台特性与绚丽的3D渲染效果而闻名出众,被誉为3D手游的传奇。它具有出色的物理引擎和高度优化的图形渲染管道,无论是2D游戏还是3D游戏,均可达到美轮美奂的画面效果。Unity内置的Tilemap编辑器能够高效构建横版关卡的地形结构,结合SpriteRenderer的优化渲染管线,确保游戏场景的流畅呈现。动画系统方面,Unity的Animator组件与2DAnimation工具协同工作,支持骨骼动画与帧动画的混合使用,满足角色动作的多样化需求。编程工作采用VisualStudio2021作为集成开发环境,其深度集成的Unity调试工具能够实时捕获代码异常,配合Roslyn编译器提供的智能提示功能,显著提升了脚本编写的效率。2.2.2系统开发环境硬件配置方面,开发机搭载IntelCorei7-12700K处理器,配合16GBDDR4内存与NVIDIAGTX1660显卡,为Unity编辑器的实时渲染与场景烘焙提供了充足的运算能力。固态硬盘的读写加速了资源导入与构建流程,而双显示器工作环境则便于同时进行代码编辑与游戏测试。操作系统选用Windows11专业版,其DirectX12图形接口充分发挥了显卡性能,确保编辑器视口与游戏运行帧率的稳定性。目标平台兼容性测试覆盖Windows10/11系统,显示输出适配1920×1080标准分辨率,通过Unity的CanvasScaler组件实现不同屏幕比例的自动适配。移动端测试构建采用Android平台,针对触控操作优化了虚拟摇杆与按钮的响应逻辑。开发过程中引用的第三方资源主要来自专业素材库,包括提供的环境音效与攻击音效,以及itch.io社区分享的像素风格贴图,所有资源均经过格式转换与压缩处理。第3章游戏功能需求分析3.1作品介绍3.1.1游戏概述《幽梦奇谈》是一款基于《聊斋志异》背景的2D横版冒险游戏,采用Unity引擎开发。游戏以侠女李若妍的视角展开,玩家将在幽梦谷中探索神秘的古寺、荒冢、竹林等场景,与妖怪战斗、收集文物,最终揭开父亲失踪的真相。游戏融合了武侠战斗、文化叙事等元素,旨在通过游戏化手段传递中国传统志怪文学的魅力。在技术实现上,游戏采用模块化设计,确保各系统(如战斗、背包、成就等)可独立扩展;在玩法上,通过即时战斗、环境互动与收藏品系统,提升玩家的沉浸感与文化参与度。3.1.2核心玩法与关卡设计游戏采用线性关卡推进模式,共设计三个主要关卡,每个关卡围绕《聊斋志异》的经典故事展开,结合不同的战斗、探索与解谜玩法。第一关“古寺惊魂”作为新手引导关,讲述李若妍踏入一座荒废古寺的冒险。传闻寺中常有狐妖作祟,村民避之不及。玩家将在这一关学习基础战斗操作,包括普通剑击、跳跃躲避和使用药品回血,同时遭遇首批敌人——狡猾的狐妖。探索过程中,玩家可收集“狐妖玉佩”等收藏品,解锁隐藏的故事文本,逐步了解古寺背后的秘密。第二关“荒冢迷踪”以探索为核心,李若妍深入村庄附近的乱葬岗,调查莫名出现的诡异鬼火。这一关的战斗难度有所提升,玩家需要击败游荡的骷髅,并找出正确的出路。新增的敌人“骷髅”会以不同方式干扰玩家,而关底的Boss战将面对骷髅首领,它会召唤小骷髅助战,玩家需灵活应对,优先清理杂兵再集中火力击败首领。第三关“竹林秘境”是最终挑战关,李若妍将深入竹林深处的妖怪巢穴,直面幕后黑手。这一关不仅考验玩家的战斗技巧,还加入了平台跳跃挑战,如断裂的竹枝和隐藏的地刺陷阱。敌人组合更加复杂,既有远程攻击的“竹精”,也有凶猛的近战“山魈”,最终的Boss战分为两个阶段——鬼王先以远程攻击为主,玩家需灵活闪避;当其血量降至50%以下时,鬼王进入狂暴状态,玩家必须抓住时机跳跃攻击核心。击败鬼王后,游戏将揭晓父亲失踪的真相,并播放结局动画,为这段冒险画上句点。3.2功能需求3.2.1战斗系统战斗系统是游戏的核心玩法之一,采用即时动作机制,玩家需实时操控角色进行攻击、闪避与技能释放。玩家角色李若妍具备基础攻击(剑术连招)和跳跃攻击。攻击判定基于Unity的Collider2D与射线检测,确保命中反馈的精准性。例如,当玩家按下攻击键时,系统检测武器碰撞体与敌人碰撞体的接触情况,若发生重叠则触发伤害计算,并播放受击动画与音效。敌人分为小怪与Boss两类,各自具备不同的行为逻辑:小怪(如骷髅)采用有限状态机(FSM)控制,包含“巡逻”“追击”“攻击”三种状态。例如,当玩家进入警戒范围时,敌人从巡逻切换至追击状态,并持续靠近玩家直至进入攻击距离。Boss怪(如鬼王)设计为多阶段战斗,每阶段触发不同的技能组合。例如,鬼王在血量降至30%时进入狂暴状态,攻击速度提升50%。3.2.2道具系统道具系统旨在增强游戏的文化深度,玩家可通过探索场景或击败敌人获取道具与文物。每件收藏品(如“青玉笔筒”“幽冥骨笛”)均取材自《聊斋志异》典故,并附带详细文字描述。例如,“青玉笔筒”的说明中引用《画皮》原文片段,解释其与故事情节的关联。玩家收集后可解锁“志怪图鉴”界面,查看完整背景故事以及获取统计。3.2.3背包系统背包可以存放药品(恢复HP)、文物(剧情相关),支持点击使用或查看详情。玩家可将常用道具(如药水)绑定至快捷键,战斗中快速调用。通过Unity的PlayerPrefs与JSON序列化保存背包状态,确保跨场景数据不丢失。3.2.4成就系统在《幽梦奇谈》中,成就系统不仅用于记录玩家的游戏历程,更通过精心设计的挑战目标,引导玩家深入探索游戏世界,并增强重复可玩性。成就分为两大类别,每类均与游戏的核心玩法紧密结合,确保玩家在达成目标时能获得合理的成就感与奖励反馈。战斗成就聚焦于玩家的操作水平与战斗策略,从基础挑战到高难度目标层层递进。例如,“初试锋芒”会在玩家击败首个敌人时解锁,作为新手阶段的鼓励;而“无伤通关”则要求玩家在Boss战中全程不受伤害,考验精准的闪避技巧,以此鼓励玩家熟练掌握战斗系统。探索类成就旨在激励玩家走出主线剧情的舒适区,主动与游戏世界互动。例如,“博闻强识”要求玩家收集散落各处的文物碎片,通过解读这些物品的背景故事,玩家能更深入地理解《聊斋志异》的奇幻设定;此类成就的设计不仅增加游戏时长,也让玩家在探索过程中自然接触到更多支线剧情。3.2.5关卡系统游戏包含三大主线关卡(古寺、荒冢、竹林),每关融合独特的场景机制与叙事元素。古寺关卡:以剧情对话和新手教学为主,让玩家熟悉游戏的玩法,故事背景,以及操作流程。荒冢关卡:采用迷宫机制,玩家需要找到正确的道路进入下一关,如果走错则可能进入死胡同或遇到高强度的敌人。竹林关卡:最终Boss战场景,动态背景与多阶段战斗结合,增强史诗感。3.3非功能性需求1.性能优化游戏需要在低端设备上流畅运行,因此需要优化性能。具体措施包括:限制同时出现的敌人数量和粒子特效数量,避免过度消耗资源。使用对象池技术管理频繁创建和销毁的游戏对象,如特效。通过Unity的Profiler工具定期检查性能瓶颈,确保游戏帧率稳定在30FPS以上。2.用户体验游戏应提供良好的用户体验,包括:支持键盘操作,并在游戏开始时提供简单的操作指引。在战斗场景中,提供清晰的伤害反馈和敌人血条显示,帮助玩家掌握战斗节奏。3.可维护性代码应易于维护和扩展,具体包括:采用模块化设计,将不同功能分离为独立脚本,如PlayerController、EnemyAI等。为重要函数和变量添加详细注释,说明其用途和工作原理。4.文化表达准确性在《幽梦奇谈》的开发过程中,为确保文化表达的准确性,我主要从两个方面入手。在剧情设计上,我精读了《聊斋志异》中的经典篇目,将核心主题融入主线剧情。对于游戏中的古籍收藏品,我直接从《聊斋志异》中摘录原文,并为每段文字配上了白话解读。这些细节处理虽然简单,但能帮助玩家更好地理解传统文化精髓。第4章游戏程序设计与实现4.1战斗系统开发过程4.1.1角色控制与状态管理通过Input.GetAxis("Horizontal")获取水平输入,当输入绝对值大于0.1时,角色进入Run状态,并调整Rigidbody2D.velocity实现移动。根据输入方向调整transform.localScale.x,使角色朝向正确方向。通过anim.SetBool("IsRunning",true/false)控制Idle和Run动画的过渡。使用Physics2D.Raycast向下发射短射线(0.1f),检测是否接触"Ground"层,确保角色仅在地面时才能跳跃。当按下跳跃键时,施加向上的冲量力(rb.AddForce),并触发Jump动画。攻击动作触发后,记录当前时间lastAttackTime,并在0.3秒内禁止再次攻击,防止连点。通过anim.SetTrigger("Attack")播放攻击动画,同时可结合AnimationEvents在关键帧触发伤害判定。Animator的布尔型参数(如IsGrounded、IsRunning)实时同步物理状态,确保动画与逻辑一致。//地面检测与移动isGrounded=Physics2D.Raycast(transform.position,Vector2.down,0.1f,LayerMask.GetMask("Ground"));floatmoveInput=Input.GetAxis("Horizontal");rb.velocity=newVector2(moveInput*moveSpeed,rb.velocity.y);//攻击冷却检测if(Time.time-lastAttackTime>=attackCooldown&&Input.GetButtonDown("Fire1")){anim.SetTrigger("Attack");lastAttackTime=Time.time;}4.1.2碰撞检测与伤害判定通过Unity的物理系统设置,将角色(Player)和敌人(Enemy)分配到独立层级,避免同阵营单位误触发碰撞。例如:Player层仅与Enemy层交互,忽略自身碰撞。在武器挥动动画的关键帧(剑刃接触敌人的瞬间),通过动画事件调用EnableAttackCollider(),激活BoxCollider2D组件。攻击结束后立即禁用碰撞框,确保单次攻击仅触发一次伤害。publicvoidEnableAttackCollider(){attackCollider.enabled=true;StartCoroutine(DisableColliderAfterFrame());//下一帧禁用}4.1.3敌人AI设计本次毕业设计作品采用行为树实现敌人AI,通过节点组合控制不同行为逻辑。行为树由条件节点、动作节点和组合节点构成,具有清晰的层次结构,便于扩展和维护。小妖作为基础敌人,行为逻辑分为巡逻和追击两个阶段:巡逻时小妖沿预设路径点循环移动,使用PatrolAction节点控制移动逻辑。当玩家进入检测范围(CheckPlayerInRange节点返回成功),切换为ChaseAction节点直线追击玩家。通过Selector组合节点实现优先级选择(优先追击,失败则巡逻)。Boss战采用血量阈值触发阶段转换的机制:执行预设攻击模式。当血量低于30%(CheckHealthThreshold节点触发),激活EnterRageMode节点提升攻击速度50%,并切换至更强攻击模式。publicabstractclassBTNode{publicenumStatus{Running,Success,Failure}publicabstractStatusEvaluate();}//行为树基类(抽象节点)varroot=newSelector();root.AddChild(newSequence(newCheckPlayerInRange(this,5f),newChaseAction(this)));root.AddChild(newPatrolAction(this,waypoints));//小妖行为树组装(巡逻→追击)varphase2=newSequence(newCheckHealthThreshold(this,0.3f),newEnterRageMode(this),newBossAttackPattern2(this));//Boss狂暴阶段触发4.2背包系统开发过程4.2.1数据持久化方案背包系统采用ScriptableObject作为物品数据的持久化方案,构建了一个可扩展的轻量级物品数据库。数据将以.asset文件形式保存在项目中,无需依赖场景对象。还可以保障基础数据的安全性,避免意外篡改。这种设计模式完美分离了游戏数据与业务逻辑,可以在不修改代码的情况下自由调整物品属性,同时保证了运行时数据的安全性和可维护性。[CreateAssetMenu]publicclassItemData:ScriptableObject{publicstringitemName;publicSpriteicon;publicItemTypetype;//消耗品/任务物品[TextArea]publicstringdescription;}4.2.2背包UI实现在背包系统的UI实现中,采用Unity的GridLayoutGroup组件构建物品格子的矩阵式布局。该组件通过预设的单元格尺寸(64×64像素)和间距参数(5像素),自动排列物品槽位并保持视觉一致性。当玩家打开背包界面时,ScrollRect组件会根据物品数量动态生成可滚动区域,确保超出可视范围的物品仍可通过滚轮操作浏览。每个物品槽位预制体包含Icon图像组件和数量TextMeshPro文本,通过数据绑定实时反映背包内物品的当前状态。针对消耗品的使用场景,开发了快捷操作机制。当玩家在快捷栏左键点击药品类物品时,系统通过PointerEventData.pointerId检测鼠标按键类型,调用InventoryManager.Instance.UseItem(itemID)方法执行使用逻辑。该逻辑链会调用PlayerHealth单例的Heal()方法恢复角色生命值。所有操作均通过JSON序列化实时保存,确保跨场景数据持久化。4.3道具系统开发过程4.3.1聊斋收藏品特殊逻辑在道具系统的实现中,基于Unity的UI组件搭建了独立的图鉴界面。每个收藏品单元由预制体(Prefab)构成,包含缩略图、名称标签和背景描述面板。缩略图资源通过Addressables系统异步加载,避免场景切换时的卡顿问题。当玩家首次获得收藏品时,系统自动解锁对应的图鉴条目,并在界面中以高亮边框提示新收集内容。对于未解锁的文物,界面默认问号图标,保留探索的神秘感。收藏品的文化属性通过《聊斋志异》原文节选强化,例如“青玉笔筒”的说明中直接引用《画皮》段落,并辅以白话注解。4.3.2数据持久化机制收藏品收集状态通过分层存储方案实现持久化。静态数据(如文物名称、图标路径、原文内容)存储在ScriptableObject资源中,作为只读基础数据库;动态数据(如是否已收集、获取时间)则序列化为JSON格式字符串。采用AES加密算法对JSON数据进行混淆处理,防止玩家通过修改本地文件作弊。加密后的字符串通过PlayerPrefs.SetString("ArtifactData")保存至系统注册表,确保跨场景和游戏重启后的数据完整性。在游戏初始化阶段,系统自动调用PlayerPrefs.GetString读取加密数据,经解密后反序列化为内存中的收藏品状态字典。当玩家获得新文物时,事件总线广播OnArtifactCollected消息,触发数据层的状态更新与自动保存。针对移动端存储安全需求,额外实现了Android平台的SharedPreferences兼容方案,通过Unity的Application.persistentDataPath生成独立存储文件,避免应用卸载导致数据丢失。4.4关卡系统开发过程4.4.1场景构建技术使用Tilemap进行分层绘制,在Base层使用地形碰撞体。在Decoration层使用装饰性元素,不开启无碰撞。在Overlay层,添加动态交互元素。4.4.2关卡事件管理关卡事件管理的实现依托于LevelManager单例控制器,通过全局访问点统筹管理游戏进程中的关键状态。该模块采用双重校验锁模式确保线程安全,在Awake生命周期阶段进行实例化判定,当首次加载场景时创建持久化实例并标记DontDestroyOnLoad,后续场景切换时自动保留已存在的管理器实例,避免重复创建导致的逻辑冲突。当玩家角色生命值归零触发死亡事件时,角色控制器调用LevelManager.Instance.PlayerDie()方法启动异步重生流程。在协程ReloadFromCheckpoint内部,首先冻结玩家输入防止误操作,播放3秒渐黑过场动画实现平滑过渡,随后根据currentCheckpoint值从检查点配置表中获取对应的重生坐标与场景信息。重生过程中同步重置敌人状态机、恢复角色属性,并通过事件总线广播CheckpointReload事件,确保场景全部恢复初始状态。publicclassLevelManager:MonoBehaviour{publicstaticLevelManagerInstance;publicintcurrentCheckpoint;voidAwake(){if(Instance==null)Instance=this;elseDestroy(gameObject);}publicvoidPlayerDie(){StartCoroutine(ReloadFromCheckpoint());}}4.5成就系统开发过程4.5.1事件驱动架构在成就系统的技术实现层面,本设计采用事件驱动架构构建了高效解耦的触发机制。该架构通过定义统一的成就事件总线(AchievementEventBus),将游戏内各类行为与成就进度更新进行逻辑分离。当玩家在游戏过程中达成特定条件时,如击败敌人、收集完整文物套装或完成隐藏事件,系统会发布AchievementEvent事件,成就管理器监听后更新进度并弹出提示框。成就数据通过ScriptableObject存储,便于后期扩展定义AchievementEvent事件类型:publicenumAchievementType{KILL_10_ENEMIES,COLLECT_ALL_RELICS}publicstaticeventAction<AchievementType>OnAchievementUnlocked;4.5.2可视化反馈成就的可视化反馈采用状态模式管理弹窗生命周期,当成就解锁事件触发时,UI控制器从资源系统异步加载对应的成就图标素材,通过UIToolkit的样式表控制弹窗,弹窗使用对象池技术避免重复实例化,显示完成后自动延迟回收。<VisualElementclass="achievement-popup"><Labeltext="{AchievementName}"class="title"/><Labeltext="已解锁!"class="subtitle"/></VisualElement>第5章游戏展示与说明5.1战斗系统展示与说明5.1.1基础战斗机制游戏运用即时战斗模式,玩家借助键盘操控角色实现移动、跳跃以及攻击等动作,战斗的核心机制着重于流畅的连招以及精准的时机判断,以此保证玩家在与妖魔鬼怪对抗之际,可体会到武侠风格的战斗节奏,普通攻击作为战斗的根基,玩家按下K键即可触发快速斩击,当角色挥剑之时,系统会凭借碰撞检测来判定攻击范围,命中敌人后会触发受击反馈,每次攻击可造成1至2点伤害。在面对不同敌人的时候,玩家需要灵活地调整攻击节奏,防止被反击,跳跃攻击属于进阶战斗技巧,玩家在跳跃过程中按下K键便可施展空中劈砍,此技巧适用于攻击飞行单位或者躲避地面攻击后的反击,这种攻击方式可实现短暂滞空,让玩家在战斗中处于更为有利的位置,这些机制一同构建起游戏的战斗深度,使得玩家在对抗《聊斋》世界里的妖怪时,能感受到爽快的动作打击感,又需要策略性地应对不同敌人的攻击模式。5-1战斗系统5.1.2人物状态机的应用利用Animator对角色的6种状态加以控制,覆盖待机、跳跃、跑步、攻击、死亡以及受击等状态,角色状态机的实现主要借助分层逻辑与事件驱动相结合的途径来达成,角色状态机的基础架构是基于面向对象进行设计的,每个状态比如待机、跳跃,都被定义为继承自同一基类的子类。基类包含着状态生命周期管理的关键方法,进入状态的时候会初始化参数,更新状态的时候持续处理逻辑,退出状态的时候执行清理操作,状态管理器作为中枢控制器,持有当前状态的引用,并且借助条件判断函数动态地决定状态切换,比如当玩家在跑步状态下按下跳跃键时,系统会先去验证角色是否接触地面,如果条件契合就会调用状态切换方法,触发跳跃状态的初始化流程。输入事件与物理检测是驱动状态转换的核心所在,水平移动输入借助轴值检测转化为速度变量,当输入的绝对值超过阈值时,角色从待机转入跑步状态,同时依据输入方向翻转角色贴图来实现转向,跳跃动作的实现依靠物理引擎的重力模拟,进入跳跃状态时赋予角色初始垂直速度,随后每帧叠加重力值形成抛物线轨迹,并且借助射线向下投射检测地面碰撞,触地瞬间根据是否持续移动输入切换回跑步或者待机状态。攻击状态采用动画事件驱动机制,在动画时间轴的特定关键帧,像是武器挥砍至最高点时,激活攻击判定区域,借助圆形或者矩形范围检测对敌人造成伤害,并且允许在动画可中断窗口期检测连击输入触发后续攻击动作,状态间的优先级与中断规则凭借条件判断树来实现,例如受击状态的优先级高于普通动作,当角色处于攻击或者跑步状态时若被敌人击中,系统会立刻计算当前生命值。如果未死亡则强制中断当前动作,播放受击动画并施加击退力,如果生命值归零则进入死亡状态,锁定所有输入并播放不可逆的倒地动画,在动画过渡方面,借助混合树技术将水平移动速度与动画播放速率动态绑定,让角色从跑步到待机的过渡呈现出自然的减速停顿效果。5-2人物状态机5.1.3敌人AI展示游戏里面的敌人设计依照《聊斋志异》的妖怪设定来进行,每一种敌人都有着独特的战斗风格,以此保证玩家在不同关卡当中会面临不一样的挑战,狐妖作为第一关的主要敌人,行动十分敏捷,会沿着固定路线巡逻,并且在发现玩家之后会快速近身发动爪击,它们的攻击频率比较高,不过生命值比较低,很适合玩家去练习基础战斗技巧。骷髅在第二关出现,行动相对迟缓一些,不过攻击范围更大,而且会成群结队地出现,玩家需要借助跳跃攻击或者闪避来防止被包围,寻找反击的机会,鬼王作为最终的Boss,战斗分成两个阶段:第一阶段,鬼王会召唤三颗鬼火沿着直线飞行,玩家需要跳跃躲避,并且在鬼王攻击之后的短暂硬直期进行反击。第二阶段,鬼王进入狂暴状态,释放地面震击,玩家要及时防御或者跳跃,不然会受到高额伤害,这一阶段战斗节奏加快,考验玩家的反应以及战斗策略,依靠合理的AI设计,游戏中的敌人有威胁性,又能为玩家提供多样化的战斗体验,保证每场战斗都充满挑战与成就感。。5-3敌人巡逻,追踪5.2收藏品系统展示与说明5.2.1收藏品收集游戏内设计3件核心收藏品:表5-1核心收藏品收藏品名称触发条件展示图标狐妖玉佩击败首个狐妖幽冥骨笛地图内获得青玉笔筒无伤击败鬼王5.3背包系统展示与说明5.3.1背包背包UI布局在《幽梦奇谈》的UI设计中,左侧快捷栏采用纵向排列,紧贴屏幕边缘,确保不影响主画面的视觉沉浸感。快捷栏默认展示4个物品槽位,每个槽位都可绑定道具,当玩家选中某个物品时,图标会轻微高亮,增强操作反馈。5-4快捷栏5.3.2关键功能交互逻辑药品使用功能采用即时生效机制,玩家在快捷栏选中药草后,只需单击鼠标左键即可触发回复效果。这种设计保证了战斗中的快速操作,避免打断玩家的沉浸体验。文物查看功能则采用双击触发机制,当玩家双击背包里某件收藏品,屏幕中央会展开一个半透明的描述面板。文字以竖排方式呈现,模拟古代线装书的排版风格。面板内包含收藏的详细描述,还附带相关原书籍剧情,帮助玩家深入了解游戏以及聊斋世界观。5-5背包展开5.4关卡系统展示与说明古寺惊魂作为游戏的初始关卡,古寺惊魂承担了教学引导的功能。玩家在探索破败寺庙的过程中,会通过弹出式文字提示熟悉基本操作,如移动、攻击和交互。首个敌人是一只狐妖,其生命值相比后续敌人降低了50%,以便玩家适应战斗节奏。场景中的残垣断壁营造出压抑的氛围,同时隐藏着可收集的线索,暗示后续剧情的发展。5-6第一关荒冢迷踪这一关卡以复杂的地形设计为核心挑战。玩家需要在迷雾笼罩的乱葬岗中寻找正确的路径,避免被徘徊的怨灵纠缠。错误的路线可能导致遭遇高强度的敌人或陷入死胡同,因此观察环境和合理规划路线至关重要。5-7第二关竹林秘境这一关卡引入了动态场景的游戏机制,增强了关卡的策略性。关卡中断裂的竹桥会在玩家停留超过2秒后坍塌,迫使玩家快速做出决策。移动平台将按照固定节奏升降,玩家需要把握时机跳跃,否则可能坠入深渊。关卡尽头是最终Boss战,采用多阶段战斗设计——最终Boss会在生命值降至特定的数值时改变攻击模式,玩家必须灵活调整战术才能获得胜利。5-8第三关5.5成就系统展示与说明游戏里的成就系统借助视觉以及音效方面的即时反馈来提升玩家的契合感,只要玩家达成了某项成就,屏幕顶部就会以动态弹窗的形式呈现出来,同时还会伴有独特的提示音效,以此保证玩家可清楚地感知到自身进度的突破,成就的实现逻辑和游戏核心玩法紧密相连,比如说,战斗类成就依靠实时监测玩家的血量以及击败敌人的数据来触发,探索类成就则取决于场景交互计数以及文物收集进度,而隐藏成就的触发条件故意被设置得模糊不清,刚开始仅显示“???”,玩家需要凭借实验性操作来逐步揭开谜底。这样的设计保留了探索的惊喜感,又防止成就变成机械化的清单任务。5-9成就UI结论本毕业设计作品《幽谷奇谈》选用Unity引擎作为开发平台,成功打造出一款融合了《聊斋志异》文化元素的2D横版冒险游戏,经过此次完整的游戏开发实践活动,检验了四年专业学习所取得的成果,又使我对游戏开发的全流程有了较为深刻的理解,在技术层面,该项目运用模块化设计思路,把角色控制、碰撞检测、动画系统等核心功能给予合理拆分,如此一来,保证了代码有可维护性,又为后续功能的扩展预留出了相应空间。在物理碰撞以及动画状态管理方面,经过反复调试与优化,最终达成了流畅的角色动作以及精准的交互反馈,为玩家提供了良好的操作体验。游戏的文化表达乃是本次设计的重点创新方向,若传统文化元素仅作为表面装饰存在,而未能深入融合到游戏的核心机制和叙事中,这种浅表化的设计对于传承和弘扬优秀传统

温馨提示

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

最新文档

评论

0/150

提交评论