(计算机论文)基于C#、Unity的先行者技能熟练度游戏系统的设计与实现

毕业设计(论文)

                      ​​​​​            ​博主可接毕设论文!!!

论文题目:基于C#、Unity的先行者技能熟练度游戏系统的设计与实现

 

摘  要

随着数字娱乐产业的蓬勃发展,独立游戏因其创新性和独特的游戏体验而受到越来越多玩家的喜爱。在这样的背景下,本课题旨在探讨独立游戏开发中的关键技术和创新设计方法。通过对《魔介之石:先行者》这一横板2D闯关游戏的开发过程的研究,旨在为独立游戏开发提供实践指导和理论参考。

本课题的主要工作集中在游戏设计和开发的几个关键方面。首先,实现了一个复杂的技能熟练度系统,允许玩家通过依次按下不同的按键来触发技能,并且反复使用特定技能来提高熟练度,减少触发技能的按键的数量以及解锁更高级的技能和效果。该系统不仅增加了游戏的深度,也提高了玩家的参与度。其次,论文详细介绍了游戏的咏唱系统和无咏唱魔法系统的设计和实现,这些系统为玩家提供了多样化的战斗选择。在技术实现方面,本论文详细探讨了Unity游戏引擎的应用,包括其物理引擎的使用,以及如何利用C#编程语言来实现游戏逻辑。此外,本文还探讨了在游戏开发过程中遇到的挑战和解决方案,特别是在技能系统设计、用户界面交互和多平台适配等方面的工作。这些内容不仅展示了游戏开发的具体过程,也为后续同类型游戏的开发提供了经验和技术指导。

整个游戏实现了基本的横板2D的游戏框架,并且在此基础上实现了技能熟练度系统,和非完全击败的敌人掉落系统,经测试,系统运行稳定,具有良好的拓展性和稳定性,能够满足正常游玩的要求。

关键词:Unity,C#,技能系统

Magic Air: Faster Mover The Design and Implementation of a Skill Proficiency Game System

Abstract

As the digital entertainment industry flourishes, independent games are increasingly favored by players for their innovation and unique gaming experience. Against this backdrop, this thesis aims to explore key technologies and innovative design methods in independent game development. Through the study of the development process of the side-scrolling 2D action game "Magic Stone of Induction: Pathfinder", this work aims to provide practical guidance and theoretical reference for independent game development.

The main work of this thesis focuses on several key aspects of game design and development. First, a complex skill proficiency system is implemented, allowing players to trigger skills by pressing different keys in sequence and to increase proficiency by repeatedly using specific skills. This reduces the number of keys required to trigger skills and unlocks more advanced skills and effects. This system not only adds depth to the game but also enhances player engagement. Second, the paper details the design and implementation of the game's chanting system and non-chanting magic system, offering players diverse combat options. In terms of technical implementation, the paper thoroughly explores the application of the Unity game engine, including the use of its physics engine, and how to implement game logic using the C# programming language. Additionally, the paper discusses challenges and solutions encountered in the game development process, especially in skill system design, user interface interaction, and cross-platform adaptation. These contents not only showcase the specific process of game development but also provide experience and technical guidance for the development of subsequent games of the same type.

Key words: Unity, C#, Skill System

目  录

摘  要   II

Abstract  III

第1章 绪  论    1

1.1 课题背景 1

1.2 目的与意义    1

1.3 论文研究主要内容 2

1.4 国内外研究现状    2

第2章 关键技术介绍 4

2.1 Unity游戏引擎       4

2.2 C#编程语言     4

2.3 物理引擎 4

第3章 需求分析 5

3.1 业务需求 5

3.2 玩家功能性需求分析    6

3.2.1控制移动      6

3.2.2控制跳跃      6

3.2.3读取按键      7

3.2.4技能释放      7

3.2.5收集掉落物  8

3.2.6开启菜单      8

3.3 敌人功能性需求分析    8

3.3.1血量管理      9

3.3.2追逐玩家      9

3.4 系统运转环境 10

3.5 系统开发环境 10

3.6 系统原型 10

3.6.1 咏唱系统原型图  10

3.6.2 魔介石概念原型图     10

3.7 人物原画 11

