- Hands-On Artificial Intelligence with Unreal Engine
- Francesco Sapio
- 319字
- 2021-06-24 15:23:24
Blackboards and their integration with Behavior Trees
Considering the Behavior Tree as a brain, we can think of a Blackboard as its memory—more specifically, the memory of the AI. The Blackboard stores (and sets) key values for the Behavior Tree to use.
They are called blackboards because, in a classroom, the blackboard is a place where a lot of information is conveyed, but most of it is shared among students; the single notes that are given out to students are personal. You can imagine the students as the different tasks (and nodes) of the Behavior Tree, and the Blackboard as a shared place for data.
Blackboards are fairly simple to understand, since they are only a little more complex than a data structure. The only difference lies in the possibility to assign to a Behavior Tree to a particular Blackboard, which is shared by every node of the tree. As a result, each node can read and/or write back to the Blackboard.
It works like a dictionary (the data structure), in which a key corresponds to a specific value type (e.g. a vector, a float, an actor, etc…, even another Blackboard Key). So, by using or recalling the key, it is possible to write or read the associated value.
Another cool feature of Blackboards is that they can be extended through inheritance. This means that another Blackboard can be a parent, and the child will inherit all the parent's pairs key-value, plus some specific ones that are contained in the child itself.
Now that we have covered the theory, let's look at how we can create a Behavior Tree and make it run. To do that, let's start by creating a new project.
- 軟件界面交互設計基礎
- jQuery從入門到精通 (軟件開發視頻大講堂)
- Scratch 3.0少兒編程與邏輯思維訓練
- Mastering Ubuntu Server
- Practical Windows Forensics
- Visual C++數字圖像處理技術詳解
- Java Web開發就該這樣學
- 用案例學Java Web整合開發
- App Inventor創意趣味編程進階
- 快速入門與進階:Creo 4·0全實例精講
- Qlik Sense? Cookbook
- Python面試通關寶典
- Using Yocto Project with BeagleBone Black
- JavaScript設計模式與開發實踐
- C++程序設計習題與實驗指導