1 / 4
文档名称:

〖精选文档〗AI系统设计.doc

格式:doc   大小:66KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

〖精选文档〗AI系统设计.doc

上传人:xiao小蒋 2022/12/7 文件大小:66 KB

下载得到文件列表

〖精选文档〗AI系统设计.doc

相关文档

文档介绍

文档介绍:该【〖精选文档〗AI系统设计 】是由【xiao小蒋】上传分享,文档一共【4】页,该文档可以免费在线阅读,需要了解更多关于【〖精选文档〗AI系统设计 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。〖精选文档〗AI系统设计
〖精选文档〗AI系统设计
1/4
〖精选文档〗AI系统设计
AI系统
1怪物战斗状态
-触发AI的条件,此状态跟战斗行为无关。
进入战斗状态条件
怪物受到攻击
怪物攻击目标
被动触发(当怪物每次受到攻击时,使一定范围内所有怪物进入战斗状态)。
结束战斗状态状态条件(同时满足)
处于战斗状态的怪物5秒内受到攻击
处于战斗状态的怪物5秒内不攻击目标
处于战斗状态的怪物5秒内不受被动触发。
函数设置
BoolBattleState(MonsterID)
//0代表编号为MonsterID的怪物未进入战斗状态,1代表处于战斗状态
2AI系统架构
简单的串行AI系统架构(每个循环内选择一种行为)
注:数据初始化见下面说明。
〖精选文档〗AI系统设计
〖精选文档〗AI系统设计
2/4
〖精选文档〗AI系统设计
3数据库记录(DataBase)
怪物属性表
字段名
数据类型
说明
Attack_type
Int
攻击类型
见攻击类型说明
AI0
Int
AI类型
AI类型说明
AI1
Int
AI2
Int
AI3
Int
攻击类型字段说明
十位:攻击目标选择参数,攻击对自己伤害最高的目标(0)或者轮流攻击视野内目标(1)。
个位:攻击类型选择参数,选用攻击力最高的攻击类型(0)或者根据目标的最低防御选择攻击类型(1)。
AI类型说明
10X
条件:在计时器的上一个循环内受到伤害
执行:召唤周围X类型怪物协助攻击目标
11X
条件:在计时器上一个循环内未受到伤害,并且有X类型怪物呼唤其协助攻击
响应视野范围内最近的X怪物的召唤协助其攻击目标
AI类型字段说明
百位为1代表协助攻击型AI
十位代表呼唤(0)或者响应(1)
各位代表呼唤和响应的怪物类型,所有怪物(0),L1类怪物(1),L2类怪物(2)。
4AI类型的实现
AI计时器相关函数设置
BoolMonsterCall(MonsterID)//怪物呼唤协助攻击
MonsterCall(MonsterID)==0//怪物编号(CMap管理)为MonsterID的怪物未呼唤协助攻击
MonsterCall(MonsterID)==1//怪物编号(CMap管理)为MonsterID的怪物呼唤协助攻击
IntMonsterBeAtk(MonsterID)//怪物受到伤害值
MonsterBeAtk(MonsterID)==n//怪物编号为MonsterID的怪物受到累积伤害n
数据初始化:AI执行后或者无AI执行但未结束战斗时,对于每个怪物的以上数据清零。
AI类型(10X,11X)处理流程
10X部分
受到伤害:检测在计时器的上个循环内怪物自己是否受到伤害。
呼唤协助攻击:呼唤视野范围内的怪物协助攻击目标。
〖精选文档〗AI系统设计
〖精选文档〗AI系统设计
3/4
〖精选文档〗AI系统设计
11X部分
未受伤害:检测在计时器的上个循环内怪物自己是否未受伤害。
视野内怪物呼唤:检查缓存中是否存在怪物的呼唤信息。
呼唤和响应类型相同:对比两个怪物数据库AI字段最后一位匹配关系,确定可匹配的怪物。
确定离自己最近的怪物:可匹配的怪物内,查询离自己最近的怪物。
变更攻击目标:将自己的攻击目标变更为要协助怪物的攻击目标。
5AI表现样例
角色
怪物A,B:L1类
AI字段为
AI0=100//受攻击时召唤所有怪物协助攻击
AI1=111//未受攻击时,响应L1类怪物呼唤协助其攻击目标
AI2=110//未受攻击时,响应所有怪物呼唤协助其攻击目标
怪物C:L2类
AI字段为:
AI0=100//受攻击时召唤所有怪物协助攻击
AI1=112//未受攻击时,响应L2类怪物呼唤协助其攻击目标
玩家P1,P2
玩家行为
0
C发现P1,攻击P1,P2无动作
1
P1攻击C,P2无动作
2
P1,P2攻击C,P2对C伤害高出很多
3
P1攻击C,P2攻击B
5
P1攻击A,P2攻击B
怪物表现
假定定时器一个循环为2秒,6秒内所有怪物不死亡。
行为详解:
0
A
和平状态
B
和平状态
C
进入战斗状态,主动攻击P1
1
A
C受击,触发A进入战斗状态
B
C受击,触发B进入战斗状态
C
继续攻击P1
A
AI0,1条件不满足,满足AI2条件,协助C攻击P1
〖精选文档〗AI系统设计
〖精选文档〗AI系统设计
4/4
〖精选文档〗AI系统设计
2
B
AI0,1条件不满足,满足AI2条件,协助C攻击P1
C
AI0条件满足,呼唤所有怪物,根据伤害值选择P2
3
A
继续攻击P1
B
受到P2攻击,攻击P2
C
根据伤害值,选择攻击P1
4
A
AI0条件不满足,满足AI1条件,协助B攻击P2
B
满足AI0条件,呼唤所有怪物,攻击P2
C
满足AI0,呼唤所有怪物,攻击P1
5
A
根据伤害值,选择攻击P1
B
继续攻击P2
C
继续攻击P1
6
A
满足AI0,呼唤所有怪物,继续攻击P1
B
满足AI0,呼唤所有怪物,继续攻击P2
C
所有AI条件不满足,继续攻击P1
由上表可得,怪物可以实现优先保护自己,其次保护同类,最后保护团队的分优先级AI模式。
附:复杂AI系统架构
复合(串行+并行)AI系统架构(不同循环时间,可选择多种行为)