闪电链跳跃规律
2009-04-07新疆大串
如果这篇稿子见刊的时候是2009年,那可以信心十足地说《魔兽争霸Ⅲ》上市已经有七个年头了。时间检验了一款游戏从精彩到经典的蜕变,时间也意味着一代新人换旧人,时间还意味着越来越多的人对游戏背景、数据、程序各个方而不断的深层次的挖掘。而七年,这并不短暂的时间也往往意味着可被挖掘的内容越来越少,甚至消失殆尽,但至少有个叫做新疆大串的家伙还能在翻阅了、百度了、谷歌了所有能找到的资料后找到目前发掘的盲点,坐下来和大家谈谈自己经过了浅浅研究之后的一点东西——闪电链跳跃的规律,虽然这仅仅是诸位至千里过程的一伐跬步。
代码对于绝大多数朋友来说都是十分晦涩难懂的东西,所以这次研究是完全以实践为基础的,整个实践过程中的所有环节也将以截图的方式直观的展现在大家面前,同时还会在实践方法中需要一定理解能力的部分做出“为什么是这样去试验”的原理解释,力求做到如同白居易的诗篇一样浅显易懂。正文之前的铺垫到此为止吧,Lets Go!
为什么说闪电链的跳跃是有规律而不是随机的?
很多朋友,包括曾经的我都会有这样的疑问:闪电链是个跳来跳去的技能,我放闪电链的时候见到的闪电链如同“人不能两次踏入同一条河中”一样呈现出千奇百怪的形状,规律从何谈起?的确,无论是标准对战中还是DotA中,每次在闪电链施放后总会留下看起来大不相同的痕迹,但那是因为每次施放闪电链时外部条件的不同造成的,那千奇百怪的形状并不源于闪电链本身——这就好比你来到陌生的城市中想到达一个地方并不会如本地人那般顺利一样。但是在同样的境况下你施放的每一道闪电链都会毫不例外按照固定的路线前进,没有任何例外的可能,闪电链自身拥有制导系统一般的选择性,并不是在随机挑选目标。
请看下面的两组图片,分别连续施放了四次闪电链,闪电链的轨迹都是一定的,说明闪电链的跳跃是完全有规律可循的。
我们注意到一点,图片中有两个单位的位置差不多,但是这几次闪电链都只从其中一个单位上经过,而在经过了这个单位后才跳跃到另一个位置、距离具跳跃来的单位差不多的单位上,这是否意味着同等距离上的跳跃是有选择优先级的呢?不要着急,让我们带着疑问继续探究。不过既然大串是做DotA的,那自然要在DotA方面多着一些笔墨。
这条固定的跳跃路线与施法者的位置有关么?
这是一个好问题,只有连这种细节都注意到了才能保证我们得出结论的正确性。
我们将施法者同第一个目标之间的位置分别调整为为8个正方位中不同的距离,让我们看看闪电链跳跃的路径是否发生了改变:
可以看出无论施法者站在什么位置,闪电链都会按其固有的路径去跳跃,闪电链的跳跃目标选择同施法者的位置毫无关系。
我注意到之前的截图中闪电链都是向屏幕下方传递的,是否为意味着“向下传递”有着更高的优先级?
刚才只是针对一个固定的起始目标施放闪电链,对于以那个目标为起始的闪电链路线都一致已经毫无疑问,那现在让我们一起看看换个起始目标释放闪电链,闪电链跳跃会不会“向下优先”。
可以说等距离中闪电链向下传播优先毫无疑问地拥有较高的优先级别。
但若是下方没有目标了,闪电链会怎样传播呢?
若是下方没有目标了,闪电链是会向左传播还是向右传播实测到此时需要面对的问题,我们将闪电链的最大跳跃数设定增加一些,看看在传播到垂直方向的尽头后闪电链会怎样跳跃吧:同样试验4次。
可见在垂直方向伤悲有目标可供延续跳跃式闪电链会优先选择靠左侧的目标来跳跃。
闪电链向右和向上传播中哪个拥有较高的优先级?
我们将其他单位清除,只留下向右和向上两条传播路径,看看闪电链到底要怎么走。
闪电链是否会优先攻击生命低下的单位呢?
“闪电链会优先血少的单位”一直以来是民间的说法之一,但事实真的如此么?
显然,闪电链并没有高度智能化到“自动锁敌”和‘发射后不管”的21世纪新武嚣智能程度,自动寻求生命低下单位优先攻击的讹传不攻自破。
闪电链时候会优先攻击某种类型的单位呢?
稍微对魔兽争霸地图编辑器有所了解的朋友一定会知道魔兽中存在诸多的单位类型,比如远古、地面、空中、机械、牛头人等等,这些单位类型是否会影响闪电链的跳跃呢?我们将周边的单位的单位类型稍作修改,再测试一下。
结果表明闪电链并不挑食,不会在单位类型上做出优先选择。需要说明的是,这里的闪电链被改为允许对机械单位作用,对战中的闪电链的所定允许为:空中、地面、敌人、中立、有机的,之间的关系为([(空中或地面)且(敌人或中立)]且有机的)。
单位死亡是否会对跳跃规律产生影响?
我们将沿途的一些测试单位打残血,来看看单位死亡是否会对跳跃规律产生影响。
测试结果表明跳跃途中任何单位死亡都不会影响既有的跳跃路径。
目标在不同距离时闪电链是怎样选择目标进行跳跃的?
诸多目标距离跳跃目标的距离不同,是否会对跳跃的路径产争影响呢?来看看下面的试验吧!
可见闪电链跳跃遵照就近原则。
同等距离下闪电链是否会对某个玩家的单位优先攻击呢?
这是一个圆圈,所有的单位按照距中心单位等距离位置放置,让我们看看测试的最后一步。
到这里你可能会发现向下并不是方向上最优选择选择,事实上也是如此,6点钟稍过一些的位置才是最优的目标选择方向,这也就是之前为什么没有说向下具有最高优先级的原因。
结论
闪电链的跳跃是有规律而不是完全或部分随机的,它是一种可以通过练习加以掌握的技巧。
闪电链以距离上一个跳跃单位而不是施法者或其他目标最近的单位为跳跃目标,并且跳跃的路径不会因施法相对或绝对位置的不同而发生改变。
只要单位类型在闪电链的锁定允许内和可跳跃范围中,无论单位类型与单位剩余生命的百分比或绝对值都影响不了既有的跳跃原则,即使单位类型和/或所属玩家不同也不会对闪电链跳跃产生任何影响。
在多个单位距离前一跳跃单位距离相同时,六点钟(坐标系Y轴)附近方具有最高的优先跳跃级别,在两个单位Y轴坐标相同时,X轴反方向上的单位具有优先跳跃级别。