科普方向冒险关卡射击类小游戏(源码+万字报告+讲解)

目 录
摘 要 II
Abstract III
1 绪论 2
1.1课题背景 2
1.2国内外研究现状 2
1.3研究内容 4
2相关技术 6
2.1 Unity3D引擎技术 6
2.2 DOTween 7
2.3 C#语言 8
3需求分析 10
3.1系统架构分析 10
3.2功能模块分析 11
3.2.1战斗模块 11
3.2.2关卡模块 12
3.2.3商店模块 12
3.2.4背包模块 13
3.2.5技能模块 14
4游戏的设计与实现 15
4.1战斗模块实现 15
4.2关卡模块实现 16
4.3商店模块实现 17
4.4背包模块实现 18
4.5技能模块实现 19
5游戏测试 21
5.1游戏功能测试 21
5.2游戏测试用例 21
6总结 22
参考文献 24
致谢 25

1 绪论
1.1课题背景
“恶魔冒险城”是一款专为PC端设计的RPG风格的角色扮演游戏。游戏是基于Unity3D引擎来开发的,拥有着众多优秀的角色造型,丰富的场景画面以及精彩而又刺激的战斗剧情,吸引了许多玩家参与进来。随着现代游戏行业的快速崛起,角色扮演游戏作为经典的游戏形式,始终受到玩家们的热烈追捧。伴随着游戏技术的持续进步,unity3D引擎作为一个主导的游戏开发工具[1],在角色扮演游戏的设计与开发领域的使用也变得越来越普遍。因此,对游戏设计和开发的背景、目标和重要性进行深入探讨,对于寻找新的游戏设计思维和开发策略是至关重要的。
与此同时,市场对于高品质和创新性质的游戏的需求也在持续上升。这就要求游戏开发者要积极创新,提升产品竞争力,满足消费者多元化的精神文化需要,从而促进整个行业健康有序地可持续发展。随着技术的持续进步,unity3D引擎作为一个强大的跨平台游戏开发工具,为角色扮演游戏的设计和开发打开了新的大门[2]。因此,对其应用的深入研究显得尤为重要。
1.2国内外研究现状
Unity3D作为一款广受欢迎的游戏开发引擎,已经被国内外的游戏公司选为主要的开发工具,用于生产各种小型和休闲游戏[3]。这款引擎拥有众多的优势,易于掌握的开发方式,能够导入多种类型的游戏模型,同时,官方和自主研发的开发者都提供了多种用户友好的插件。Unity3D还拥有所有开发平台中最出色的跨平台设计模式,使得使用它进行游戏开发变得非常便捷,并且可以无缝地迁移到PC、Android、I0S平台上[4]。随着游戏行业的快速发展,越来越多的玩家对网络游戏的需求不断增加。在过去的几年中,许多大型游戏的成功开发都采用了Unity3D技术。例如,腾讯天美工作室推出的《王者荣耀》和《QQ飞车(手游版)》,澳大利亚的三人团队TeamCherry推出的《Hollow Knight》,以及计划在年底公开测试的由RIOT和腾讯共同研发的《英雄联盟(手游版)》。根据Unity的官方数据,2019年,中国Unity3D在游戏警报开发方面的使用率已经超越了日本,达到了75%的水平。随着越来越多人对游戏本身的关注和需求不断提高,游戏开发者们对于如何设计出一款优秀的游戏引警也开始了不懈地探索与尝试。Unity的官方正在不断地更新其游戏警报,预计未来会有更多的独立游戏开发团队和公司采用Unity3D引擎来进行游戏的开发工作[5]。
在过去的几年中,全球的游戏产业经历了飞速的增长,目前,游戏产业的年度产值和社会影响已经与影视产业持平。随着人们生活水平不断提升,对精神文化的追求越来越高,网络游戏产业也迎来了新的挑战与机遇。2018年,中国互联网络信息中心(CNNIC)完成了对2018年互联网发展情况的详细统计,并在第41次《中国互联网络发展状况统计报告》中明确指出了中国网民的未来发展趋势。数据显示,到2019年为止,中国网民的数量已经超过了8亿人。在2019年的上半年,新增的网民数量达到了2598万人,这意味着互联网的普及率已经达到了前所未有的61.2%,占全国总人口的一半以上[6]。与2018年底相比,这次普查增长了16个百分点。在2019年这一整年中,网络游戏行业仍然呈现出持续上升的趋势,这种增长主要受到网络游戏行业的社会影响力和发展创新的推动。到2019年底,中国的网络游戏用户数量已经达到5亿人次,相比2018年年底的数据,增长了近1000万人,占到了网民总数的57.8%[7]。
随着科技的进步,现代年轻人的生活习惯也发生了变化,游戏已经变成了他们生活中不可或缺的部分,它满足了人们在现实生活中的娱乐需求。在这样一种背景下,游戏产业也逐渐壮大起来,并逐步与电影和电视一起成为三大支柱产业之一[8]。鉴于游戏产业的巨大发展潜力,全球绝大多数公司选择了自主研发各种游戏的策略。其中以美国为代表的发达国家更是将游戏作为其产业核心之一。U3D、UE4、CE3等游戏引擎在游戏开发领域受到了广泛的关注,特别是在游戏制作和使用引擎方面[9]。Unity3D在一方面提供了简洁明了的开发界面和强大的引擎功能,而在另一方面,它是一个由C++编程的开源引擎。这就使得开发人员能够快速地进行编程实现。由于该代码本身是开源的,并且还提供了全面的底层开发技术和架构,这极大地提高了开发者的开发效率,使他们能够将更多的精力集中在如何开发、如何编写脚本上[10]。另外,基于此平台,开发人员可以很容易地进行各种场景模型搭建,从而实现更加真实的三维效果。目前,使用Unity引擎的用户数量已经达到了所有游戏开发引擎用户的45%。Unity3D的游戏引擎,作为新兴的游戏引擎,具备了一系列令人印象深刻的功能[11]。与传统的虚幻引擎相比,它的画质毫不逊色。此外,它还拥有一个非常强大的跨平台功能,这使得用户不仅可以在PC、Android、i0s平台上发布自己制作的游戏,而且在2019年6月发布的Unity4.3版本中,已经实现了家用主机ps4 ps3的套件开发[12]。这个套件不仅支持镜头功能的深度检测,还可以定位手和脸,以及PS4的移动检测功能。
1.3研究内容
(1)研究目标
通过使用C#进行场景编程,控制角色的各种行为,如行走、攻击和怪物AI等,并根据玩家的需求调整战斗模式。同时,我们还对游戏的战斗模块进行了优化封装,这有助于减少游戏的功耗,提高游戏的整体流畅性,并增强玩家的游戏体验。
(2)主要研究内容
游戏的关卡子系统、商店子系统、背包子系统、战斗子系统、存储子系统,以及角色技能子系统和用户界面系统,都是通过运用Unity3D引擎技术、DOTween插件和C#脚本语言来实现的
此外,为了确保游戏的高质量和娱乐性,选择恰当的研究手段来开发和测试游戏也是至关重要的。在本文的最后一部分,总结了本文的主要研究成果及不足,并对今后工作做了展望。在设计和开发rpg游戏时,我们需要深入研究多个方面,包括游戏的故事情节和世界观构建、角色设定和人物特性、地图设计和场景构建、战斗系统和技能设计、道具系统和商店设计、进度系统和任务设计等。在这些工作的完成后,才能将最终的作品呈现出来,从而验证该项目的可行性。首先,在游戏设计过程中,故事情节和世界观的构建显得尤为关键。这需要从游戏的全局背景着手,以形成一个全面的游戏世界观,从而为游戏角色的设定和地图的设计提供坚实的基础。
游戏中的角色设计和人物特质也是至关重要的元素。在地图设计和场景构建方面,需要综合考虑游戏地图的尺寸、地形的多样性以及场景设置等多个方面,以创造一个多样化和丰富的游戏环境。再次,游戏剧情设计和任务设计也会对玩家产生重要影响。在游戏中,战斗系统与技能的设计被视为关键的玩法元素。为了为玩家提供最佳的游戏体验,我们需要创造出各种不同的战斗方式和技能搭配。此外,在剧情方面,也要结合游戏主题进行合理的布局和规划,并加入一些具有特色的故事元素。游戏中的道具系统和商店的设计目的是为了增加游戏的玩法多样性和挑战性,从而为玩家带来更丰富的选择和策略。另外,游戏的评价系统和反馈机制也是非常重要的组成部分。游戏的进度系统和任务设计旨在为玩家提供更好的游戏体验,通过设置各种不同的任务和进度来促进游戏的持续进步。
2相关技术
2.1 Unity3D引擎技术
Unity3D游戏引擎因其出色的功能、简洁的界面和高度的可移植性,赢得了众多游戏开发者的喜爱。目前,许多游戏公司都已经将其作为自己产品进行推广与应用。Unity3D游戏引擎为开发者提供了创建2D和3D游戏项目的简便方式,同时它还具备了编程的可视化特性,这种“所见即所得”的操作模式为开发者带来了极大的便利。此外,还具有良好的交互性能,让玩家能够更加容易地与角色互动,增加游戏的乐趣,提高用户体验感。Unity3D引擎的独特之处在于它支持跨平台的设计。与其他游戏引擎相比,Unity3D引擎提供的跨平台功能是其他游戏引擎所无法匹敌的。随着越来越多的游戏公司加入到游戏研发中来,他们都希望能够通过这种模式来降低游戏开发成本,提高游戏质量。Unity3D引擎在过去的几年中取得了显著的进步,吸引了众多的用户群体。许多独立的工作室也参与到Unity的游戏引擎插件开发中。每年,官方都会挑选一些当前非常受欢迎的技术插件,并在即将发布的Unity新版本中进行整合,利用其新的功能特点,为开发者提供更为便捷的开发环境。另外,由于游戏本身的复杂性,需要开发人员对游戏本身做出改进以适应更多的场景。以Unity中的NGUI插件为例,在早期的Unity版本中,由于原始的官方NGUI插件设计的U系统在性能和功能上并不突出,并且其代码编码格式与HTML相似,这使得使用NUGI在提高开发效率上存在困难。因此,第三方作者设计了一个新的类似NGUI的插件。从Unity的4.6版本开始,Unity官方利用NGUI的特性开发了自己的UGUI系统,并将NGUI的优秀功能整合到Unity的4.6版本中。在当前的Unity版本中,UGUI系统已经成为开发UI界面的必备工具[14]。在2D游戏的开发过程中,Unity推出了2DToolKit开发模块,而在当前手机触屏和手柄日益普及的背景下,Unity又推出了EasyTouch等新的开发组件。这些都是目前比较热门的开发工具。为了更好地支持VR游戏的制作,我们提供了更多的插件选择,如Dive、AR+GPS Location等。