3.7.1 业希的原画  11

3.7.2塔洛兹的原画      12

3.8 系统可行性分析    12

第4章 系统设计 14

4.1 体系结构设计 14

4.2 数据库设计    14

4.3后台功能模块设计 17

4.3.1 玩家功能模块设计     17

4.3.2 敌人功能模块设计     18

4.4 时序图     18

第5章 系统实现 20

5.1 玩家功能模块实现 20

5.1.1 读取玩家按键功能模块实现     20

5.1.2 寻找对应技能功能模块实现     21

5.1.3 玩家技能释放功能模块实现     22

5.1.4 玩家移动功能模块实现     24

5.1.5 玩家释放跟踪飞弹模块实现     25

5.2 敌人模块实现 28

5.2.1 敌人受击模块实现     28

5.2.2 敌人移动模块实现     31

5.3 系统开发难点 32

第6章 系统测试 33

6.1 功能测试 33

6.1.1 玩家功能模块测试     33

6.1.2 敌人模块测试     33

6.2 测试结论 34

第7章 结 论    35

参考文献       36

致  谢    37

1章 绪  论

1.1 课题背景

随着随着技术的飞速发展和玩家群体的不断扩大,游戏行业正在经历前所未有的变革。从虚拟现实(VR)和增强现实(AR)技术的引入,到人工智能(AI)和云游戏服务的应用,游戏行业正迎来新的技术浪潮。这些技术不仅改变了游戏的玩法,也提高了玩家对互动性和沉浸感的期待。然而,尽管游戏形式的多样化和技术的进步为创新提供了空间,许多游戏的核心玩法依然停留在传统模式上,特别是在技能系统的设计上往往缺乏创新。因此,《魔介之石:先行者》的独特设计理念——一个全新的技能熟练度系统,应运而生。它不仅挑战了传统游戏的常规做法,还旨在更深层次地吸引玩家,提供一种全新的、深度的游戏体验。

同时,现代玩家群体呈现出多样化的需求,从休闲玩家到硬核玩家,他们对游戏内容、挑战难度和沉浸感有着各自的期待。为了满足这些多元化的需求,《魔介之石:先行者》在游戏设计上引入了非完全击败的敌人掉落系统,这不仅为游戏战斗增添了更多策略元素,还让不同水平的玩家都能在游戏中找到适合自己的挑战和乐趣。

1.2 目的与意义

本课题的核心目的是探索并验证全新的游戏玩法系统,旨在突破传统游戏机制的局限,为玩家提供更丰富的互动体验。引入的技能熟练度和敌人掉落系统,不仅增强了游戏的可玩性和策略深度,还为不同水平的玩家提供了定制化的挑战。这种系统设计,更容易使玩家达到心流状态,从而提升游戏的吸引力和玩家的留存率。在当前游戏市场竞争激烈、玩家需求多样化的情况下,这种创新的游戏设计理念和机制可能为整个游戏行业带来新的发展方向。此外,这些系统的引入,不仅能够改变玩家对传统游戏的认知,也有望成为其他独立游戏开发者的灵感源泉,推动整个行业朝着更加多元化和个性化的方向发展。课题是对全新的游戏玩法系统的一次探索与验证,这两个系统能够提高游戏的可玩性,适应不同玩家的水平,同时会比传统游戏在技能提升方面更容易产生心流。此外,这些系统的引入不仅能够改变玩家对传统游戏的看法,还可能激发其他独立游戏开发者的创意灵感,推动整个行业向更多元化和个性化的方向发展。

1.3 论文研究主要内容

       

完成了一个基于Unity的横板2D的角色扮演游戏,此项目包含传统2D游戏的基本功能框架,并在此基础上设计并实现技能熟练度系统,同时研究此系统以及其相关系统所带来游戏体验的变化。

  1. 技能熟练度系统

此系统包含熟练度系统和技能释放系统,技能释放系统预计包含2种方式。

① 咏唱模块:玩家通过按下一定顺序的按键来模拟咏唱,咏唱完成后会调用对应的技能,最后通过鼠标以及鼠标左键来决定瞄准释放的位置。

