Mongoosej.Blog.Infrastructure.Concept.Behavior Tree
:::info
版权声明:本文为语雀博主「mongoosej」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.yuque.com/mongoosej/blog/behavior-tree
:::
行为树是一种形式化的图形建模语言,主要用于系统和软件工程。 行为树采用明确定义的符号来明确表示数百甚至数千种自然语言需求,这些需求通常用于表达大规模软件集成系统的利益相关者需求。 大规模系统的大量自然语言要求中的细节量导致短期记忆过载并且可能形成障碍,阻止任何人对系统进行深入,准确和全面的理解需要。此外,由于使用自然语言,可能存在许多与需求信息相关的模糊,别名,不一致,冗余和不完整问题。这进一步增加了不确定性和复杂性。一般来说,最多只有少数人能够很好地理解系统或情况的某些部分,但除了对整体的表面理解之外,没有人能够理解 - 即系统的详细集成行为。 行为树表示(借助于组合树表示,解决了具有大量需求的别名和其他词汇问题),允许人们避免短期内存过载并产生深入,准确,整体的系统表示需要所有利益相关者都能理解,因为它严格使用原始要求的词汇。因为行为树表示法使用形式语义,所以对于任何给定的示例,它已经是,或者可以是可执行的。 行为树及其在系统和软件工程中的应用概念最初由Dromey 开发,并于2001年首次发表了一些关键思想。 ———<百度百科>
AI 行为树的工作原理👍✔️
在行为树(Behavior Tree)中使用黑板(BlackBoard)
JBT
Java Behaviour Trees is a Java framework for easily building and running generic behaviour trees. Here, “behaviour tree” refers to the technique used to control the behaviour of characters in video games.
https://github.com/gaia-ucm/jbt
https://sourceforge.net/projects/jbt/
java 行为树_调研行为树jbt
behaviac
behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具。支持全平台,适用于客户端和服务器,助力游戏快速迭代开发 。
编辑器可以运行在PC上,操作方便直观可靠,支持实时和离线调试;编辑器可以导出xml,bson等多种格式,更可以导出C++、C#源码,提供最高效率。
运行时支持全平台,有C++和C#两个版本,原生支持Unity。
已被多款知名游戏及更多其他预研项目使用。
所有代码,包括编辑器和运行时全部开源。
https://www.behaviac.com
https://github.com/Tencent/behaviac
参考文献:
- https://www.gamasutra.com/blogs/ChrisSimpson/20140717/221339/Behavior_trees_for_AI_How_they_work.php
- Michele Colledanchise.elt,behavior tree in robotics and AI:an introduction[M].