当前位置: 首页 > news >正文

【Unity】RPG2D龙城纷争(一)搭建项目、导入框架、前期开发准备

更新日期:2024年6月12日。
项目源码:后续章节发布

免责声明:【RPG2D龙城纷争】使用的图片、音频等所有素材均有可能来自互联网,本专栏所有文章仅做学习和教程目的,不会将任何素材用于任何商业用途。

索引

  • 【系列简介】
  • 【GameComponent 模块简介】
  • 【RPG2D 系统简介】
  • 【游戏简介】
  • 【游戏背景】
  • 【游戏玩法】
    • 1.回合制
    • 2.地图
    • 3.角色
    • 4.要诀
    • 5.获胜条件
  • 【演示效果预览】
  • 环境搭建
    • 导入HTFramework框架
    • 导入GameComponent模块
    • 导入RPG2D系统
    • 使用项目创建向导
    • 开始开发
  • 创建关卡
  • 编辑关卡
  • 创建并编辑角色
  • 创建并编辑要诀
  • 创建并编辑剧情对话
  • 创建并编辑升级系统
  • 创建AI控制器
  • 平衡调节
  • 结尾

【系列简介】

本系列会基于HTFramework框架和RPG2D系统开发一个名为龙城纷争的小游戏,他同时也将作为HTFramework最佳实践的一个例子,RPG2D系统具备强大的实用性和扩展性,你完全可以基于他继续完善、丰富内容。

本系列会打破常规,不止介绍各个模块或工具的使用方式,还将会从零开始详解各个功能点的实现细节与设计理念,所以为了方便读者结合源码与教程同时学习,便提前放出源码(后续关键章节),但请注意,在教程前进过程中,源码可能会随时更新(改进设计?修复bug?),所以请随时关注源码链接。

【GameComponent 模块简介】

GameComponent模块作为HTFramework框架的可选扩展模块,主要包含一些游戏组件,游戏常用功能系统等,必须依赖HTFramework主框架而存在,目前并未开源。

【RPG2D 系统简介】

RPG2D系统名为2D角色扮演与回合制战棋快速、持续开发系统,隶属于GameComponent模块,他提供快速开发2D角色扮演与回合制战棋游戏的各种工具和组件,例如:关卡编辑器、角色定义、角色数据集编辑(使得不同角色只要使用相同数据集就能拥有相同属性)、剧情对话编辑、要诀定义(也即是技能)、要诀特效、战斗系统、升级系统、AI系统(主要为调遣敌方角色战斗)、存档功能、平衡模拟器等。

例如,关卡编辑器(用于编辑关卡、布局角色):
在这里插入图片描述例如,平衡模拟器(用于调节角色、要诀数值,以完善平衡性):

在这里插入图片描述

【游戏简介】

龙城纷争是一款2D俯视角角色扮演、回合制战棋、策略闯关游戏,玩家可以控制多个角色、使用不同的要诀进行策略战斗,消灭敌方角色或达成通关条件即可通关,且随着关卡的解锁会有新的角色加入玩家队伍。

本游戏玩法借鉴第二次超级机器人大战(FC)。

也许是童年的记忆,超级机器人大战这款游戏即便是现在也依旧对我充满了吸引力,偶尔还会重拾它玩上几把,它的玩法设定在当年是独树一帜的,既有角色扮演,亦有回合制战棋,更有策略,如果你未曾接触过这类游戏,那对于接下来的文章可能会兴致大减(毕竟它是上个世纪的游戏),所以在这里算是一个友好的警示

【游戏背景】

龙城是神龙帝国东南方最大的城市,盘踞着帝国最负盛名的十大家族,这里也是四年一度的要诀争霸赛的起点,如今,第十届要诀争霸赛即将开始,入围者将有机会问鼎帝都,面见圣人(90级以上强者的尊称),更有机会获得传世要诀。

络家在龙城十大家族中排行第二,这里,也是故事的起点…

【游戏玩法】

1.回合制