② 无咏唱模块:玩家通过按下最少顺序的按键来调用相应技能,调用好相应的技能后,继续按下注入魔力的按键可以向此技能注入魔力,从而增加此技能的效果,同时根据主角的魔力控制力等参数来决定技能的随机摇摆幅度,以此来模拟控制不住技能的情况,最后过鼠标以及鼠标左键来决定瞄准释放的位置,如果魔力量太多导致超过主角魔力控制力则会造成偏移。

  1. 非完全击败的敌人掉落系统

玩家可选择重点攻击敌人的不同部位,击败后获取相应装备材料,引入战术选择和资源管理元素。

两个核心新玩法融合进传统的2D横板游戏,探寻新玩法的可玩性。

1.4 国内外研究现状

国内游戏产业近年来经历了迅猛发展,主要集中在移动游戏、社交游戏以及电子竞技等领域。技术研究上,越来越多的国内游戏公司开始关注AI技术的应用,如利用机器学习进行游戏测试和玩家行为分析。此外,虚拟现实(VR)和增强现实(AR)技术在国内游戏产业中的应用也日渐增多。市场研究方面,国内学者和行业分析师对游戏用户的消费行为、游戏设计的社会文化影响进行了深入研究。在政策层面,对游戏内容的审查和监管在近年来也成为了研究热点,特别是针对未成年人保护和防沉迷系统的建立。

在国际范围内,游戏研究是一个融合了计算机科学、心理学、艺术设计和社会学的领域。特别是在美国、欧洲和日本,大学和研究机构长期致力于游戏技术进步、游戏文化综合分析以及游戏超越娱乐目的的使用(教育或培训等领域)。在游戏设计领域,越来越多的研究着重于探讨游戏叙事、角色代入感及其对玩家情感影响的研究。游戏心理学研究则探讨游戏对于玩家心理健康的影响,包括游戏成瘾、暴力行为等。在技术层面,云游戏、人工智能在游戏中的应用、以及新型交互方式(例如,基于手势的控制系统)是国外研究的热点话题。此外,电子竞技作为一个快速增长的领域,也吸引了大量的研究兴趣,包括竞技策略、玩家训练和电子竞技市场的商业模式。

2章 关键技术介绍

2.1 Unity游戏引擎

Unity游戏引擎在游戏开发界享有盛誉,不仅因其强大的跨平台能力,也因其对开发者友好的设计。Unity支持从简单的2D游戏到复杂的3D环境,满足各种游戏类型的需求。这得益于Unity的高级渲染引擎,它支持最新的图形技术,如实时光线追踪,为游戏带来电影级别的视觉效果。Unity的编程接口简洁而强大,允许开发者快速实现想法。此外,Unity的编辑器环境是高度可定制的,它允许开发者通过插件和扩展来优化他们的工作流程。Unity的资产商店是其另一个重要优势,它提供了海量的资源,如模型、纹理、音效和脚本库,这些资源加速了开发过程,并使得高质量的游戏开发更加易于达成。Unity的社区活跃且支持广泛,从业余爱好者到专业开发团队都在此交流心得,共享技术和经验。

2.2 C#编程语言

C#语言在Unity中的应用使得游戏开发过程更加直观和高效。它的语法清晰,适合编写结构化和模块化的代码,这在大型游戏项目中尤为重要。C#的面向对象特性,如类继承、接口和多态性,为游戏设计提供了极大的灵活性和可扩展性。C#还具有强大的错误处理能力,其异常处理机制能有效避免游戏运行时的崩溃。随着游戏开发越来越依赖于网络和社交功能,C#中的网络编程功能也显得格外重要,它能帮助开发者轻松实现多人在线游戏和社交互动功能。此外,C#在跨平台开发中的可移植性,使得开发者能够针对不同的硬件和操作系统平台开发游戏,无需对底层代码进行大量修改。

