论文部分内容阅读
摘要:从游戏中怪物角色的人工智能系统进行分析,阐述了打怪升级游戏中怪物的人工智能的设计规则。通过怪物人工智能系统的三个方面:怪物NPC的属性,自发性动作事件,反应性动作事件,重点论述了游戏怪物角色人工智能系统的创建规律和原则。
关键词:游戏怪物;无人控制;人工智能;属性;事件;判定
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2008)09-11699-04
Eccentric Person NPC Artificial Intelligence Analyses Game
SHU Xiao-ling
(Sichuan TOP Vocational Institute of Information Technology, Computer Art and Science Department, Chengdou 611743, China)
Abstract: The article artificial intelligence system from game middle eccentric person role carries out the design regulation having analysed, setting forth the artificial intelligence fighting to blame promotion game for being hit by eccentric person. Pass three aspect of eccentric person artificial intelligence system: Eccentric person NPC attribute, spontaneity action event, reactiveness action event, concentrate on having discussed game eccentric person role artificial intelligence system’s establishing law and principle.
Key words: Game Eccentric Person; NO People Control(NPC); Artificial Intelligence(AI); Attribute; Event; Decide
在游戏中,如果只有玩家操控的角色在游戏世界里孤单的产生一系列行为,而没有其他任何可以和玩家角色形成交互活动、产生事件的话,玩家会觉得非常索然无味。此时如果在游戏中加入一些有一定功能和智能的人物和怪物,使之与玩家形成各种事件的互动,我们通常就把这些角色称为NPC(NO people control)——游戏世界中无需玩家操控而具备智能的物体。玩家就与这些有“智能”的NPC共同构成一个有故事有内容的游戏世界,这样既能让玩家在游戏中了解到如同看故事书或看电影般的内容情节,又能亲身操控角色参与到这个虚拟的世界里面。
有了NPC在游戏世界里,我们就必须赋予他们足够的“思想”,才能让他们行动起来,形成一个有生命的世界,通常我们将之称谓NPC AI(即NPC的人工智能)。NPC一些精彩的思想,所做出的事件往往会让玩家得到更多惊喜的体验。所以NPC的智能思想在游戏设定中越来越重要乃至于整个AI系统也越来越庞大。
下面就让我们在这篇文章里面着重分析游戏中怪物NPC的AI系统设定的规律和原则,从而揭开NPC AI的神秘面纱。
1 怪物NPC AI系统
设计怪物的AI系统需主要考虑怪物处于主动和被动状态下会做出什么样反应。在怪物处于主动状态下时,设定一个警戒范围,如果没有目标进入这个范围,那么怪物会自发的进行行走,停留等动作,反之如果有目标进入,怪物则会进入战斗状态准备攻击目标;在怪物处于被动状态时,就该考虑怪物应该被施与哪些被动动作。我们可以构架一个怪物AI系统的基础框图来形象的说明。如图1所示。
2 怪物NPC的属性
怪物在主动和被动状态下会做出的任何反应都需要依赖于其自身的各种属性设定,也就是AI系统的运作是根据其各种属性来进行判定。根据怪物NPC当前状态下的不同属性,驱动产生出多种行为事件。
通常我们将怪物NPC的AI中涉及到的属性归纳为两类:
2.1 基本属性
我们在AI系统设定时考虑的第一个基本属性为怪物的种类。一个游戏中怪物种类的设定是多种的,设定时由种类不同得到特性会有不同,或可以说“智商”会有不同,比如:人形怪的AI通常都设定非常高,当被猎杀而打不过时会聪明地选择逃跑保命,而动物系的怪AI设定一般就比较低,在一样的情况下可能会选择一味的猛攻直到死亡。第二个要考虑的基本属性是等级。原则上等级越高给其设定的AI也会越高,但不是绝对。第三个要考虑的属性就是怪物的性别。一般设为三种性别,雌、雄、无性别。
2.2 AI相关的战斗属性
战斗属性中的各种属性一般是由公式计算得到的具体数据值,是AI系统判定的重要指标。先分析战斗属性的基本属性:HP(Health Point)属性——怪的血量值,也称为生命值,需要设定怪的当前血量值和最大血量值,怪会依据血量值有不同动作,可能继续战斗,或呼唤同伴帮忙,或死亡。MP(Magic Point)属性---怪的魔法值或法力值,需要设定怪的当前魔法值和最大魔法值,怪物会依据魔法值施出不同的技能或不同的攻击方式。还有物理攻击力属性,物理防御力属性,魔法攻击力属性,魔法防御力属性分别代表对物理或魔法的适性。以及闪避(Dodge)属性——怪物NPC躲避玩家角色攻击的几率,在AI设计中,通常会让某些怪物NPC具备增强闪避率的技能,增强对玩家攻击的躲闪能力,以至于给玩家造成足够的麻烦。而命中,致命一击和格挡属性在AI中应用和闪避属性类似,不再敷述。命中(Hit)属性——怪物NPC攻击玩家角色的命中率。致命一击(Critical)——怪物NPC攻击中的致命一击的概率。格挡(Block)——怪物NPC抵挡玩家角色的概率。
3 自发性动作事件
AI系统中,设定自发性动作事件首先考虑怪物的生成情况。怪物的生成第一考虑的是怪物生成区域,也就是怪物在自发性动作事件中的活动区域。需要设定一个坐标点Point=[x,y]为中心,r为半径的圆形区域内生成某种类型怪物NPC;其次要设定怪物生成数量,在单位区域内某类型怪物NPC最大生成个数;再来是怪物生成时间间隔,设定N 秒生成1个怪物,直到达到最大生成个数。最后还需设定怪物生成坐标,某一个怪物NPC生成的坐标位置。以及怪物活动关键点,每两个关键点之间可任意生成行动路径,怪物在行动路径上活动。
生成设定好了以后,再考虑怪物的自发性动作。包括停留,行走,警戒。行走,是通过预先在一定区域内随机分布停留点,每两个停留点之间的连线就形成了该怪物NPC行走的路径;停留,是在一定区域内随机设定单位数量无重复的坐标点,也就是怪物NPC行走的停留点;警戒,包括“警戒范围”的设定,主动性攻击怪物NPC在停留或行走过程中始终在警戒范围内进行着敌对目标的搜索行为,一旦发现敌对目标进入该警戒范围内,就会主动攻击目标。
用图来形象说明自发性动作事件设定需考虑的因素。如图2所示:
4.3 怪物NPC追击判定
当玩家角色离开怪物攻击范围后,怪物会选择追击。具体追击条件一般设定为两种:
玩家角色离开怪物攻击范围;该玩家A在怪物仇恨列表里排第一位,将继续追击玩家A,达到怪物的进攻范围就实行攻击。
4.4 怪物NPC逃跑判定:
4.4.1 逃跑与否判定
据该怪物的“逃跑率”进行判定,逃跑率越大则逃跑的可能性越高,取值范围0.00~1.00。当HP(血量)值在15%-20%之间时进行第一次逃跑判定;如果第一次判定逃跑失败,当前HP值在5%-10%之间时进行第二次逃跑判定。根据该怪物的“逃跑率”进行判定是否逃跑成功。如果超出HP值判定范围,出现范围溢出,将自动失去逃跑判定机会。根据怪物NPC的具体特性设置怪物逃跑方式:彻底逃跑,根据该怪物的“逃跑率”进行判定,逃跑率越高越易逃跑。逃跑成功后仇恨列表内容将全部清除。
4.4.2 逃跑方向判定
当怪物NPC的HP值下降到一定百分比时,在AI设计中往往会设计让该怪物NPC选择逃跑,以摆脱玩家角色的继续攻击。AI设计基本原则通常以下三点:
(1)与玩家角色当前相反的方向逃跑。
(2)逃跑范围必须满足始终不超出“怪物生成区域”。
(3)尽可能往最近同伴位置逃跑,并且使用“呼叫”使周围同伴前来援助。
5 结束语
以上涉及到的内容主要是怪物NPC的AI系统核心框架。根据各种游戏设计思维的不同,游戏设计师们为了让游戏中NPC的表现出与其他游戏的差异性使其表现得更加丰富多彩,这就需要他们进行更多更为细节化的AI设计工作。以当今游戏的发展趋势来看,随着广大玩家对游戏的可玩性要求越来越高,相信在未来的游戏中NPC的AI系统,将会设计得更加精彩,带给玩家更多的惊喜和快乐!
参考文献:
[1] 亚历山大. 大型多人在线游戏开发MASSIVELY MULTIPLAYERGAME DEVELOPMENT[M]. 北京:人民邮电出版社,2006.
[2] 方约翰. 人工智能在计算机游戏和动画中的应用—认知建模方法[M]. 清华大学出版社,2004.6.
[3] Tom Meigs. 顶级游戏设计-构造游戏世界[M]. 北京:电子工业出版社,2004.5.
[4] Geroge F.Luger. 人工智能:复杂问题求解的结构和策略[M]. 北京:机械工业出版社,2004.1.
关键词:游戏怪物;无人控制;人工智能;属性;事件;判定
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2008)09-11699-04
Eccentric Person NPC Artificial Intelligence Analyses Game
SHU Xiao-ling
(Sichuan TOP Vocational Institute of Information Technology, Computer Art and Science Department, Chengdou 611743, China)
Abstract: The article artificial intelligence system from game middle eccentric person role carries out the design regulation having analysed, setting forth the artificial intelligence fighting to blame promotion game for being hit by eccentric person. Pass three aspect of eccentric person artificial intelligence system: Eccentric person NPC attribute, spontaneity action event, reactiveness action event, concentrate on having discussed game eccentric person role artificial intelligence system’s establishing law and principle.
Key words: Game Eccentric Person; NO People Control(NPC); Artificial Intelligence(AI); Attribute; Event; Decide
在游戏中,如果只有玩家操控的角色在游戏世界里孤单的产生一系列行为,而没有其他任何可以和玩家角色形成交互活动、产生事件的话,玩家会觉得非常索然无味。此时如果在游戏中加入一些有一定功能和智能的人物和怪物,使之与玩家形成各种事件的互动,我们通常就把这些角色称为NPC(NO people control)——游戏世界中无需玩家操控而具备智能的物体。玩家就与这些有“智能”的NPC共同构成一个有故事有内容的游戏世界,这样既能让玩家在游戏中了解到如同看故事书或看电影般的内容情节,又能亲身操控角色参与到这个虚拟的世界里面。
有了NPC在游戏世界里,我们就必须赋予他们足够的“思想”,才能让他们行动起来,形成一个有生命的世界,通常我们将之称谓NPC AI(即NPC的人工智能)。NPC一些精彩的思想,所做出的事件往往会让玩家得到更多惊喜的体验。所以NPC的智能思想在游戏设定中越来越重要乃至于整个AI系统也越来越庞大。
下面就让我们在这篇文章里面着重分析游戏中怪物NPC的AI系统设定的规律和原则,从而揭开NPC AI的神秘面纱。
1 怪物NPC AI系统
设计怪物的AI系统需主要考虑怪物处于主动和被动状态下会做出什么样反应。在怪物处于主动状态下时,设定一个警戒范围,如果没有目标进入这个范围,那么怪物会自发的进行行走,停留等动作,反之如果有目标进入,怪物则会进入战斗状态准备攻击目标;在怪物处于被动状态时,就该考虑怪物应该被施与哪些被动动作。我们可以构架一个怪物AI系统的基础框图来形象的说明。如图1所示。
2 怪物NPC的属性
怪物在主动和被动状态下会做出的任何反应都需要依赖于其自身的各种属性设定,也就是AI系统的运作是根据其各种属性来进行判定。根据怪物NPC当前状态下的不同属性,驱动产生出多种行为事件。
通常我们将怪物NPC的AI中涉及到的属性归纳为两类:
2.1 基本属性
我们在AI系统设定时考虑的第一个基本属性为怪物的种类。一个游戏中怪物种类的设定是多种的,设定时由种类不同得到特性会有不同,或可以说“智商”会有不同,比如:人形怪的AI通常都设定非常高,当被猎杀而打不过时会聪明地选择逃跑保命,而动物系的怪AI设定一般就比较低,在一样的情况下可能会选择一味的猛攻直到死亡。第二个要考虑的基本属性是等级。原则上等级越高给其设定的AI也会越高,但不是绝对。第三个要考虑的属性就是怪物的性别。一般设为三种性别,雌、雄、无性别。
2.2 AI相关的战斗属性
战斗属性中的各种属性一般是由公式计算得到的具体数据值,是AI系统判定的重要指标。先分析战斗属性的基本属性:HP(Health Point)属性——怪的血量值,也称为生命值,需要设定怪的当前血量值和最大血量值,怪会依据血量值有不同动作,可能继续战斗,或呼唤同伴帮忙,或死亡。MP(Magic Point)属性---怪的魔法值或法力值,需要设定怪的当前魔法值和最大魔法值,怪物会依据魔法值施出不同的技能或不同的攻击方式。还有物理攻击力属性,物理防御力属性,魔法攻击力属性,魔法防御力属性分别代表对物理或魔法的适性。以及闪避(Dodge)属性——怪物NPC躲避玩家角色攻击的几率,在AI设计中,通常会让某些怪物NPC具备增强闪避率的技能,增强对玩家攻击的躲闪能力,以至于给玩家造成足够的麻烦。而命中,致命一击和格挡属性在AI中应用和闪避属性类似,不再敷述。命中(Hit)属性——怪物NPC攻击玩家角色的命中率。致命一击(Critical)——怪物NPC攻击中的致命一击的概率。格挡(Block)——怪物NPC抵挡玩家角色的概率。
3 自发性动作事件
AI系统中,设定自发性动作事件首先考虑怪物的生成情况。怪物的生成第一考虑的是怪物生成区域,也就是怪物在自发性动作事件中的活动区域。需要设定一个坐标点Point=[x,y]为中心,r为半径的圆形区域内生成某种类型怪物NPC;其次要设定怪物生成数量,在单位区域内某类型怪物NPC最大生成个数;再来是怪物生成时间间隔,设定N 秒生成1个怪物,直到达到最大生成个数。最后还需设定怪物生成坐标,某一个怪物NPC生成的坐标位置。以及怪物活动关键点,每两个关键点之间可任意生成行动路径,怪物在行动路径上活动。
生成设定好了以后,再考虑怪物的自发性动作。包括停留,行走,警戒。行走,是通过预先在一定区域内随机分布停留点,每两个停留点之间的连线就形成了该怪物NPC行走的路径;停留,是在一定区域内随机设定单位数量无重复的坐标点,也就是怪物NPC行走的停留点;警戒,包括“警戒范围”的设定,主动性攻击怪物NPC在停留或行走过程中始终在警戒范围内进行着敌对目标的搜索行为,一旦发现敌对目标进入该警戒范围内,就会主动攻击目标。
用图来形象说明自发性动作事件设定需考虑的因素。如图2所示:
4.3 怪物NPC追击判定
当玩家角色离开怪物攻击范围后,怪物会选择追击。具体追击条件一般设定为两种:
玩家角色离开怪物攻击范围;该玩家A在怪物仇恨列表里排第一位,将继续追击玩家A,达到怪物的进攻范围就实行攻击。
4.4 怪物NPC逃跑判定:
4.4.1 逃跑与否判定
据该怪物的“逃跑率”进行判定,逃跑率越大则逃跑的可能性越高,取值范围0.00~1.00。当HP(血量)值在15%-20%之间时进行第一次逃跑判定;如果第一次判定逃跑失败,当前HP值在5%-10%之间时进行第二次逃跑判定。根据该怪物的“逃跑率”进行判定是否逃跑成功。如果超出HP值判定范围,出现范围溢出,将自动失去逃跑判定机会。根据怪物NPC的具体特性设置怪物逃跑方式:彻底逃跑,根据该怪物的“逃跑率”进行判定,逃跑率越高越易逃跑。逃跑成功后仇恨列表内容将全部清除。
4.4.2 逃跑方向判定
当怪物NPC的HP值下降到一定百分比时,在AI设计中往往会设计让该怪物NPC选择逃跑,以摆脱玩家角色的继续攻击。AI设计基本原则通常以下三点:
(1)与玩家角色当前相反的方向逃跑。
(2)逃跑范围必须满足始终不超出“怪物生成区域”。
(3)尽可能往最近同伴位置逃跑,并且使用“呼叫”使周围同伴前来援助。
5 结束语
以上涉及到的内容主要是怪物NPC的AI系统核心框架。根据各种游戏设计思维的不同,游戏设计师们为了让游戏中NPC的表现出与其他游戏的差异性使其表现得更加丰富多彩,这就需要他们进行更多更为细节化的AI设计工作。以当今游戏的发展趋势来看,随着广大玩家对游戏的可玩性要求越来越高,相信在未来的游戏中NPC的AI系统,将会设计得更加精彩,带给玩家更多的惊喜和快乐!
参考文献:
[1] 亚历山大. 大型多人在线游戏开发MASSIVELY MULTIPLAYERGAME DEVELOPMENT[M]. 北京:人民邮电出版社,2006.
[2] 方约翰. 人工智能在计算机游戏和动画中的应用—认知建模方法[M]. 清华大学出版社,2004.6.
[3] Tom Meigs. 顶级游戏设计-构造游戏世界[M]. 北京:电子工业出版社,2004.5.
[4] Geroge F.Luger. 人工智能:复杂问题求解的结构和策略[M]. 北京:机械工业出版社,2004.1.