游戏为回合制,每一回合(玩家先行动,然后是敌人行动),一个角色只能进行一次行动,如下行为均消耗一次行动:

  • 移动(角色从当前位置移动到任意与自己距离不大于移动速度的格子)
  • 移动并使用近程攻击型要诀(角色移动完毕的同时,可使用近程攻击型要诀攻击敌人1次)
  • 原地使用近程、远程攻击型要诀(角色未移动,在原地可使用近程、远程攻击型要诀攻击敌人1次)
  • 移动并使用近程治疗型要诀(角色移动完毕的同时,可使用近程治疗型要诀治疗自己或队友1次)
  • 原地使用近程、远程治疗型要诀(角色未移动,在原地可使用近程、远程治疗型要诀治疗自己或队友1次)

2.地图

地图为正方形网格形式,每个格子拥有自己的属性,地图上的距离均为曼哈顿距离。

3.角色

每一个角色拥有8个要诀槽位(要诀可以理解为技能),可学习8种不同的要诀,玩家角色击败敌人后会获得经验值以升级(1-100级),等级提升后会解锁更多的槽位。

4.要诀

要诀分为以下3种:

  • 攻击型要诀:可用来攻击敌方;
  • 治疗型要诀:可用来治疗友军;
  • 加成型要诀:永久提供一些属性加成(特殊加成型,比如踏水神行,可在水面上行走,一夫当关,免疫一切远程攻击伤害);

5.获胜条件

每一个关卡,玩家控制多个角色组成的队伍,与AI控制的多个敌人进行战斗,每一个关卡的获胜条件不同,有全歼敌人、击败指定BOSS、坚持多少回合不团灭等。

【演示效果预览】

龙城纷争的演示效果(主打教学目的,UI界面使用内置素材拼凑而成,看起来更加清晰明了,当然,完全可以自行定制界面):

【Unity】RPG2D龙城纷争

环境搭建

新建项目、导入框架、以及相关导入设置这里就不在详述,请参阅此篇博客。

导入HTFramework框架

目前推荐使用HTFramework 0.4.1版本,此版本已将支持的Unity版本升级至2022.3.17(长期支持版):

在这里插入图片描述

导入GameComponent模块

通过模块管理器下载GameComponent模块到当前项目:(目前未开源无法下载,源码将附带于本系列第二章)

在这里插入图片描述

导入RPG2D系统

GameComponent模块也有一个单独的可插拨式模块管理器,通过他可以导入、移除、备份功能模块(部分模块不支持备份),当然RPG2D系统默认是导入的:

打开管理器界面:
在这里插入图片描述

管理各个托管系统、组件:
在这里插入图片描述

使用项目创建向导

依次点击菜单HTFramework -> Project Wizard启动项目创建向导:

在这里插入图片描述

Generate Project Folder栏显示推荐的项目源文件目录结构;

Original Setup栏显示初始设置,自动生成的入口场景的名称,以及存放的路径,以及是否自动生成第一个流程类;

点击Generate按钮即可生成项目源文件目录结构,生成入口场景,生成默认流程类

生成完成之后,我们的项目Project结构如下(请注意,由于要使用到A*寻路系统,所以RPG2D强制依赖HTFrameworkAI模块):
在这里插入图片描述

开始开发

然后,我们在Main场景的Hierarchy视图中已然能够看到框架主环境:

在这里插入图片描述

至此,基本环境已经搭建完成,接下来我们大致了解下RPG2D的工作流程。

创建关卡

通过如下菜单创建一个新的关卡:
在这里插入图片描述
然后将关卡设置为预制体:
在这里插入图片描述
选中关卡预制体,点击右上角打开按钮,进入预制编辑状态后,再点击打开关卡编辑器按钮:

在这里插入图片描述

编辑关卡

在关卡编辑器界面编辑地图、编辑角色:
在这里插入图片描述

创建并编辑角色

创建并编辑角色数据集:
在这里插入图片描述

创建并编辑要诀

创建并编辑要诀数据集:
在这里插入图片描述

