行为树一般应用于游戏内物体的 AI 决策,以树的形式控制物体接下来的动作。比如: 血量太少 -> 吃药、攻击距离不够 -> 移动等等。
前言
最近在摸索小游戏开发,有一些联机型的功能需要机器人参与,所以需要实现一下游戏 AI。综合一下实现方案基本是以下两种:
- 有限状态机(Finite State Machine)
FSM 也是最开始采用的方案,实现起来简单粗暴。缺点是整个逻辑非常臃肿很难模块化,后面再对 AI 进行更新和维护比较恶心,很容易因为漏改、错改导致不可用。
- 行为树(Behavior Tree)
行为树是由一系列节点构成的,每个节点对应一个动作,自上而下执行且每个节点都会返回执行状态。

