下载 App

类幸存者游戏自定义AI教程三之BOSS AI

修改于2024/06/12260 浏览案例分享
这期带来BOSS的自定义AI,先讲解下我的项目里BOSS行动逻辑。(视频中发射红蓝法球是BOSS天赋技能,其他三个是公共技能)
1.BOSS是近战追逐玩家类型,一直追着主角自身带被动碰撞伤害。
2.BOSS拥有三个公共技能池,分为大招池, 中招池, 小招池。  每个技能池都有5个技能,使用的是公共CD,当公共CD冷却好的时候,根据随机到的值,决定是哪个技能池, 在从技能池中,随机一个技能, 如果随机的是小招池或者中招池,那么下次随机到的大招概率会增大。随到大招池则清空累加概率。有点像抽卡。
3.BOSS拥有一个天赋技能,每只BOSS都有自己独享的一个技能,天赋技能的CD用的是技能本身CD和公共技能CD不冲突。
TapTap
BOSS AI有8个行为表
AI参数表中的参数(key)解释
__ai_target :当前单位锁定的敌人,类型:单位。用于单位进行追击和攻击
__next_skill : 单位将要释放的技能,类型:技能。用于单位释放技能
__ai_cast_timer : 技能计时器,类型:计时器。用于控制单位技能释放流程
__ai_bosstf_yc:天赋技能延迟变量  类型:布尔。用于判断BOSS天赋技能是否可以开始施放
__ai_skilltype_value:公共技能的叠加概率值  类型:数值。用于提高BOSS技能随机的权重
__ai_skillatk_cd:公共CD变量 类型:布尔。用于判断公共技能CD是否冷却完成
__ai_atk_timer:公共CD计时器,类型:计时器,当公共CD进入冷却的时候,就要开启一个计时器,让公共CD变量在规定时间后,冷却完成
BOSS_AI行为表有8个,多了个找准备施放的天赋技能行为。和之前近战AI的行为不同的有4个,
设置技能CD:
设置技能CD多了个BOSS天赋技能在5秒才能施放的操作,因为我想让BOSS在创建一段时间后才能用天赋技能。根据自身需求添加。
TapTap
找准备施放的天赋技能:
1. 判断 单位将要释放的技能是否不为空,不为空跳出当前行为表
2  .判断天赋技能延迟变量 是否为空,为空跳出当前行为表(正常不会为空,设置技能CD的行为表设置过了,保险起见)
3 .天赋技能延迟变量 为真且目标不为空时,延迟结束。开始查找自身的天赋技能,BOSS的技能添加了一个自定义字段,技能类型,类型为4代表天赋技能。 当冷却时间、技能类型、施法类型都满足时。赋予 单位将要释放的技能。
4.剩余的操作和之前一样 ,如果找到了合法技能但是因为各种原因8秒内却没有放出去就清空技能和目标。
TapTap
TapTap
TapTap
TapTap
找准备施放的普通技能:
1.取公共技能的叠加概率值 为空设置初始值为零
2.取公共CD变量 为空设置初始值,不为空则赋值给公共技能是否冷却完成变量
3.判断公共技能是否冷却完成和单位将要释放的技能,符合情况跳过当前AI行为表,执行下个行为表
4。当前单位锁定的敌人不为空,开始筛选技能
5.判断技能类型(1小招  2 中招 3大招  4天赋 )扔进对应技能数组,根据技能权重和公共技能的叠加概率值来确定取到的Boss技能类型。根据取到的Boss技能类型(1小招  2 中招 3大招),获取取到技能组。
6.取到的Boss技能类型如果为3,公共技能的叠加概率值归零,否则公共技能的叠加概率值增加。
7.从取到技能组随机一个技能,赋予单位将要释放的技能。
8.如果找到了合法技能但是因为各种原因8秒内却没有放出去就清空技能和目标
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
找到技能就施放:
1.单位锁定的敌人和单位将要释放的技能不为空则AI开始施放技能
2.判断施放的技能类型,不为4(天赋技能)则公共技能进入CD
3.清空技能计时器和单位将要释放的技能。
TapTap
TapTap
到此BOSS的AI就完成了,大家可以根据自己项目的需要来修改BOSS的AI,比如有多阶段的BOSS,不同阶段的BOSS有不同的技能,或者超过一段时间没打死BOSS就施放秒杀技能的BOSS。
00:19
如何实现单位的随意拖拽摆放?【星火编辑器教程】截图
如何实现单位的随意拖拽摆放?【星火编辑器教程】
很多小伙伴想做自走棋类的游戏,那么就会涉及到单位的一个最基础的操作,就是选中单位并拖拽和摆放,那如何实现单位的拖拽摆放呢,今天就来教大家如何实现这样的功能。实现效果如下视频所示。 教程开始 第一步: 打开编辑器的触发编辑器,新建一个文件夹(我就叫“拖拽功能”,方便对拖拽功能的逻辑进行归类,如果你不建文件夹也没关系,习惯而已) 第二步: 点击文件夹右边的+号,添加一个变量,我这里叫“变量_目前选中的
19 赞
12 回复
00:37
类幸存者游戏自定义AI教程二截图
类幸存者游戏自定义AI教程二
今天为大家讲解四种小怪自定义AI 近战带技能的小怪AI、远程小怪AI、瞎鸡儿走的攻击小怪AI,光环小怪AI 带技能的小怪有技能公共CD:这个是比较关键的点,假设野猪有两个技能:冲撞和超级冲撞(技能冷却都是1S)。野猪的公共CD是3S,那么野猪会每隔3S,寻找自身冷却好的技能数组,然后从数组中随机一个,来进行施放。 因为野猪的技能冷却都是1S,也就是当该怪物的公共CD冷却好的时候,野猪的两个技能肯
3 赞
3 回复
00:15
类幸存者游戏自定义AI教程一截图
类幸存者游戏自定义AI教程一
这系列教程为大家带来,类幸存者游戏自定义AI的讲解(基于2024 0.3版本),大致分为小怪自定义AI,BOSS自定义AI,还有角色自身AI(没错,我给自身角色也加了AI,用AI来控制自身技能的释放) 首先,幸存者类的游戏怪物一般自身都有一个被动技能(土豆兄弟,刀刀兄弟,吸血鬼幸存者等),就是碰撞到玩家会对玩家造成伤害,那么在星火里怎么实现这个功能。 我的实现是制作一个怪物通用被动技能 怪物的碰撞
5 赞
2 回复
00:29
类幸存者游戏自定义AI教程四之玩家角色AI截图
类幸存者游戏自定义AI教程四之玩家角色AI
这期是自定义AI最后一期,给角色添加AI。 举个例子,我们想实现一个玩家每隔5秒向周围敌人发射火球的技能,大家可能会用周期节点或者添加BUFF来实现。 这期提供另一种解决方案, 用AI来控制角色施放特定类型的技能。 优势: 1 更方便,技能本身就是个普通的主动技能。 2 假如你有暂停游戏不暂停通讯的需求时,周期节点其实是暂停不了的。BUFF有另外一个问题执行周期的时间没办法动态修改,例如我一开始添
7 赞
2 回复
Boss指示器教程二自定义计时器截图
Boss指示器教程二自定义计时器
这期继续讲解BOSS指示器。 上一期我们讲到指示器的进度用到了自定义计时器。 自定义计时器是在官方计时器基础封装了一层。 自定义计时器方法里有6个参数 总时间:整个计时器的持续时间 我的间隔:每隔多少时间执行一次周期函数 周期执行函数: 每个周期执行的函数 结束函数:计时器结束时候执行的函数。 是否立即运行一次:周期函数是否立即执行一次。 计时器集合: 用于保存计时器,方便统一管理计时器。 这边其
精华
5 赞
星火编辑器-新手教程-关于多游戏模式的配置和触发的获取截图
星火编辑器-新手教程-关于多游戏模式的配置和触发的获取
HELLO 大家好,我是阿木木牧。最近第一版的内部小范围(几人)第一个图的测试已经结束了。 整体游戏以装备数值的崩坏而告终~ (虽然大家都很欢快。。。) 现在准备开始开发下个阶段的内容啦,就是将游戏模式拆分出来。分成单人模式,多人组队模式(合作PVE),多人匹配模式(对抗模式)。那么,怎么配置呢?说来也很简单哈~ 1,在游戏编辑器中,数据编辑器,找到地图设置。 2,编辑地图设置。比如我希望最大数量
14 赞
3 回复
无须申请,星火编辑器现已公测开放下载截图
无须申请,星火编辑器现已公测开放下载
—————————————————— 各位关注星火编辑器的小伙伴: 感谢大家一直以来对编辑器支持! 破晓已去,曙光降临! 星火编辑器现已开启公测! · 关于下载和资格申请 现已无需申请,请去下面的官方首页直接下载! 缘起测试是星火编辑器自诞生以来第一次对外测试! 从2022年八月开始到十一月,历时三个月。 缘起之后缘聚测试,历时又七个月! 缘聚之后,破晓降临,历时又十二个月! 曾经微弱的星火现已渐
官方
331 赞
375 回复