图2-1 Unity3D技术
2.2 DOTween
DOTween是一个专为Unity游戏引擎设计的高效的补间动画资源库。该平台可以实现对不同类型场景、人物等对象进行实时渲染并生成各种特效。该API为开发者提供了一种简洁而用户友好的界面,让他们可以毫不费力地创作出复杂的动画效果[15]。它还可以用来制作各种不同风格的贴图和其他特效。在Unity社区里,DOTween插件因其多样的功能和出色的性能而广受好评。本文主要介绍如何使用该组件来制作动画。DOTween的API设计风格既直观又简洁,这使得开发人员可以迅速掌握并制作动画。通过将不同类型的对象进行组装来达到一个统一的框架。你不需要编写繁琐的代码,仅通过几行简单的调用就可以实现复杂的动画效果。DOTween在性能提升方面表现出色,它采用了一种高效率的补间算法,这不仅确保了动画的平滑性,同时也降低了资源的消耗。DOTween能够兼容多种动画风格[16],这包括但不限于位置、旋转、缩放、色彩以及透明度等方面。其独特的动态调度机制使得不同类型的动画文件都能够被正确执行,从而使用户体验达到最佳水平。此外,它还配备了如回调、循环、延迟和时间缩放等高级特性,以适应各种复杂的动画制作需求。它不仅具有良好的兼容性,而且拥有丰富的交互方式。你可以利用DOTween插件来方便地操控动画的播放、暂停、恢复以及停止等各种功能。此外,它具有多种编辑方式,用户可根据需要选择使用不同的方式进行制作[17]。此外,它还具备在运行过程中动态调整动画参数的功能,从而达到更为灵敏的动画控制效果。