2.3 物理引擎

 Unity的物理引擎提供了模拟真实世界物理行为的细致工具,这不仅包括碰撞检测和响应,还包括刚体动力学和约束系统。刚体动力学使得游戏对象能以真实的方式运动,如滚动、摔落和反弹,而约束系统则允许开发者创建复杂的机械结构,如铰链和弹簧。这在模拟车辆、建筑崩塌和物理谜题方面非常有用。物理引擎还包含高级的功能,如布料模拟和流体动力学,使得游戏世界的环境和角色服饰能够以逼真的方式反应和交互。此外,Unity的物理引擎还提供了对虚拟现实(VR)和增强现实(AR)游戏的优化支持,为这些沉浸式体验增添了真实感。这种对现实世界物理的精确模拟,不仅增强了游戏的真实性和可信度,也为游戏设计带来了无限的可能性和创意空间。

3章 需求分析

3.1 业务需求

用户点击《魔介之石:先行者》,进入开始游戏界面,点击开始游戏则进入游戏,在挑战开始前可以进行作战准备,提升技能熟练度,准备好后开始挑战关卡,在战斗过程中大型敌人的部分部位可能掉落材料,这时可以进行战术选择,可以选择收集战利品回到安全区继续准备,也可以选择继续挑战,挑战成功后游戏结束,点击退出按钮即可退出游戏。流程图如图3.1所示。

图3.1 游戏流程图

3.2 玩家功能性需求分析

根据需求调研,玩家用例图如图 3.2 所示。

图3.2 玩家用例图

3.2.1控制移动

控制移动用例描述如表3.1所示。

表3.1 控制移动用例描述

用例名称

移动

参与者

玩家

用例概述

玩家使用该用例完成相对世界坐标左右位移的功能

前置条件

玩家已经开始游戏,且未死亡

后置条件

游戏结束

基本事件流

参与者动作

系统响应

1.玩家按下键盘AD键。

2.响应并让游戏角色依据按键方向运动。

备选事件流

  1. a用户移动方向有障碍物

b.系统限制角色移动范围

3.2.2控制跳跃

控制跳跃用例描述如表3.2所示。

表3.2 控制跳跃用例描述

用例名称

跳跃

参与者

玩家

用例概述

玩家使用该用例完成相对世界坐标向上位移的功能

前置条件

玩家已经开始游戏,在地面上,且未死亡

后置条件

跳跃

续表3.2 控制跳跃用例描述

基本事件流

参与者动作

系统响应

1.玩家按下键盘空格键键。

2.响应并给游戏角色施加一个向上的力。

备选事件流

  1. a玩家移动方向有障碍物

b.系统限制角色移动范围

3.2.3读取按键

读取按键用例描述如表3.3所示。

表3.3 读取按键用例描述

用例名称

读取按键

参与者

玩家

用例概述

玩家使用该用例完成读取按键并搜索技能的功能

前置条件

玩家已经开始游戏,且未死亡

后置条件

游戏结束

基本事件流

参与者动作

系统响应

1.玩家按下技能按键顺序前半段。

5.玩家按下技能按键顺序后半段。

2.系统读取按键并按顺序保存在临时列表中。

3.系统根据临时列表前半段搜索对应的魔法类型。

4.系统把对应的魔法类型索引保存在临时变量里。

5.系统根据魔法类型索引和按键顺序后半段搜索对应的魔法。

6.系统把对应的魔法索引保存在临时变量里。

备选事件流

  1. a玩家超过三秒没有输入新的按键

b.系统清除临时列表和索引

3.2.4技能释放

技能释放用例描述如表3.4所示。

表3.4 技能释放用例描述

用例名称

技能释放

参与者

玩家

用例概述

玩家使用该用例完成技能释放的功能

前置条件

技能索引已被找到。

后置条件

玩家释放游戏角色的魔法技能,消耗魔力值。

基本事件流

参与者动作

系统响应

1.玩家用鼠标进行瞄准。

2.玩家点击鼠标左键。

3.系统获取当前鼠标位置。

4.系统获取玩家当前位置。

5.系统计算玩家指向鼠标位置的向量。

6.系统根据技能索引找到对应的魔法。

续表3.2 技能释放用例描述

7.系统实例化对应的魔法技能游戏对象。

8.系统调整魔法技能游戏对象的方向为玩家指向鼠标位置的向量方向。

备选事件流

3a.当玩家按下鼠标右键,系统清除技能索引

3.2.5收集掉落物

收集掉落物用例描述如表3.5所示。

表3.5 收集掉落物用例描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值