创建并编辑剧情对话

创建并编辑剧情对话数据集:
在这里插入图片描述

创建并编辑升级系统

创建并编辑升级系统数据集:
在这里插入图片描述

创建AI控制器

创建自己的AI控制器,继承至基类AI,也可以使用缺省的AI_Normal:
在这里插入图片描述

平衡调节

使用平衡模拟器调节数据平衡:
在这里插入图片描述

结尾

至此,通过上面的一系列流程后,就能够完整运行一个关卡了(当然,忽略了UI界面的搭建),不过这里只是做了一个大致的流程简介,接下来,我们将逐代码行解析程序中实现的各个细节。

相关文章:

【Unity】RPG2D龙城纷争(一)搭建项目、导入框架、前期开发准备

更新日期:2024年6月12日。 项目源码:后续章节发布 免责声明:【RPG2D龙城纷争】使用的图片、音频等所有素材均有可能来自互联网,本专栏所有文章仅做学习和教程目的,不会将任何素材用于任何商业用途。 索引 【系列简介】…...

多目标跟踪中检测器和跟踪器如何协同工作的

多目标跟踪中检测器和跟踪器如何协同工作的 flyfish 主要是两者 接口间的交互 假设 原始图像尺寸:1920(宽)x 1080(高) 模型输入尺寸:640(宽)x 640(高) 检…...

kali系统几个开机启动项的区别

1、Live system (amd64) 简单的模式 ,启动系统,直接进入 Kali,在系统中的所有的操作和设置都会在下次重启时失效。 Kali 中保存/编辑的所有东西都会重启丢失。 2、Live system (amd64 fail-safe mode) 这种模式与 Live (amd64) 类似&#xf…...

【自撰写】【国际象棋入门】第5课 常见开局战术组合(一)

第5课 常见开局战术组合(一) 本次课中,我们简要介绍几种常见的开局战术组合。开局当中,理想的情况是,己方的两只(或以上)轻子相互配合,或者与己方的兵配合,在完成布局的…...

高考志愿填报选专业,女孩就业率最好的专业有哪些?

高考志愿填报选专业, 大家都会关心:将来怎么就业? 按照目前的环境来说,女孩的就业是不乐观的,在职场上,绝大部分岗位都是男性优先的,至少短期内可能还无法改变,这样就要求我们在大学…...

yolov5模型训练早停模型变大

目录 1. 背景2. 原因分析2.1 train代码分析2.2 strip_optimizer函数分析 3. 验证 1. 背景 最近使用tph-yolov5训练yolov5l-tph-plus模型时,发现模型收敛的差不多了,就果断的停止了训练,结果发现last.pt和best.pt竟然488M,而正常训…...

next是什么???

大家都知道最近出了一个很火的框架,Next.js框架。很多大公司(例如:Tencent腾讯,docker,Uber)的项目都在使用这个Next.js框架。那Next.js到底是一个什么框架呢?Next.js有什么优点呢?今…...

K8s的资源对象

资源对象是 K8s 提供的一些管理和运行应用容器的各种对象和组件。 Pod 资源是 K8s 中的基本部署单元,K8s通过Pod来运行业务应用的容器镜像 Job 和 CronJob 资源用于执行任务和定时任务,DaemonSet 资源提供类似每个节点上守护进程, Deployment…...

OpenStack快速入门

任务一 熟悉OpenStack图形界面操作 1.1 Horizon项目 •各OpenStack服务的图形界面都是由Horizon提供的。 •Horizon提供基于Web的模块化用户界面。 •Horizon为云管理员提供一个整体的视图。 •Horizon为终端用户提供一个自主服务的门户。 •Horizon由云管理员进行管理…...

STM32CubeIDE对STM32F072进行ADC配置及使用

