AI系统需求及解决方案(v0.2)Word文档下载推荐.doc
《AI系统需求及解决方案(v0.2)Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《AI系统需求及解决方案(v0.2)Word文档下载推荐.doc(18页珍藏版)》请在冰豆网上搜索。
![AI系统需求及解决方案(v0.2)Word文档下载推荐.doc](https://file1.bdocx.com/fileroot1/2022-11/2/e111c32c-13ef-4619-9de1-9a4823973a77/e111c32c-13ef-4619-9de1-9a4823973a771.gif)
单个NPC的行为是重点功能,群组行为则是在这个基础上增加群组的管理和指挥。
对怪物的基本描述如下:
1.主动攻击类型:
有敌对状况存在的对象进入警戒范围便对其发起进攻,直到战斗结束,返回攻击前位置。
包括:
Boss、凶狠的怪物、警卫、炮台等。
主动攻击开关关闭时,对在警戒范围内的敌对对象不主动攻击,直到该对象首先发起了攻击,才进行攻击,直到战斗结束。
初级怪物、敌对状态的功能NPC等。
2.受害不攻击类型:
即使玩家攻击怪物,怪物也不会予以还击。
(如:
新手试炼怪)
3.同类支持类型:
(以被攻击为触发点)
1〉:
攻击性支持:
当怪物发现有与自己为同种族的同伴受到攻击时,即会主动帮助同伴攻击敌人。
怪物会支持所设定的“侦测范围”内被攻击的同伴。
2〉:
辅助性支持
当怪物发现有与自己为同种族的同伴受到攻击时,即会主动帮助同伴加血(怪物本身必须有加血技能)。
怪物会根据所设定的侦测范围支持其范围内被攻击的同伴。
如果同伴死亡,则攻击刚才同伴的目标。
4.受害即逃跑:
不会产生反击,当怪物受到攻击时,立即会逃跑。
怪物依据所设定的“逃跑速度”进行逃跑,并依据所设定的“逃跑距离”判断逃离距离。
在逃到不能再逃的时候,随机在原地移动,直到战斗结束返回或则死亡。
5.条件转换AI:
例如:
血量低于20%则逃跑;
受到致命一击3次,引发狂暴;
发现敌人就召唤宝宝;
每少10%的血,投掷毒气弹;
定时释放群伤魔法等。
6.不死类型:
此类怪物永远不会被打死。
A战斗行为的选择:
攻击、追击、逃跑、召唤、呼唤、投降、巡逻(攻击前进)、定制寻路、目标寻路等
B触发条件:
进入视野、受到攻击、受伤
C可使用技能列表(初始化/定制)暂定为8种技能。
战斗宠物的技能列表可能会多些。
D武器选择和切换:
根据距离选择近远战武器;
根据自身条件切换武器和魔法的使用。
E攻击对象的选择:
仇恨系统:
攻击固定仇恨技能附带仇恨,为固定值,普通攻击则是由公式计算出仇恨值,无治疗转换仇恨。
根据策划的某项规则获得合适的对象。
如获得:
仇恨最高的对象,仇恨最低的对象,治疗最高的对象,伤害最高的对象等。
F攻击技能的选择:
1简单战术选择条件:
距离:
在较近距离内选择近战攻击,在较远范围选择远程攻击;
主技能类型:
战斗NPC分为:
战士型、法师型、术士型、牧师型
基础功能:
具有近远程攻击切换功能
战士型:
主要是近战攻击,远程攻击较弱。
法师型:
主要是远程攻击,近战攻击较弱。
术士型:
主要是远程攻击,近战攻击较弱,召唤宠物、图腾、炸弹、毒雾、火云等其他物品辅助战斗。
牧师型:
近远程攻击都较弱,但会给自身或者同伴治疗。
2不同情况下技能的细节选择:
如自身HP、范围内的目标数量、自身方向与目标方向的夹角计算等;
目标的类型、HP、MP等,可检测的目标的属性;
Buff的检测、宠物数量类型的检测等。
3特殊逻辑:
提供策划对于技能选择条件的可控制的接口。
能获得目标是否正在吟唱过程中,来决定是否释放类似打断或者沉默这样的技能。
G变身切换:
魔兽中德鲁伊、祖尔格拉布的一些祭祀、通灵的食尸鬼等。
H生活行为的选择:
固定特殊行为(要求在配置文件或者脚本中完成)和通用行为行走、休息、普通表情(笑、哭、敬礼、羞辱等)
I感情表述的选择:
表述条件(任务、声望、当前状态、其他趣味性设计),实现机制
(先期服务器传输,后期标志传输,客户端翻译—代号转文字+多国语言)
J高级指挥系统:
兵员组织,行动路线,目标,达成效果评估(地标性建筑的击毁、屠杀数量等),攻击撤退的选择(伤亡统计范围、速度等),防御策略决策
K其他逻辑需求:
操作地物、NPC之间的通信及识别
二、群组形式NPC的行为需求
A范围通知方式:
描述:
当一个怪物受到攻击以后,可能在某种情况下,会呼唤旁边的怪物,来攻击玩家。
刚受到攻击、攻击过程中、某个条件下、逃跑过程中都可以呼唤周围相同类型的怪物,攻击目标玩家。
这种范围缩小可为以NPC为中心,几米的范围内;
也可扩大,如整个场景、整个副本、或者地图的一个逻辑区域,如:
巨人旷野、十字路口这样的小区域。
B头领方式:
如果头领消亡(注意不是死亡),整个群组消亡,生成则是由头领创建
一个Boss有8个跟班,把8个跟班杀了,这个Boss就投降了;
怪物术士,当主人死亡,BB就消失;
但是怪物猎人就不同,BB战死或者脱离战斗状态才会消失,原因是要合乎背景设计,因为术士的BB是要靠术士的“法力”维持,术士死亡也就是法力消失,法力消失BB就没有生存的依据了,合乎西方魔幻系统的情理。
C定制方式:
情景NPC相互触发。
三、队伍NPC的移动行为需求
A宠物行为:
1.跟随功能:
移动的时候跟随主人;
主人停止后,以主人为中心在规定范围内随机移动。
2.具有功能:
原地待命;
取消原地待命,返回主人身边;
3.类型:
攻击型:
主动攻击周围可攻击目标;
防御型:
在主人遭到攻击,攻击那个攻击主人的对象,目标死亡或者无效后,返回主人身边,再攻击下个攻击主人的对象。
跟随型:
只是跟随主人,在没有接到主人攻击命令之前不进行攻击;
或者不具备攻击功能,仅为装饰性。
4. 可操作战斗功能(包括客户端界面),技能学习功能
B队列组织:
队形包括:
围攻队形+行进队形+队形整理
四、NPC的关卡行为需求
对地物的发现和操作
能区别进入视野范围内的对象的类型:
操作一个门、按钮、某种装置等情况,在关卡设计和任务中应用较多。
第二节程序对自身设计和制作过程的需求和要求
程序基础功能需求:
1数据录入系统:
统一的XML数据录入系统。
客户端服务器都需要使用,并且在D3阶段要进行详细的功能性设计和测试,这些是必需的。
2通用性表格系统:
在进行技能、目标、队伍、物品、工会、临时数据等方面都将大规模的应用,该表格系统需具有:
命名、存储、添加行列、删除行列、关键字/条件查找、条件排序、插入行列、表列定义及排错、表行长度定义及操作等功能。
3计时系统:
主要是获得时间差,来完成诸如:
冷却、各种逻辑周期等,BW中的timer()因必需为实体才可操作,故我们需要一个不产生实体能在程序虚拟体上运行的计时系统。
还有个原因就是entity发生迁移的时候,是否引起timer()函数的重置或被取消。
一、行为状态机
行为状态机的行为选择的名字规则,以及使用名字进行行为状态的操作。
目的为方便调用和转换
二、AI系统的突发变异。
在决策系统中加入可变因素—模糊逻辑参数(高级)
三、关卡相关的具体设计需求。
根据策划需求,一般为定制
四、脚本接口的易用要求。
命名规则及参数设置尽量的简单明了。
获得场景的相关信息。
获得目标的相关信息。
消息事件的定义、分类、格式。
五、地编中路线设定的修改。
在地编中进行固定式寻路的设定,但是来回往复运动其格式为:
<
station>
<
id>
183309B4.45313788.7762F591.BC3519BC <
/id>
position>
48.7100140.83007863.172955 <
/position>
graph>
C91C1EA8.4EE6AEBC.543192A5.DF639262 <
/graph>
userString>
<
/userString>
link>
<
to>
707AFAD2.4642ADC0.5B3C219E.A9D51CBD <
/to>
traversable>
true <
/traversable>
/link>
DDE13F4F.4B4FD2FD.82B6D8BC.001A687D <
/station>
无法区别点的方向,必须进行修改,才可在多点双方向情况下,让编辑变得简单。
六、工具需求
参考《关于《峥嵘天下》项目人工智能及NPC行为系统设计总纲
》中第二章第三节工具需求的内容
第三节先期制作内容
一、单个NPC的
A战斗行为的选择
仇恨系统
1简单战术选择条件
H生活行为的选择
半径范围内通知其他怪物
A宠物行为:
跟随功能
第二部需求分析
数据列表需求
1在NPC身上建立对象列表,包括仇恨数据
2技能列表可配置
3武器列表可配置
4法术状态表与玩家的相同
5状态机名称列表可配置
决策规则
1当前目标的选择规则:
主要根据仇恨系统的结果进行,但是根据不同的情况选择其中不同的对象。
2技能选择规则:
在不同的自身的情况和外界情况下所影响的技能选择规则
3武器切换规则:
根据不同的自身和外界条件下,选择切换当前的主要使用的武器进行攻击,因为要发生外观的变化。
4行为状态切换的规则:
此规则一般直接使用脚本实现,完成FSM机,并配属在相应的NPC身上。
运算规则:
1仇恨数值的运算规则,将各种因素的仇恨转换为可比较的统一性质的仇恨值
方法:
原始仇恨值(可能存在类型不同,也可将来便于调整),通过系数转换的方式,转换成同一性质的仇恨点数,方便各个不同事件进行比较。
仇恨系数规则。
仇恨列表项的添加和删除规则。
以及各种情况的处理规则。
牧师的渐隐术,战士的强制攻击等技能对仇恨列表的影响。
2状态及转换机制:
解决如何在不同状态机之间进行切换,并达到切换的流畅性,数据流通的简单性。
D3阶段具体制作内容
1.战斗触发的接口。
怪物的主、被动攻击触发。
主动攻击怪物的触发:
在玩家进入他的境界范围后,进入攻击行为流程。
被动攻击怪物的触发:
在受到伤害以后,确定目标进入攻击行为流程。
2.任务交互功能。
与任务模块交互的接口。
在AI组切换方面要给因任务触发转换AI组预留接口。
制定切换关键变量的相关信息和格式。
3.定制自有生活行为。
(打断后能继续进行活动,或者重置)。
三套生活模版:
1>
怪物出生后,无论是主动攻击还是被动攻击,在指定的范围内随机移动,带有偶尔性的速度变化。
2>
按照指定的路线来回行走巡逻。
例如警卫NPC、巡逻的怪物。
3>
一个旅行商人的活动。
会在某点驻留,可交互任务或者物品的功能。
主要是添加相关驻留控制的流程。
4.定制