状态机与决策树

(2条消息) AI之用行为树来实现逻辑_丿寒风的博客-CSDN博客 

游戏中的敌人行为基本可以分为三种:

探测:接受外界信息

决策:根据信息和决策结构做出判断

行动:做出具体行为


有限状态机:FSM

预先设定游戏中所有可能的状态,继而通过当前状态(与外界信息)决定接下来作什么,以及相应的状态转换。

例如:有三种行为,吃,休息和接电话。

  • 首先确定所有状态:吃,休息,接电话。
  • 接下来为各状态分配状态转换控制流

休息中:

    听到电话铃 -> 接电话

    感到饥饿 -> 吃饭

吃饭中:

    听到电话铃 -> 接电话

    吃饱 -> 休息

接电话中:

通话完毕 -> 休息


行为树:Behavior Tree

通过优先级顺序,控制流结构,以及任务执行的情况决定接下来做什么。属于一种抽象化,节点化的控制结构。

根节点
    Selector:
        接电话
        吃饭
        休息


尝试接电话,如果失败则尝试吃饭,如果失败则休息
其中,既可以将判断与task放在一起,也可以把判断作为单独的task
接电话:
    如果有电话:
        接电话
        返回成功
    否则:
        返回失败

或者
接电话:
    sequencer:
        查看有电话
        接电话



Comments

Popular posts from this blog

活在当下-从尾巴摇狗的荒谬中解放自我

Metroidvania银河恶魔城游戏开发指南(一)

折衷主义建筑