游戏中AI的行为树(Behaviour Tree in Game AI)

简介:

行为树已经成为游戏AI中重要流行的实现方式,相比其他种类的ai(如神经网络,遗传算法,机器学习)更适合策划配置和控制,相比fsm更易扩展,在arpg中的怪物ai中比较流行。这里对行为树的概念做个总结。

                行为树是一个树状结构,没给节点都是一个行为节点,ai的执行过程就是从树根按照一定规则开始遍历整个树的过程,通常实现上会在没帧从树根处tick一遍整棵树。这棵树完整执行完一次的过程中可能对树遍历过很多次,因为每次整个树遍历完之后,如果还有节点还在running状态,就要在从根处tick一下再遍历,当run后没有任何节点在running就是执行完了一次,这时一般会进行新的一次执行,

                节点有不同的功能,有的控制遍历的顺序,有的执行确切的游戏逻辑。

                节点通常包括这样几个函数 init() 第一次遍历到该节点  run()每次执行到该节点(每次tick这颗树的时候tick到) exit()离开这个节点(整棵树执行完一次)有的实现还会加一个update(),被run()调用来表示那些多帧操作的行为每次tick到的时候的操作

                节点的run通常返回三种状态 success 完成 fail 失败 running 仍然在运行中(一些需要多帧完成的动作)

                节点一般要存储上一次run之后的返回值状态

                每次遍历到一个节点的时候可以根据节点上次的返回值状态来决定本次run的情况

                节点可能还需要有中止运行的功能

                

               根据节点的run行为主要有以下几种类型的节点:

               ConditionNode:判断一个逻辑,返回T 或 F,T和F分别连接着下一个要遍历的节点,在run里面一般不管上次的返回值状态都会重新做一次判断,以让ai能够实时反馈最新的环境情况。如果本次判断和前次判断有差,则要中止前次分支下的所有节点。

               ActionNode:这通常是一个叶子节点,执行一个程序逻辑。对于一个需要多帧完成的逻辑,在run里面可以根据上次的状态执行每帧操作。

       SequenceNode:他的所有子节点要按顺序完成,即逐个遍历每个子节点,只有当每个节点都返回success自己才能返回success,否则自己返回running,只有前一个自节点返回成功或失败才进行下一个自节点的探测

       SelectorNode:和sequeNode的and操作相反,它是or,它的所有自节点,只要有一个返回success,他自己就返回success,否则自己返回running,只有前一个自节点返回成功或失败才进行下一个自节点的探测

               RandomNode:随机挑一个子节点遍历,run后就返回success,只有一次执行的第一次遍历才会进行判断要遍历的子节点,并记住这个节点,对于后面的遍历直接找到这个子节点遍历。

               Invertor:将子节点的success或fail的返回值取反作为自己的返回值。子节点running自己就running

               Succeeder:子节点无论返回什么,自己都返回succe

               Repeator:重复执行自节点,直到达到指定条件(如执行次数之前)自己都处于running

                当然这些都是常见的一些设计上的模式,我们还可以根据我们的需要定义你需要的节点,还有最重要的一点,你必须有一个好用的图形化的行为树编辑器给策划

               

目录
相关文章
|
人工智能 搜索推荐
「社会实验室」成真!SocioVerse:复旦联合小红书开源社会模拟世界模型,用AI预演群体行为
SocioVerse是由复旦大学联合小红书等机构开源的社会模拟框架,基于大语言模型和千万级真实用户数据构建,能精准模拟群体行为并预测社会事件演化趋势。
968 2
「社会实验室」成真!SocioVerse:复旦联合小红书开源社会模拟世界模型,用AI预演群体行为
|
6月前
|
机器学习/深度学习 人工智能 监控
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含5000张已标注牛行为图片,涵盖卧、站立、行走三类,适用于YOLO等目标检测模型训练。数据划分清晰,标注规范,场景多样,助力智慧牧场、健康监测与AI科研。
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
|
7月前
|
人工智能 算法 数据库
给AI装上一个'超级大脑':信息检索如何改变RAG系统的游戏规则
从传统检索方法到现代向量检索,通过一个购物助手的故事,直观展示了不同检索技术的原理与应用。学会这些技巧,让你的AI不再是「记忆只有金鱼长度」的大模型!
358 24
|
人工智能 自然语言处理 前端开发
DeepSite:基于DeepSeek的开源AI前端开发神器,一键生成游戏/网页代码
DeepSite是基于DeepSeek-V3模型的在线开发工具,无需配置环境即可通过自然语言描述快速生成游戏、网页和应用代码,并支持实时预览效果,显著降低开发门槛。
1905 93
DeepSite:基于DeepSeek的开源AI前端开发神器,一键生成游戏/网页代码
|
7月前
|
机器学习/深度学习 人工智能 算法
当AI提示词遇见精密算法:TimeGuessr如何用数学魔法打造文化游戏新体验
TimeGuessr融合AI与历史文化,首创时间与空间双维度评分体系,结合分段惩罚、Haversine距离计算与加权算法,辅以连击、速度与完美奖励机制,实现公平且富挑战性的游戏体验。
|
8月前
|
人工智能 JSON 程序员
别再和AI玩文字游戏:JSON提示工程让AI乖乖按表填空
厌倦了和AI玩猜谜游戏吗?JSON提示工程来拯救你!用咖啡订单的方式和AI对话,让每次交互都精准到位,告别模糊不清的回复,迎接可预测的AI输出时代。
442 9
|
9月前
|
机器学习/深度学习 人工智能 算法
深度强化学习在异构环境中AI Agent行为泛化能力研究
随着人工智能技术的迅猛发展,AI Agent 在游戏、智能制造、自动驾驶等场景中已逐步展现出强大的自适应能力。特别是深度强化学习(Deep Reinforcement Learning, DRL)的引入,使得智能体能够通过与环境的交互,自动学习最优的行为策略。本文将系统性地探讨基于深度强化学习的AI Agent行为决策机制,并结合代码实战加以说明。
深度强化学习在异构环境中AI Agent行为泛化能力研究
|
6月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
1667 70