图2-2DOTween插件
2.3 C#语言
C#编程语言是微软公司研发的一种现代化、面向对象的编程语言。其功能强大,使用灵活方便,已成为目前最流行的编程工具之一。该系统融合了C++的高级功能与Visual Basic的用户友好性,并特别为.NET框架进行了设计[18]。其功能强大且易于实现,已成为目前流行的程序设计语言之一。C#作为.NET平台的核心编程语言之一,在Windows桌面应用、Web应用、游戏开发、移动应用开发以及跨平台解决方案等多个应用场景中有着广泛的使用。C#脚本语言指的是在Unity游戏引擎中使用的C#代码片段,这些代码片段通常用于控制游戏逻辑、创建用户界面、管理游戏资源等。在Unity环境下,你有能力通过编写C#脚本来定义游戏对象的各种行为,并与其他游戏组件进行互动。如果你需要修改游戏元素的话,那么就需要将它添加到系统调用表中。C#作为一种高度依赖类型的语言,在定义变量的过程中必须明确其类型,这样做有助于降低运行过程中的错误发生。同时它也提供丰富的函数接口和强大的编程能力。C#采用了垃圾回收技术来自动管理其内存,从而降低了内存泄露和内存管理的难度。同时也避免了代码被恶意修改和移植到其它系统。利用Unity和.NET Core等先进技术,C#能够支持跨平台的开发,确保游戏或应用可以在多种操作系统中顺利运行[19]。此外,还能将代码复用到其它系统中。C#配备了众多的库和框架,例如.NET框架和Unity引擎API,这些库和框架为开发提供了丰富的功能和工具,有助于简化开发过程[20]。

