欢迎来到天天文库
浏览记录
ID:17852512
大小:50.00 KB
页数:4页
时间:2018-09-07
《角色扮演游戏中敌人ai(人工智能)的设计方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、角色扮演游戏中敌人AI(人工智能)的设计方法角色扮演游戏,RolePlayGame(RPG),它总的来说包括三大类:动作类(即时)角色扮演;回合制角色扮演游戏;战棋类角色扮演。这三类游戏在遭遇敌人时,就是一场战斗要展开的开始,那么,游戏中的敌人是按照什么样的机制来运作的呢?换句话说,它们的AI(人工智能)是如何工作的呢?本文将重点就这个话题进行讨论。在我们看来,这些敌人的操作是必须在一定程度上模拟人脑的思考的。也就是说,在什么情况下作出什么反应、什么应对,这都应该是比较有针对性,符合一定的逻辑的。例如:一个拥有治疗技能的敌人,在它的生命值所剩无
2、几时,它就应该会思考得出一个反应,对自己进行治疗。这是设计师必须给予敌人AI设计的逻辑应对部分。光有逻辑应对能力的设计是不够的。因为,如果敌人时刻都能够进行最优化的、最正确的判断时,那么玩家将很难打败敌人。这时候,我们必要多考虑一些参数,来限制敌人的反应和应对能力:1)思考时间。把敌人的反应和应对判断分成若干个时间片段。某个时间片段,敌人可以完全正确地作出100%的反应;某个时间片段,敌人只可以正确判断其中50%的情况并作出反应;某个时间片段,敌人则只可以对其中30%的情况进行正确判断并作出反应;某个时间片段,敌人甚至是不会作出任何反应。然后,
3、这些时间片段将周而复始地进行循环、或随机进行闪现。2)技能和物品的使用时间间隔。如果让敌人无休止、无节制地对自己使用同一类治疗技能或同一种治疗物品,那么,最终就可能会导致玩家无法去杀死这个敌人了。如果敌人每两次使用同一类治疗技能或同一种治疗物品时,之间都强制存在一段时间间隔时,那么即使敌人的治疗技能非常强大,不过,只要玩家能够在一个周期内对它造成的攻击伤害高于治疗回复就可以了。同样地,如果敌人无休止、无节制地对玩家使用必杀技,那么玩家将很难负荷得起。如果每两次发动必杀技能之间强制存在一段时间间隔,这就给予了玩家一段自我恢复的时间,只要玩家能够在
4、敌人下次必杀技使用前恢复过来,就能应对持久的战斗。如果敌人只是一个完全不动的木桩,那么以上的逻辑反应和限制反应两点的设计就足够了。不过,实际上很多游戏中,敌人并不是一成不变地站在原地的。这时候,我们就需要为它设计“路径”了。这种“路径”设计包括:1)巡逻路径。敌人没有发现玩家时,它的行走范围是怎样的、在这个行走范围内,敌人是按照什么样的路线进行行走的,这就是巡逻路径。巡逻路径可以是让敌人从一个起点开始到一个终点后进行等待;也可以是在一段路程上不断重复地来回或循环走动。2)侦察范围和侦察条件。侦察范围可以理解为敌人的视力,视力看得越远、范围越广,
5、那么你靠近敌人时就越容易被敌人发现;相反,敌人视力是近视的话,那么你就可以在不被敌人发现的情况下更贴近敌人了。侦察条件则是对侦察范围的一个补充说明。例如敌人的视力不能穿过墙壁,那如果玩家站在墙壁后,即使是在敌人的侦察范围内,敌人也不会发现玩家。这就是侦察条件的其中之一。3)缉捕路径。当敌人发现玩家时,采用走什么样的路径去辑捕呢?这也是需要考虑的问题。如果敌人和玩家之前没有任何障碍物,那么敌人直接靠近玩家就可以了,不过,如果敌人和玩家之间存在障碍物、或者存在地势高低差异时,敌人就需要绕路去缉捕玩家了。“反应逻辑、限制反应、路径”这是角色扮演游戏中
6、,敌人AI设计的三个要点。把握好这三点的组合,就能够编制出敌人适当的运作机制。虚线是敌人的巡逻路径,敌人就是沿着这条路径循环巡逻的。灰色的梯形是敌人的侦察范围,当敌人行走到B点,而玩家又恰好走到C点时(玩家初始位置在A点),敌人就会发现玩家,并上前进行攻击。1)假设敌人有100HP,100MP,普通攻击伤害5HP、每2秒攻击一次,技能攻击伤害10HP、消耗50MP、每两次技能间隔时间4秒。而玩家有100HP,普通攻击伤害5HP、每1秒攻击一次。敌人的判断反应是为玩家制造尽可能大的伤害,所以技能攻击间隔时间一到就会发动技能攻击。那么:玩家将在20
7、秒内对敌人造成100HP(5HP*20)的伤害导致敌人死亡。而敌人则在前10秒对玩家造成25HP(5HP*5)的普通攻击伤害,20HP(10HP*2)的技能伤害;由于MP已经耗尽,在接下来的10秒里,敌人无法在进行技能攻击,所以只会造成25HP(5HP*5)的普通伤害;20秒内一共对玩家造成70HP的伤害。2)假设敌人有100HP,100MP,普通攻击伤害5HP、每2秒攻击一次,技能治疗可以为自己回复20HP、消耗50MP、每两次技能间隔时间8秒。而玩家有100HP,普通攻击伤害5HP、每1秒攻击一次。敌人的判断反应是除了攻击玩家外,当自己少于
8、或等于1/4时,为自己进行治疗。那么:玩家对敌人造成75HP(100HP*3/4)伤害,需要15秒时间(75/5)。在这15秒时间内,敌人对玩家造成3
此文档下载收益归作者所有