有限状态机(Finite State Machine,FSM)
1、电脑角色行为
包括受电脑控制的角色、自动对手、帮助/指导者、旁观者等。
行为包括编好的对预期事件的反应(如星际争霸中士兵的战斗、农民的采矿)、角色与角色/环境之间的交互形成的突发行为。
实现行为的方法包括:基于规则建立有限状态机模型(通过查找表的 FSM 来定义角色行为,确定性)、基于目标定义及达到所需目标的解决办法(非确定性)。
2、有限状态机(FSM)
实际上开发者需要从玩家的角度来增大和减少它们的可预测性。
在任何一瞬间,状态机只能处于无限种状态中的一个状态,状态机可以处于现在的一个状态,也可以有逻辑的确定下一个状态。它对一个特定的输入产生一个特定的输出。
有 3 种关于有限状态机行为的模型:一个状态转移图的图形表示;一个以命令式语言表达的语句集合;一个包括了状态机和组合逻辑的硬件单元集合;
如老鼠走迷宫规则的状态转移:
向前 | 向右 | 向左 | 行动 |
open | ---- | ---- | 向前移动 |
close | open | ---- | 向右移动 |
close | close | open | 向左移动 |
close | close | close | 向后退 |
---- | ---- | ---- | 停止移动 |
3、模糊状态机(Fuzzy State Machine,FuSM)
对一个特定的输入,可以产生一系列特定输出中的一个或任意选择,以实现不可预定的行为。每一次会产生一个不同的行为结果。
常常出现在伤害计算中,如对同一个怪物的攻击会出现正常攻击、致命一击、攻击失误等多种可能。
也可以通过给主体提供环境信息,对有限状态机提供输入以产生输出的状态转移。但随着行为越来越复杂,建立产生规则行为的难度也会越来越大。
相关推荐
benjonc 2020-06-25
kuankeTech 2017-10-16
Builder的空间 2018-05-31
ivebeenready 2014-08-24
luyaoda0 2012-03-10
求贤若渴礼贤下士 2019-06-30
llxxyy0 2018-05-31
benjonc 2019-06-27
Neumann 2010-09-12
jambeau 2019-06-26
tuniumobile 2009-07-30
ARMFLYING 2011-08-02
whupaprika 2016-04-23
Builder的空间 2010-08-10
weijinqian0 2019-05-10
ARMFLYING 2018-03-28
kidneybeans 2017-06-24
执剑人 2019-04-12
AderStep 2017-06-27