我们在学习程序的时候,都会提到一些逻辑计算方面的事情,像与(and),或(or),非(not)等,在编程语言层面也提供了相关的符号来表述逻辑的计算。我们都知道,对于AI来说,逻辑是非常重要的,一些简单的AI系统,就是由if-else搭起来的一个庞大的逻辑网,里面包含了各种预设好的可能性,最后得到一个[……]

继续阅读

这篇文章针对于已了解行为树和黑板的读者,如果不是很了解,请参考此处(123)。
黑板(Blackboard)是一种数据集中式的设计模式,一般用于多模块间的数据共享,我在做行为树的过程中,发现黑板非常适合作为行为树的辅助模块来使用,这次就来谈谈如何在行为树中使用黑板。

行为树的决策一般要依[……]

继续阅读

上次提到了一些行为树的基本概念,包括行为节点,控制节点(选择,序列,并行),这次来更多,更深入的讨论行为树的一些东西,如果对行为树不是很了解,请参看这里

一. 关于选择节点的讨论

我们说过选择节点的定义是通过判断子节点的前提条件来选择一个节点执行,这就牵涉到判断顺序的问题,是自左向右,[……]

继续阅读

自从开博以来,每天都会关心一下博客的访问情况,看到一些朋友的订阅或者访问,不胜欣喜,也促使我去写一些更好的博文,来和大家分享和交流,从访问统计来看,有相当一部分是来自于搜索引擎的流量,关键字以“行为树”,或者“Behavior Tree”居首位,我想大家对此可能有些兴趣,加上,这几年反反复复一直在A[……]

继续阅读

上一篇文章里说的一种基于命令的结构,这种结构的缺点主要是,没法设计行为结构,GD也没法参与其中,而且不是一种层次逻辑结构,下面这种结构在游戏界也是一种主流。
基于静态树结构的行为系统(Based on Static Tree’s Behavior System)
behavior-3-1
这种结构就是传说中的Beha[……]

继续阅读

在我的概念里,AI应该分为两层,决策(Decision)行为(Behavior),当然这个是从狭义的AI角度来说的,广义上来说,AI还会包括一些其他要件,比如物理,动画等等。现在这个项目里在做Behaviour模块的一些东西,从做结构开始就参与其中,期间经过了几次大的重构。
behaivour-1-1

可能Beha[……]

继续阅读