| | |
|
组别 | 虎豹骑 |
级别 | 安南将军 |
好贴 | 1 |
功绩 | 233 |
帖子 | 2822 |
编号 | 89468 |
注册 | 2006-10-30 |
| |
| | |
|
|
|
移动规律篇
一张走位优先度的实测图,1最高,12最低。
图片附件: 三格实际优先度.jpg (2014-8-30 10:22, 96.11 K)
![](attachments/month_1408/20140830_0336693dc8a183882792KSV2SSt4dPVJ.jpg)
我以前写过一篇《曹操传主动出击AI在相同距离下的走位规律》,现在这个移动规律篇就是对该规律进行更加系统的描述。
在《行动价值篇》里讲到,AI优先选择行动价值最高的一项行动。那么如果有多项行动的价值相等,AI又会如何选择呢?本篇要讲的就是判断完行动价值以后,AI的移动规律。
AI的移动规律大致可以分为攻击区域内有敌人和无敌人两种,后者是建立在前者的基础上的,所以首先来讲一下相对简单的有敌人的情况。这个情况里面包含了三个规律,其中有一个规律应该是众所周知了,那就是所谓的“就近原则”,AI会优先选择离自己最近的攻击位。然而这个规律说起来简单,其实里面另有玄机。只是因为在一般情况下不影响我们的判断,所以即使不知道这个玄机也没关系。
规律一:AI优先选择移动力消耗最少的位置
这句话里面包含了两个信息:“移动力消耗最少”和“位置”。
曹操传中的距离计算并不是简单的数一下格子数就行了,还要算上地形对移动力的影响。所以这里不说“距离最近”,而说“移动力消耗最少”。那么这个“位置”又是哪个位置呢?当然不是攻击位置,否则就没必要特别说明了。这个“位置”是指攻击位的上下左右四格。看下图:AI到ABC三个白框的行动价值相等,这三个白框往上下左右各延伸出四个格子,除去对方贴身四格和AI移动范围外的格子,剩下1234四个有效格子。AI到23两个格子消耗的移动力最少,所以会优先选择这两个格子,最终移动到B框。
图片附件: 规律一.jpg (2014-8-30 10:22, 49.52 K)
![](attachments/month_1408/20140830_2738a03ab9ac2532997eG9eaD8rbjx5y.jpg)
不过对上面这种情况来说,这完全是多此一举的判断,直接用ABC白框来判断更省事,下面再举一例。下图中,ABC三个白框行动价值相等,A框明显距离远,就不考虑了。B和C的白框延伸出1234四个有效格子,AI到1号格子需消耗4点移动力,到3号格子需消耗3点移动力,所以AI会选择3号,从而去C框攻击荀彧。
图片附件: 规律一-2.jpg (2014-8-30 10:22, 44.94 K)
![](attachments/month_1408/20140830_ba56953da855c0a5d305sG5iHSMdqetX.jpg)
如果把郭嘉右移两格,让AI到1号格子消耗的移动力变为2,AI就会去左边攻击郭嘉。
图片附件: 规律一-3.jpg (2014-8-30 10:22, 36.09 K)
![](attachments/month_1408/20140830_50cc299178b7958ad8a62zYtRbjQJ25a.jpg)
如果让郭嘉右移一格,AI到两边消耗的移动力都是3,AI又会如何选择呢?
规律二:AI优先选择靠上的位置,若高度相同,则优先选择靠左的位置。
这里的“位置”当然也和上面一样指的是攻击位的上下左右四格。
下图中,AI到1234四个格子消耗移动力都相等,1号和3号两个格子靠上,1号比3号靠左,所以AI会选择1号,最终去左边攻击郭嘉。
图片附件: 规律二.jpg (2014-8-30 10:22, 57.48 K)
![](attachments/month_1408/20140830_8e05e988cfb6a375f90eKcNW8ELXbcyu.jpg)
在郭嘉右边两格处安排一名武将。受该武将贴身四格的影响,1号格子失效,剩下234三个格子,AI会选择位置靠上的3号,从而去右边攻击荀彧。
图片附件: 规律二-2.jpg (2014-8-30 10:22, 54.59 K)
![](attachments/month_1408/20140830_4cd5a2397534a8626723A3NSe4e7g6lT.jpg)
假如AI装备了赤兔马,则可以忽略对方贴身四格的影响,1号格子仍然有效。
前面说的都是AI如何选择攻击位的上下左右四格,离攻击位还差一步,那么AI最后究竟是怎样选择这最后一步呢?
规律三:AI按上右下左的顺序选择最后一格。
下图两个白框延伸出三个有效格子,1号格子最靠上,所以AI优先选择1号。再根据规律三,最终到右边攻击荀彧。
图片附件: 规律三.jpg (2014-8-30 10:22, 40.62 K)
![](attachments/month_1408/20140830_45319eb7bf04dc7f19611oETHkiZbTlm.jpg)
如果AI一开始就只能移动一格,同样是按照上右下左的顺序移动。
图片附件: 规律三-2.jpg (2014-8-30 10:22, 32.75 K)
图片附件: 规律三-3.jpg (2014-8-30 10:22, 15.66 K)
![](attachments/month_1408/20140830_bf1b2c4ea320afcc82aaJZUix1EmODcw.jpg)
根据这三个规律,就可以完美地解释开头那张图的优先度了。比如2和3,就是规律三的第一个例子。比如4和5,就跟规律二的第一个例子差不多。比如6和7,符合规律三里面的上右下左顺序。
上下左右四格是移动规律的核心,规律一和规律二均是基于此来判断的。想知道AI最终会走到哪个位置,就要先知道前一步是在哪个位置。下面再举一个规律二和规律三合起来判断的例子,规律一比较简单,就不再举例了。
下图AI有三个等价值的攻击位可以攻击,优先度是1-2-3
图片附件: 规律二三.jpg (2014-8-30 10:27, 60.08 K)
![](attachments/month_1408/20140830_66be20666c9755bc84b8pUwMKeicjrW7.jpg)
来看一下AI是怎么判断的。
画出三个攻击位的上下左右四格,除去紧贴人物的格子,剩下四个有效格子。
图片附件: 规律二三-2.jpg (2014-8-30 10:27, 63 K)
![](attachments/month_1408/20140830_726affcaa890e2202d75YP5Q7VRXJ2lF.jpg)
根据规律二,AI会优先选择最靠上的格子。这个格子周围只有下方的一个攻击位,所以还用不到规律三,直接判断往下走攻击荀彧
图片附件: 规律二三-3.jpg (2014-8-30 10:27, 62.47 K)
![](attachments/month_1408/20140830_96a6ad171591c8a8df53R3YVv0oMXsoT.jpg)
然后是同一高度下,靠左边的格子。这个格子周围有两个攻击位,此时就要用到规律三了。按规律三的上右下左顺序,优先选择下方的司马懿,最后再选择左方的郭嘉。
图片附件: 规律二三-4.jpg (2014-8-30 10:27, 62 K)
![](attachments/month_1408/20140830_8405da274b2b6902b7b6aMDahhiMUSDz.jpg)
下面开始讲攻击区域内没有敌人的情况,这种情况下,如果AI类型不是到某个目的地,那就会朝“某个人”移动,关键是如何确定出这个“人”。这个判断过程不仅要用到前面说过的三个规律,其后续还有两个规律:规律四和规律五。
先看下图,敌人在AI攻击区域外,AI先要根据前三个规律确定一个攻击位。这个时候AI不会在乎是否会被反击,所以在判断时会把所有的攻击位都算上(这里内部程序的算法估计是用AI的攻击范围覆盖了对方的攻击范围)。另外,连攻击位都已经在AI移动范围外了,那么AI也不会在乎延伸出来的上下左右四格是否在移动范围内。荀彧周围共有8个攻击位,很容易判断出AI优先选择A框攻击位。
图片附件: 规律一二三.jpg (2014-8-30 10:27, 52.61 K)
![](attachments/month_1408/20140830_a8eb3d9524c7e64831fdyoB9oavVhP99.jpg)
到这里还没结束!上面说过,AI是朝离自己最近的“人”移动,而不是最近的“攻击位”移动。该图中,AI在A框里能攻击到的只有一个敌人,所以最终目标锁定为这个人,然后朝着此人(或者说此人所在的位置)移动。
那么问题来了,如果在A框里能攻击到多个人,AI会如何选择?
规律四:AI优先选择出场顺序靠后的人。
这个顺序指的是出兵界面的武将顺序,越靠后优先度越高。
下图中,根据前三个规律,AI仍然是优先选择A框。此时AI在A框可以攻击到两个人。假如在出兵时,郭嘉位于荀彧之后,那么AI就会锁定郭嘉。
图片附件: 规律四.jpg (2014-8-30 10:27, 67.57 K)
![](attachments/month_1408/20140830_5d60ebb9deba703f8340wFEuXlpeRgm7.jpg)
锁定了郭嘉后,AI会选择一条移动力消耗最少的路线前往郭嘉所在地。如果这样的路线有好几条,AI会如何选择?
规律五:AI按上右下左的路线朝目标移动。
下图中,AI到1号位的路线是先往上的,所以要优于往右走的2号位。
图片附件: 规律五.jpg (2014-8-30 10:27, 62.75 K)
![](attachments/month_1408/20140830_72e6a77b077418e9a99f8JubjLVFG83r.jpg)
再比如下图,刘晔比曹操后出场,AI按照上右下左的路线接近刘晔
图片附件: 规律五-2.jpg (2014-8-30 10:27, 50.86 K)
![](attachments/month_1408/20140830_99954a5869a3cec754aatUdI3u6EwJNn.jpg)
以上五个规律便是整个移动规律的全部内容,简单概括起来就是:
规律一确定移动力消耗,规律二确定攻击位前一格,规律三确定攻击位,规律四确定人,规律五确定路线。
下面再举一个完整的例子,看一下AI的整个判断过程。
下图我军两个人在AI的攻击区域外,AI是连弩兵。
图片附件: 完整例子.jpg (2014-8-30 10:27, 280.53 K)
![](attachments/month_1408/20140830_302005dd4aa6df65c946XT5FWUup1XTi.jpg)
本来在开始判定之前,要画出所有攻击位的上下左右四格。但是连弩兵的攻击范围太大,就不一一画出了。反正从图中可以很直观地看出来,不需要严格地按照规律一来判断。这里只画出最近的几个攻击位和它们的上下左右四格。
图片附件: 规律一二三四五.jpg (2014-8-30 10:27, 74.81 K)
![](attachments/month_1408/20140830_5aa24f2354c630a5653anSTucXRCCeV1.jpg)
根据规律二,AI选择最靠上的一个青色格子
图片附件: 规律一二三四五-2.jpg (2014-8-30 10:27, 74.55 K)
![](attachments/month_1408/20140830_848a5284e6f648983c7bkbTxTHaZ6zab.jpg)
根据规律三,AI选择下面的这个攻击位
图片附件: 规律一二三四五-3.jpg (2014-8-30 10:27, 74.7 K)
![](attachments/month_1408/20140830_b2d4852fa6de5a208e37kNWjnPkeTPcO.jpg)
根据规律四,AI选择出场靠后的刘晔
图片附件: 规律一二三四五-4.jpg (2014-8-30 10:27, 75.27 K)
![](attachments/month_1408/20140830_41b104f92b1809fd2c85GxAGnMh9nlJK.jpg)
根据规律五,AI按上右下左的路线走到离刘晔最近的位置
图片附件: 规律一二三四五-5.jpg (2014-8-30 10:27, 74.38 K)
![](attachments/month_1408/20140830_ee33099ede1b3a94f64dKlsdvxtR6AFZ.jpg)
AI的最终走位如下图所示。
图片附件: 规律一二三四五-6.jpg (2014-8-30 10:39, 42.13 K)
![](attachments/month_1408/20140830_2fae7f8348d2e983b1340MqyzsHbhdWA.jpg)
最后,来解释一下原版曹操传中的一个现象:主动出击的AI原地不动。
在第一章第12关的袁术讨伐战中,西门吕布军的行动很奇怪,一开始原地不动,等其它几个门进攻到一定程度后才开始行动,而且移动方向也很怪异。虽然可以通过编写剧本来达到这种效果,但我查看了剧本后,却没发现有这种设置,吕布军从头到尾都是很普通的主动出击。现在就用移动规律来看一下究竟发生了什么事。
西门,吕布和敌人的站位如图
图片附件: 吕布.jpg (2014-8-30 10:27, 42.11 K)
![](attachments/month_1408/20140830_47a37e97f640b4b2f8a4WBu259aZMVmj.jpg)
先通过前三个规律,判断吕布会选择哪个攻击位,这里显然是下图中白框的位置,详细判断过程就不写了
图片附件: 吕布3.jpg (2014-8-30 10:27, 42.6 K)
![](attachments/month_1408/20140830_200ecd536df53776d1f6FE53TqwNenTR.jpg)
在白框中吕布可以攻击到多个人,根据规律四,AI会选择出场顺序靠后的人。通过查剧本可知,白框右下方那个弓兵的出场顺序比他上面的两个步兵要靠后,所以吕布的目标锁定为这个弓兵,他要朝着弓兵的这个位置移动。但是,所有可以移动到这个弓兵的路线全被堵了(弓兵的上下左右四格都被敌人或者障碍物占据),所以吕布只好不动了。下图中把吕布的移动力修改到255,可以看得更直观。
图片附件: 吕布4.jpg (2014-8-30 10:29, 113.19 K)
![](attachments/month_1408/20140830_9198efa6b18662e0ab5fYyI1RM5UWjc9.jpg)
下图,当我军进攻到一定程度,打通吕布通往弓兵的道路时,吕布就会朝着弓兵移动,选择移动力消耗最少的一条路线,按照上右下左的顺序走到图中的白框位置。
图片附件: 吕布5.jpg (2014-8-30 10:29, 69.92 K)
![](attachments/month_1408/20140830_8fe3f848a1260020733dKOHnBxd3oc1I.jpg)
如果下方的孙坚军进攻足够快,先于我军打通道路,那么吕布会往下方移动。下图红圈处是一格浅滩,消耗移动力比沼泽少,吕布肯定会选择经过这格浅滩的路线。但是经过这格浅滩的路线也有好几条,此时就要用到规律五,按照上右下左的顺序,吕布最终会走到下图白框的位置
图片附件: 吕布6.jpg (2014-8-30 10:29, 116.11 K)
![](attachments/month_1408/20140830_dc0d47272ad11a5a9e401OcUnOSuoetG.jpg)
[ 本帖最后由 zhouhuan 于 2015-7-20 21:38 编辑 ]
图片附件:
规律四+一.jpg (2014-8-30 10:27, 245.25 K)
|
|
|