前言
在游戏开发中实现怪物AI逻辑的主要技术有两种:1、状态机2、行为树。 他们两者的实现机制不一样,其中状态机是“事件”机制,行为树是“轮询”机制。在项目开发中可以根据具体情况合理的选择两者来处理AI编写问题。
这篇文章分两个部分对游戏中的AI进行讲解,1、状态机,2、行为树。
概述
开发游戏AI的目标之一就是要找到一个简单,可扩展的编辑逻辑的方案,从而加速游戏开发的迭代速度。在“行为系统图”中,行为系统(Behavior System)响应游戏中的各种信息,进行决策以挑选接下来将要执行的行动并且监控该行动的执行。
知识模型(Knowledge Model)是对游戏世界中各种信息的抽象。
在行为系统中,有限状态机(FSM,FiniteState Machine)最为经典,FSM模型的优势之一是简单。但是FSMs需要用转换(Transition)连接状态(State),因此,状态(State)失去了模块性(Modularity)。
行为树,英文是Behavior Tree,简称BT,是由行为节点组成的树状结构:
对于FSM,每个节点表示一个状态,而对于BT,每个节点表示一个行为。同样是由节点连接而成,BT有什么优势呢?
在BT中,节点是有层次(Hierarchical)的,子节点由其父节点来控制。每个节点的执行都有一个结果(