有限状态机(Finite State Machine,FSM)

嵌入式资讯精选 2017-10-16

1、电脑角色行为

包括受电脑控制的角色、自动对手、帮助/指导者、旁观者等。

行为包括编好的对预期事件的反应(如星际争霸中士兵的战斗、农民的采矿)、角色与角色/环境之间的交互形成的突发行为。

实现行为的方法包括:基于规则建立有限状态机模型(通过查找表的 FSM 来定义角色行为,确定性)、基于目标定义及达到所需目标的解决办法(非确定性)。

2、有限状态机(FSM)

 
有限状态机(Finite State Machine,FSM)
 

实际上开发者需要从玩家的角度来增大和减少它们的可预测性。

 
有限状态机(Finite State Machine,FSM)
 

在任何一瞬间,状态机只能处于无限种状态中的一个状态,状态机可以处于现在的一个状态,也可以有逻辑的确定下一个状态。它对一个特定的输入产生一个特定的输出。

有 3 种关于有限状态机行为的模型:一个状态转移图的图形表示;一个以命令式语言表达的语句集合;一个包括了状态机和组合逻辑的硬件单元集合;

如老鼠走迷宫规则的状态转移:

向前向右向左行动
open--------向前移动
closeopen----向右移动
closecloseopen向左移动
closecloseclose向后退
------------停止移动

3、模糊状态机(Fuzzy State Machine,FuSM)

对一个特定的输入,可以产生一系列特定输出中的一个或任意选择,以实现不可预定的行为。每一次会产生一个不同的行为结果。

常常出现在伤害计算中,如对同一个怪物的攻击会出现正常攻击、致命一击、攻击失误等多种可能。

也可以通过给主体提供环境信息,对有限状态机提供输入以产生输出的状态转移。但随着行为越来越复杂,建立产生规则行为的难度也会越来越大。

相关推荐