《XX游戏》AI设计文档
一.本文简述
1. 游戏介绍
《XX游戏》是前段时间和朋友一起练笔写的一个横版过关单机游戏,仅共同写了游戏设计文档,游戏内容是将传统的勇者斗恶龙模式,放到现代社会中,某恶霸抓走男主角女友,男主角勇斗歹徒,突破层层阻碍终于将恶霸铲除。本来为了练笔而写,情节操作并无太大新意,也就不公布了,这里仅摘下我写的其中一章AI设计的理论综述部分。
2. 本文介绍
本文简单描述了在一个简单的单机游戏中AI部分(特指NPC中MONSTER的AI部分),文中仅针对所需要的AI进行描述,游戏未涉及的更广泛的单位行为并没有记述。写作本文的目的是为了给策划案中所有NPC定义一个AI规范准则,以此为依据来衍生每个NPC的AI参数,所以本文是个泛例,而不是一个个体的例子。
二.AI设计规范
1. AI简介
在本文中所说AI仅指NPC(狭义可以理解为Monster)的AI,定义NPC的AI标准然后套用到各个单位上去,实现AI的标准化规范化。
2. AI设计规范
NPC由4种状态组成,分别是出生,巡逻,战斗,死亡。下面分别就这四种状态进行描述。
出生:NPC从出生的时候就被创建一系列属性,这里说的主要是在AI中具有特定含义的属性,主要有:
1.出生点(BornPoint),即出生的位置,坐标参数。
2.AI类型(AIType):主动0/被动1,群体0/个体1。主动型AI可以主动的对进入视野范围内的敌人进行攻击,被动型AI需要通过条件进行触发才能转化为主动型AI。群体型AI共享每个个体的视野,共享个体的状态。
3.出生过程(BornProcess):无0,或者有1。“有”在游戏中特指有个需要播放的动画。
4.视野范围(Sight):视野范围是NPC进行警戒的视距范围,他们会攻击视线内发现的敌人,对于在视野范围外的敌人视而不见(潜入?)。
5.巡逻范围(Beat):巡逻范围是NPC走动的位置,包括直线,曲线等,在游戏中由地图编辑器进行通过mask编辑。
6.攻击范围(FightRange):攻击范围是NPC攻击的有效距离,当NPC与敌人距离小于等于攻击范围时播放攻击动画,反之则是追逐(下文释义)动画。
注:游戏中限定NPC的移动速度总是大于角色移动速度,且NPC进入战斗状态以后将会永远锁定目标直到目标死亡或者离开本地图为止,这是仅有的脱离战斗方法。
7.重生时间(RefreshTime):刷新时间。如果是不需要重生,则为-1,永生为0,其余按具体时间重生。
巡逻:NPC的巡逻过程可以是动态的走来走去也可以是静态的站着不动,也可以是动静交互的站会儿走会儿,这里由美术讨论工作量后再进行确定。是一段动画或者几段动画组成。
战斗:战斗是针对主动型AI而言,被动AI在通过条件后才能成为主动AI。战斗包含两个阶段。
1.追逐(Chase)在NPC发现敌人开始就进行追逐。发现敌人分为敌人进入视野范围和受到敌人攻击(远程武器)两种情况。追逐过程中,播放追逐的循环动画。
2.战斗(Fight)当战斗开始以后,进行战斗细节判定,详细战斗过程不在本文中叙述(可参见027号文档),这里只简单提示一下。在战斗细节中将会出现击晕击倒的状况,允许NPC和角色之间距离临时离开攻击范围。由于本游戏中一旦开始战斗则锁定目标,NPC将重复追逐和战斗的过程,直到目标死亡或者目标离开本地图。角色死亡则游戏结束,角色离开本地图则NPC直接重新刷新。
死亡:NPC被玩家角色攻击到HP=0则判定死亡,判定死亡以后将播放死亡动画。从判定死亡开始进行计时,一旦时间达到重生时间则NPC出生。
三.AI设计流程
[img]http://i73.photobucket.com/albums/i207/fengsan11/AI.jpg[/img]
一.本文简述
1. 游戏介绍
《XX游戏》是前段时间和朋友一起练笔写的一个横版过关单机游戏,仅共同写了游戏设计文档,游戏内容是将传统的勇者斗恶龙模式,放到现代社会中,某恶霸抓走男主角女友,男主角勇斗歹徒,突破层层阻碍终于将恶霸铲除。本来为了练笔而写,情节操作并无太大新意,也就不公布了,这里仅摘下我写的其中一章AI设计的理论综述部分。
2. 本文介绍
本文简单描述了在一个简单的单机游戏中AI部分(特指NPC中MONSTER的AI部分),文中仅针对所需要的AI进行描述,游戏未涉及的更广泛的单位行为并没有记述。写作本文的目的是为了给策划案中所有NPC定义一个AI规范准则,以此为依据来衍生每个NPC的AI参数,所以本文是个泛例,而不是一个个体的例子。
二.AI设计规范
1. AI简介
在本文中所说AI仅指NPC(狭义可以理解为Monster)的AI,定义NPC的AI标准然后套用到各个单位上去,实现AI的标准化规范化。
2. AI设计规范
NPC由4种状态组成,分别是出生,巡逻,战斗,死亡。下面分别就这四种状态进行描述。
出生:NPC从出生的时候就被创建一系列属性,这里说的主要是在AI中具有特定含义的属性,主要有:
1.出生点(BornPoint),即出生的位置,坐标参数。
2.AI类型(AIType):主动0/被动1,群体0/个体1。主动型AI可以主动的对进入视野范围内的敌人进行攻击,被动型AI需要通过条件进行触发才能转化为主动型AI。群体型AI共享每个个体的视野,共享个体的状态。
3.出生过程(BornProcess):无0,或者有1。“有”在游戏中特指有个需要播放的动画。
4.视野范围(Sight):视野范围是NPC进行警戒的视距范围,他们会攻击视线内发现的敌人,对于在视野范围外的敌人视而不见(潜入?)。
5.巡逻范围(Beat):巡逻范围是NPC走动的位置,包括直线,曲线等,在游戏中由地图编辑器进行通过mask编辑。
6.攻击范围(FightRange):攻击范围是NPC攻击的有效距离,当NPC与敌人距离小于等于攻击范围时播放攻击动画,反之则是追逐(下文释义)动画。
注:游戏中限定NPC的移动速度总是大于角色移动速度,且NPC进入战斗状态以后将会永远锁定目标直到目标死亡或者离开本地图为止,这是仅有的脱离战斗方法。
7.重生时间(RefreshTime):刷新时间。如果是不需要重生,则为-1,永生为0,其余按具体时间重生。
巡逻:NPC的巡逻过程可以是动态的走来走去也可以是静态的站着不动,也可以是动静交互的站会儿走会儿,这里由美术讨论工作量后再进行确定。是一段动画或者几段动画组成。
战斗:战斗是针对主动型AI而言,被动AI在通过条件后才能成为主动AI。战斗包含两个阶段。
1.追逐(Chase)在NPC发现敌人开始就进行追逐。发现敌人分为敌人进入视野范围和受到敌人攻击(远程武器)两种情况。追逐过程中,播放追逐的循环动画。
2.战斗(Fight)当战斗开始以后,进行战斗细节判定,详细战斗过程不在本文中叙述(可参见027号文档),这里只简单提示一下。在战斗细节中将会出现击晕击倒的状况,允许NPC和角色之间距离临时离开攻击范围。由于本游戏中一旦开始战斗则锁定目标,NPC将重复追逐和战斗的过程,直到目标死亡或者目标离开本地图。角色死亡则游戏结束,角色离开本地图则NPC直接重新刷新。
死亡:NPC被玩家角色攻击到HP=0则判定死亡,判定死亡以后将播放死亡动画。从判定死亡开始进行计时,一旦时间达到重生时间则NPC出生。
三.AI设计流程
[img]http://i73.photobucket.com/albums/i207/fengsan11/AI.jpg[/img]