AI系统设计.doc_第1页
AI系统设计.doc_第2页
AI系统设计.doc_第3页
AI系统设计.doc_第4页
AI系统设计.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AI系统1 怪物战斗状态触发AI的条件,此状态跟战斗行为无关。进入战斗状态条件1. 怪物受到攻击2. 怪物攻击目标3. 被动触发(当怪物每次受到攻击时,使一定范围内所有怪物进入战斗状态)。结束战斗状态状态条件(同时满足)1. 处于战斗状态的怪物 5秒内受到攻击2. 处于战斗状态的怪物5秒内不攻击目标3. 处于战斗状态的怪物5秒内不受被动触发。函数设置Bool BattleState(MonsterID) /0代表编号为MonsterID的怪物未进入战斗状态,1代表处于战斗状态2 AI系统架构简单的串行AI系统架构(每个循环内选择一种行为)注:数据初始化见下面说明。3 数据库记录(DataBase)1) 怪物属性表 字段名数据类型说明Attack_typeInt攻击类型见攻击类型说明AI0IntAI类型AI类型说明AI1IntAI2IntAI3Int2) 攻击类型字段说明十位:攻击目标选择参数,攻击对自己伤害最高的目标(0)或者轮流攻击视野内目标(1)。个位:攻击类型选择参数,选用攻击力最高的攻击类型(0)或者根据目标的最低防御选择攻击类型(1)。3) AI类型说明AI类型说明10X条件:在计时器的上一个循环内受到伤害执行:召唤周围X类型怪物协助攻击目标11X条件:在计时器上一个循环内未受到伤害,并且有X类型怪物呼唤其协助攻击响应视野范围内最近的X怪物的召唤协助其攻击目标4) AI类型字段说明百位为1代表协助攻击型AI十位代表呼唤(0)或者响应(1)各位代表呼唤和响应的怪物类型,所有怪物(0),L1类怪物(1),L2类怪物(2)。4 AI类型的实现1) AI计时器相关函数设置Bool MonsterCall(MonsterID) /怪物呼唤协助攻击MonsterCall(MonsterID)=0 /怪物编号(CMap管理)为MonsterID的怪物未呼唤协助攻击MonsterCall(MonsterID)=1 /怪物编号(CMap管理)为MonsterID的怪物呼唤协助攻击Int MonsterBeAtk(MonsterID) /怪物受到伤害值MonsterBeAtk(MonsterID)=n /怪物编号为MonsterID的怪物受到累积伤害n数据初始化:AI执行后或者无AI执行但未结束战斗时,对于每个怪物的以上数据清零。2) AI类型(10X,11X)处理流程 10X部分受到伤害:检测在计时器的上个循环内怪物自己是否受到伤害。呼唤协助攻击:呼唤视野范围内的怪物协助攻击目标。 11X部分未受伤害:检测在计时器的上个循环内怪物自己是否未受伤害。视野内怪物呼唤:检查缓存中是否存在怪物的呼唤信息。呼唤和响应类型相同:对比两个怪物数据库AI字段最后一位匹配关系,确定可匹配的怪物。确定离自己最近的怪物:可匹配的怪物内,查询离自己最近的怪物。变更攻击目标:将自己的攻击目标变更为要协助怪物的攻击目标。5 AI表现样例1) 角色怪物A,B:L1类AI字段为AI0=100 /受攻击时召唤所有怪物协助攻击AI1=111 /未受攻击时,响应L1类怪物呼唤协助其攻击目标AI2=110 /未受攻击时,响应所有怪物呼唤协助其攻击目标怪物C:L2类AI字段为:AI0=100 /受攻击时召唤所有怪物协助攻击AI1=112 /未受攻击时,响应L2类怪物呼唤协助其攻击目标玩家P1,P22) 玩家行为时间轴(秒)玩家行为0C发现P1,攻击P1,P2无动作1P1攻击C,P2无动作2P1,P2攻击C,P2对C伤害高出很多3P1攻击C,P2攻击B5P1攻击A,P2攻击B3) 怪物表现假定定时器一个循环为2秒,6秒内所有怪物不死亡。行为详解:时间轴(秒)怪物表现0A和平状态B和平状态C进入战斗状态,主动攻击P1 1AC受击,触发A进入战斗状态BC受击,触发B进入战斗状态C继续攻击P1 2AAI0,1条件不满足,满足AI2条件,协助C攻击P1BAI0,1条件不满足,满足AI2条件,协助C攻击P1CAI0条件满足,呼唤所有怪物,根据伤害值选择P2 3A继续攻击P1B受到P2攻击,攻击P2C根据伤害值,选择攻击P14AAI0条件不满足,满足AI1条件,协助B攻击P2B满足AI0条件,呼唤所有怪物,攻击P2C满足AI0,呼唤所有怪物,攻击P15A根据伤害值,选择攻击P1B继续攻击P2C继续攻击P16A满足AI0,呼唤所有怪物,继续攻击P1B满足AI0,呼唤所有怪物,继续攻击P2C所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论