资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
ARPG怪物AI策划这篇文章中提到的人工智能AI作用是控制角色(怪物、NPC、失去控制的PC等)的行为,对环境条件做出合适的反应。本策划案拟使用事件触发器来实现AI:触发事件的所有者满足触发条件时,就采取行动;触发条件和采取的行动中的变量可以改动,这样来调节AI的表现。这个系统需要:触发事件编辑器;AI基本行为表、AI类型表和AI参数表。触发事件编辑器(trigger editor):用来编辑触发事件。一个触发事件分为3部分,所有者、触发条件和行动。AI的所有者满足触发条件时,就采取行动。触发事件在运行时从AI参数表中读取AIP18列、AIDIST列和AIREC列的内容作为对应变量的值,这样可以通过调节AI参数,方便地调节AI行为。其中AIP18:对应AI触发事件中的各种变量,根据需要可能增加。AIDIST和AIREC是每个角色都有的参数,一般作用是定义AI感知范围和反应时间。触发条件也就是特定的环境条件,可以包括以下数值的一个特定范围:当前目标与角色的距离;特定NPC(群)与角色的距离(如:7.32米内有敌对角色);地图物件与角色的距离;角色参数数值;行动则是一组基本行为,可以包括:更换目标;接近目标;远离目标;保持相对位置;保持相对距离;近战攻击;对角色使用技能;对环境使用技能;等待;等等(函数“检定某AIP”的功能是以该AIP为百分比数值来判断成功与否,做法是随机取一个0到99的整数,与该AIP的值比较,较小则检定成功,较大或相等则检定失败。)举例:断续接近(AIDIST,AIREC,AIP1,AIP2)条件:AIDIST距离内有敌人;近战攻击范围内没有敌人行动: 检定AIP1成功时(接近目标 AIREC秒);失败时(停止动作AIP2秒);重置TRIGGER;断续攻击(AIP3,AIP4)条件:近战攻击范围内有敌人行动:检定AIP3成功时检定AIP4AIP4成功时(对目标使用技能某某);AIP4失败时(对目标近战攻击);AIP3失败时(停止动作AIP2秒);重置TRIGGER;编辑器界面参照星际地图编辑器的触发事件编辑器,如图:AI基本行为表(AI base actions):角色试图(更换目标;接近目标;远离目标;保持相对位置;保持相对距离;近战攻击;对角色使用技能;对环境使用技能;等待;等等),称为角色基本行为。本表的作用是1,由系统策划对程序提出要求,使角色能够响应这些基本行为;2,程序决定能够实现其中的哪些内容,反馈给策划并对该表修改;3,基本行为表决定后,作为脚本策划的参照,帮助其编写AI行为脚本。本表包括的列:ACTION:AI基本行为的名称,被其他表所引用。描述:对该基本行为的描述。举例:接近目标Action:接近目标描述:角色试图移动到目标当前所在的坐标点。AI类型表(AI types):AI类型由一个或多个事件触发器组成,是触发事件数据库的一个查询,映射该数据库中所有“所有者”为该AI TYPE的触发事件脚本。该表还记录该AI的描述和各参数的具体作用,以供参照。本表的作用是1,由系统策划对脚本策划提出要求,编写AI行为触发事件,填入AI类型表;2,数值策划参照本表内的说明,可以根据NPC的特性填写AI参数,调节AI行为。本表包括的列:描述:即对该AI类型的总体描述。Aitype:是该AI类型的名称,被其他表引用,是AI类型表的索引列。AIP18:ai parameters,用来描述各AIP的作用。触发事件: 记录该AI类型的所有触发事件举例:Skeleton AI描述:“骷髅战士”是一个迟钝的AI。它发现敌人后会试图接近,有敌人在攻击范围内时则持续攻击;但是它经常会毫无理由地停止动作一段时间,站着发呆。Aitype: SkeletonAIP1. 当肉搏范围内没有敌人时,继续接近敌人的几率(%)AIP2. AIP1,AIP3检定失败后等待的时间(单位:秒)AIP3. 当肉搏范围内有敌人时,攻击敌人的几率(%)AIP4. 攻击时,以技能代替近战攻击的几率(%)AIP5. n/aAIP6. n/aAIP7. n/aAIP8. n/A触发事件:断续接近(AIDIST,AIREC,AIP1,AIP2);断续攻击(AIP3,AIP4)AI参数表(Ai parameters):根据对象不同,填写适当的参数调节AI行为。这个表是NPC参数表的一部分。本表的作用是为事件触发器提供变量值,从而调节AI行为。本表包括的列:ID:就是NPC的ID号,是NPC参数表的索引列。AITYPE:该NPC使用的AI类型;AIP18:对应AI触发事件中的变量AIP18;AIDIST:对应AI触发事件中的变量,定义AI感知范围AIREC:对应AI触发事件中的变量,定义AI反应时间。举例:skeleton1ID:skeleton1AITYPE:skeletonAIP1:70AIP2:0.4AIP3:85AIP4:75AIP5:NULLAIP6:NULLAIP7:NULLAIP8:NULLAIDIST:NULL(默认值)AIREC:0.6这是游戏初期的一种怪物,它发现敌人后做一个检定,使得它有70%几率向敌人移动0.6秒,或30%的几率停顿0.4秒。到时间后再次检定,如此循环直到它的近战攻击范围内出现敌人;此时它有85%的几率开始攻击,有15%几率停顿0.4秒;之后再次决定是否攻击,如此循环。它的攻击有75%是技能攻击,25%是普通攻击。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号