图2-3C#语言
3需求分析
3.1系统架构分析
游戏的架构设计是任何游戏开发项目的核心要素,只有具备出色的架构设计,才能确保游戏内的主要功能模块能够独立运行,同时又不会妨碍模块间的相互引用。因此本文对游戏框架进行分析研究和优化改进,从而使其能够满足更多不同类型游戏开发的要求。这款游戏是基于Unity3D游戏引擎进行开发的,这款引擎在硬件API上已经构建了一个合适的框架,因此玩家无需深入思考游戏的底层硬件配置。游戏框架的好坏直接决定着游戏是否能正常运行以及游戏效果的优劣。对于游戏开发者来说,他们需要思考如何在Unity3D的现有架构上,根据他们开发的游戏的特定需求,构建一个适合这款游戏的高质量游戏框架。
在Unity3D开发的游戏世界里,GameObject被视为所有物体的基础组成部分。GAttribute和Components是GameObject的核心元素,通过调整这两个元素,我们可以创造出不同的GameObject,并据此构建各种游戏物体[21]。本文将以游戏角色为例介绍游戏场景的构建方法以及如何利用其创建具有交互特性的游戏物体。与GameObject有许多相似之处,当游戏处于Scene场景时,它是一个游戏的基础组成部分,而一个游戏的运行机制则是在不同的Scene环境中进行的转化。因此游戏场景划分对整个游戏系统来说至关重要,它决定了游戏的成败与否。游戏中的物体是依赖于Scene来存在的,只有当游戏跳转到当前的场景时,相应的游戏物体才能被游戏中的玩家接触并产生互动。因此游戏场景划分对整个游戏有着至关重要的影响,它直接关系着游戏画面的流畅度、真实感以及可玩性。因此,一个游戏的开发质量与游戏场景的合理划分有着紧密的联系。

图3.1 系统架构图
3.2功能模块分析
3.2.1战斗模块
关于战斗模块的需求:当玩家进入战斗副本,副本场景会被加载。玩家可以使用摇杆来控制角色的位置,并在小地图系统中查看角色在场景中的具体位置,同时还可以查阅角色的经验值、体力值、宝石数和金币数。根据当前的剧情选择合适的人物进行战斗。我们构建了一个结算系统,并利用动画系统来管理NPC的各种状态。

图3.2 战斗模块
3.2.2关卡模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值