目录 1. 配置2. 时钟3. ADC配置4. 代码补充 1. 配置 引脚配置:PB0 2. 时钟 都是48MHz 3. ADC配置 ADC配置: 开启中断: 4. 代码补充 轮训ADC采样: HAL_ADC_PollForConversion(&hadc,10);ADC采样: HAL_ADC_Start (&a…...

Leetcode Hot 100 刷题记录 - Day 1

问题描述: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 示…...

k8s学习--Kruise Rollouts 基本使用

文章目录 Kruise Rollouts简介什么是 Kruise Rollouts?核心功能 应用环境一、OpenKruise部署1.安装helm客户端工具2. 通过 helm 安装 二、Kruise Rollouts 安装2. kubectl plugin安装 三、Kruise Rollouts 基本使用(多批次发布)1. 使用Deployment部署应用2.准备Roll…...

PHP框架详解 - CakePHP框架

CakePHP 是一个开源的 PHP Web 应用框架,它遵循 MVC(模型-视图-控制器)设计模式。CakePHP 提供了快速开发的功能,如代码自动生成、数据库交互的 CRUD 操作支持、灵活的路由、模板引擎、表单处理以及其它许多有用的特性22。 CakeP…...

el-cascader 支持多层级,多选(可自定义限制数量),保留最后一级

多功能的 el-cascader 序言:最近遇到一个需求关于级联的,有点东西,这里是要获取某个产品类型下的产品,会存在产品类型和产品在同一级的情况,但是产品类型不能勾选; 情况1(二级菜单是产品&…...

leetcode498 对角线遍历

题目 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。 示例 输入:mat [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,4,7,5,3,6,8,9] 解析 本题目主要考察的就是模拟法,首…...

北京活动会议通常会邀约哪些媒体参会报道?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 北京作为我国的首都和文化中心,各类活动会议资源丰富,吸引了众多媒体的关注。以下是一些通常会被邀约参会报道的重要媒体类型: 国家级新闻机构&#x…...

随心笔记,第六更

目录 一、 三步构建 XML转成java bean 1.XML转XSD 2.XSD转JavaBean 3.jaxb 工具类 4.测试 📢📢📢📣📣📣 哈喽!大家好,我是「Leen」。刚工作几年,想和大家一同进步&am…...

zustand 状态管理库的使用 结合TS

zustand 是一个用于React应用的简单、快速且零依赖的状态管理库。它使用简单的钩子(hooks)API来创建全局状态,使得在组件之间共享状态变得容易。 React学习Day10 基本用法 安装:首先,你需要安装zustand库。 npm insta…...

Maven 的生命周期详解

Maven 是目前最流行的项目管理和构建工具之一,广泛应用于 Java 开发项目中。它通过一系列约定和配置,极大地简化了项目的构建、依赖管理和生命周期管理。其中,Maven 的生命周期是其核心概念之一,贯穿了项目从构建、测试、打包到部…...

【稳定检索/投稿优惠】2024年生物技术与食品科学国际会议(ICBFS 2024)

2024 International Conference on Biotechnology and Food Science 2024年生物技术与食品科学国际会议 【会议信息】 会议简称:ICBFS 2024 大会时间:点击查看 截稿时间:点击查看 大会地点:中国厦门 会议官网:www.icb…...

iOS Category

原理: 【iOS】——分类、扩展和关联对象_ios 为什么分类不能加成员变量-CSDN博客 面试题: 1.Category和Extension区别? 在 Objective-C 中,Category 和 Extension 是两种用于向现有类添加新功能的机制,但它们各有特…...

5.Sentinel入门与使用

5.Sentinel入门与使用 1.什么是 Sentinel?Sentinel 主要有以下几个功能: 2.为什么需要 Sentinel?3.Sentinel 基本概念3.1 什么是流量控制?3.1.1 常见流量控制算法3.1.2 Sentinel 流量控制流控效果介绍如下: 3.2 什么是熔断?熔断策略 3.3 Sentinel 组成(资源和规…...

上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,h750和之前的103、407相比较,本身cpu频率比较高,flash大小一般,但是ram比较大&#x…...

信创服务器操作系统的适配迁移分析

浅谈信创服务器操作系统的适配迁移 01 服务器操作系统迁移适配流程复杂 随着CentOS停服临近和红帽RHEL源码权限受限,服务器操作系统安全漏洞风险加剧。国内众多企业面临CentOS、REHL等系统升级替换的挑战。同时,出于安全、功能升级和合规需求&#xff0…...

在Ubuntu 20.04上安装和配置MySQL 8:详细指南和远程访问设置

目录 一、MySQL 8的特点和优势 二、在Ubuntu 20.04上安装MySQL 8 三、初始化MySQL 四、配置MySQL远程访问 五、 创建远程访问用户 六. 配置防火墙 七、 测试远程访问 总结 MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种应用程序和网站中。MySQL …...

Vue43-单文件组件

一、脚手架的作用 单文件组件:xxx.vue,浏览器不能直接运行!!! 脚手架去调用webpack等第三方工具。 二、vue文件的命名规则 建议用下面的两种方式。(首字母大写!!!&#x…...

如何快速使用向量检索服务DashVector?

免费体验阿里云高性能向量检索服务:https://www.aliyun.com/product/ai/dashvector 本文将介绍如何快速上手使用向量检索服务DashVector。 前提条件 已创建Cluster:创建Cluster。 已获得API-KEY:API-KEY管理。 已安装最新版SDK&#xff1a…...

Linux 用户和用户组 创建用户 创建组

介绍 一个组有多个用户,可以给组分配权限,那么该组的使用用户都有该组的权限,就不用一个个分配,而且很好管理。 创建用户组 groupadd 组名删除用户组 groupdel test查看用户所属组 id [用户名]修改用户组 把abc用户添加到m…...

Character Animator 2024 mac/win版:赋予角色生命,动画更传神

Character Animator 2024是一款强大的角色动画制作软件,以其创新的功能和卓越的性能,为动画师、游戏开发者以及设计师们带来了全新的创作体验。 Character Animator 2024 mac/win版获取 这款软件采用了先进的骨骼绑定技术,使得角色动画的制作…...

短剧app广告变现模式开发

短剧app搭建是一个涉及多个方面的复杂过程,下面将介绍主要的步骤和考虑因素: 明确目标和定位:在开始搭建之前,首先要明确你的目标受众是谁,以及短剧app的主要定位是什么。这有助于在后续的开发过程中更有针对性地进行…...

wordpress 输出自定义/十大seo公司

fdsafsdfsfsafasdf转载于:https://blog.51cto.com/12218412/2403961...

网站建设分哪些类别/建站seo是什么

解释器(英语:Interpreter),又译为直译器,是一种电脑程序能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行,因此…...

没有网站如何做天天联盟/软件开发外包公司

为什么80%的码农都做不了架构师?>>> 作为他的忠实粉丝,决定从今天开始,看到他的每一句经典的、有价值的、令人回味深长的话,都记录下来,以便反复学习。 问:学习设计模式有什么好书推荐&#x…...

网站建设服务费/重庆百度总代理

嵌入式系统开发者应该对Little-endian和Big-endian模式非常了解。采用Little-endian模式的CPU对操作数的存放方式是从低字节到高字节,而Big-endian模式对操作数的存放方式是从高字节到低字节。也就是说Big-endian模式符合人的习惯,而Little-endian更加方…...

怎么创建网站充值和提现账号/二级域名和一级域名优化难度

(via:Cocos 引擎中文站) 一夜之间,微信上一款叫《围住神经猫》的小游戏火了。它的玩法很简单,用最少的步数把一只神经兮兮的猫围死。 7月22号上线以来,3天、500万用户和1亿访问,想必各位程序猿都按耐不住了…...

景区微网站建设费用/临沂网站建设

为了提高虚拟机的性能,在现在配置VMware ESXi时,一般需要在主机上添加一块到多块固态硬盘,作为缓存使用。通常情况下,为主机配置1块120G~240GB的固态硬盘即可。在使用固态硬盘时,不要使用服务器的RAID卡配置…...