外设天下 - 电脑外设发烧友聚集地

我的人缘1

解读三大犯傻兵种的背后。谈谈星际中的攻击过程及效果

0 5748
楼主
跳转到指定楼层
发表于 2008-3-5 08:09 只看该作者 倒序浏览 阅读模式
金甲虫(Reaver)龙骑士(Dragoon)虫族自杀机(Scourge)
   
号称3大犯傻兵种。其原因是他们在攻击目标单位的时候会打空或者跟丢目标。
   要想揭开他们犯傻的原因首先要对星际中部队“攻击”这整个过程做一个了解。

  这里有些人看到会说:攻击很简单嘛,A一下不就完了吗?有什么好说的.但是,在实际的情况中你有没有想过:自杀.金甲为什么会那么傻?为什么坦克可以利用反复上下运输机操作,而龙骑士不能?魔法为什么不会放空?甚至对着没有视野的地方放魔法依然有效果?而且经常我们可以看见物理攻击的部队在攻击的时候会出现打空的情况,比如金甲打空。龙骑士打空。自杀撞空。甚至是小狗咬空。例子很多不再一一举过去了。而魔法攻击目前还没有见到魔法放空的情况。这是什么原因呢?看来过程远远没有想象的这么简单!下面我们一一展开分析.

首先我们姑且将部队攻击分类分为2种,物理攻击和魔法攻击

      物理攻击会出现打空,而魔法攻击不会打空,我认为其根本原因是他们的攻击步骤不一。所谓攻击步骤,就是把一个攻击分成若干部分。下面分别就物理攻击和魔法攻击,讨论其攻击步骤。

物理攻击在玩家下达命令后按如下3个步骤执行:准备阶段。锁定阶段。打击阶段

  所谓准备阶段, 就是部队在攻击之前进行攻击准备动作。这个准备动作存在一定的时间。拿龙骑来说,很多细心的玩家会发现在龙骑士在接到命令后的第1炮不是马上就发出去的,而是有一个炮台升起的过程(对比坦克你就可以发现区别)。之后可连续攻击,攻击完一个目标后(目标死亡或转换攻击对象)收回。《亚单位之谜》。而且这个准备过程还包括了一个问题:炮弹朝哪里打。这样就很容易理解这个准备阶段。按我的理解,所有的部队都是有这个准备阶段的。只是许多部队的准备阶段时间非常之短。需要去进一步去证实。另外,即使有的单位没有准备时间。我们也可以认为它的准备时间为0。
    所谓锁定阶段,其实是为了方便理论研究,提出的那个一抽象的瞬间过程。也可以称为瞄准阶段。很通俗的讲就是对攻击目标说:我要打中你了。之所以提出这个概念,是因为这个过程在电脑程序内反映为一个判断步骤。即能不能击中目标。其意义是找到目标,对目标进行跟踪打击。
   所谓打击阶段,这个很好理解,就是打到目标身上。造成影响。这里我想提出一个攻击目标区域这样的一个概念。
所谓目标区域是指打击动作的范围。之所以提这个是因为我认为远程攻击和近身攻击的目标区域本质上不一样。远程攻击打击的区域是一个原点(物理上的概念)。就是说远程攻击把所有目标理解为一个点。而近身攻击的目标区域是一个固定的小范围内的面。

  下面用这个理论分析几个例子

    龙骑士打雷车为什么会打空。

     假设出现这样的情况:龙骑士射程内发现一个雷车。然后龙骑士执行攻击的第1阶段:准备阶段,也就是炮台升起阶段。在龙骑士执行这个过程中,雷车跑了。而且跑的很快。假如在龙骑士整个炮台升起过程完成前,雷车跑出了龙骑士的射程之外。然后在准备阶段刚完成,打中阶段开始之前。龙骑士执行瞄准阶段。因为前面说到目标已经在射程之外。所以就造成了无法锁定目标的情况。于是你可以看到龙骑士炮弹在按上述准备阶段所确定的那个方向开1跑。到达最大射程的时候爆炸。这就是所谓的龙骑打空的问题。
     另外的情况是:龙骑士锁定的瞬间。目标刚好在射程之内且在逃跑。由于是已经锁定了目标。子弹一直会追踪目标(雷车)。一直到打中雷车为止。而不管雷车跑了多远。实际上龙骑打雷车也经常出现这个情况。
由上面例子可以知道为什么要定义那么一个“锁定”阶段。其实是判断龙骑士能否打中目标(雷车)是在这一瞬间完成的。 这样不难理解提完射程的龙骑士更有优势。提射程不仅是能让龙骑士“打得更远”。我觉得更重要的意义是能让龙骑士“瞄的更准”。因为提完了射程,雷车需要更多的时间才能跑到射程外。这样可以让龙骑士有足够的时间完成准备动作。瞄准目标。
    以上举例指的是物理攻击中的远程攻击。物理攻击还有1个大类是近身攻击。上面说到锁定的问题。近身攻击发生之时,锁定的目标是该单位攻击范围内的面。这里会出现与上面说的不同情况:

     小狗咬雷车为什么会咬空
     小狗打雷车.雷车跑.小狗靠近雷车的时候.在小狗的"攻击目标区域"内.小狗做攻击动作。由于这个动作是有一个时间的.就是说,爪子挥向雷车,但是雷车是在跑的,爪子没打到雷车身上时,雷车已经跑出了攻击范围了。于是看到小狗在空地挥舞了一下,出现小狗打空了的情况。

     对比龙骑士的攻击你可以发现2者有着很明显的区别。虽然二者都是打空的情况,但是远程兵是在锁定之前目标逃离范围,锁定无法完成造成攻击中止,而近身是攻击没有作用到目标。

     远程的兵种锁定的是目标单位本身(一个原点),而近身锁定的对象则是一个攻击时特定的区域范围(攻击主体面前的一块空地)。近身攻击可能虽然锁定步骤完成了,但是如果你需要打击的对象(雷车)不在这个范围只内的话就不能打到那个目标。而远程攻击中,子弹如果一旦锁定目标则会一直追着那个目标打,直到打中为止。是追踪型的。

            由于远程攻击和进身攻击打中的目标区域不一样,会出现这样的区别远程攻击一旦锁定完成一定能造成伤害。近身攻击锁定了不一定能击中目标单位。

   地雷被引暴,为什么炸空

      这里还可以举个例子说明上面的结论。就是运输机中的金甲引雷的情况。蜘蛛雷是属于近身爆炸攻击,起爆炸按上面分为准备。锁定,打中3个过程。金甲投下。地雷发现金甲。地雷锁定攻击目标区域。地雷爆炸。如果金甲在地雷锁定之前跑回运输机,不执行打中过程。可以发现地雷又埋下去了。如果金甲在地雷执行锁定过程之后,且在地雷爆炸到金甲身上之间进入运输机。则可以看到雷爆炸,金甲没有受到伤害。

再说下自杀机停顿的原因。

     为什么自杀在离目标很远不会出现停顿,而在目标接近自杀的时候转弯会停顿一下?我思考了下,认为原因是目标在接近自杀的时候,自杀发动了攻击,这个时候目标开始转弯。自杀发动攻击的第1阶段:准备阶段。由于目标在转弯,出现了对目标单位的方向无法进行准确判断的情况。。于是准备阶段被迫终止,自杀重新开始准备阶段。如果目标一直转弯,则又要开始准备阶段。如此循环。这就是所谓的自杀机虽然力目标很近,却无法撞上去的现象。而且还有一点限制了自杀的灵活性:自杀追上目标(攻击范围内).发动攻击需要先停止下来.因为自杀是近身攻击单位.近身攻击单位有一个显著的特点:攻击前必须先停下来,因为我还没有发现可以一边攻击一边移动的近身攻击的单位
(可能这个停止过程很短暂),停下来攻击进入准备阶段(冲向目标).
这个过程中如果如果跑出了范围.自杀就停在那里了.
      

    其实可以把上面的“物理攻击”的概念扩展讨论:比如农民的采矿问题,同样可以分为3个阶段:准备。判断。动作。
让农民去采矿,农民到一块矿前面进行采矿的准备阶段。准备好了判断这个矿是不是有其他人在采。判断没有其他农民再进行采集。如果有其他的农民他就会换一快矿。所以,如果一块已经有其他农民采,这个农民去采的话,会在这个矿上面停顿一下。再转移其他矿。而不是到了那块矿马上转移到其他矿上面。

  以上所说的都是 物理攻击的步骤情况。下面我说下魔法攻击的攻击步骤。

  魔法攻击之所以没有出现上面的打空的现象的根本原因是他与物理攻击的攻击步骤不一样
     物理攻击的执行步骤为先是准备阶段。然后是瞄准阶段。最后是打击阶段。
  而魔法攻击的执行步骤是先执行锁定阶段,然后是准备阶段。最后是打击阶段。
这样就可以理解为什么不管有没有视野。或者魔法释放的对象跑了多远都可以打到目标区域的原因。

  以上说的都是单一的攻击.实际上星际中有很多攻击不能直接归类为上面的攻击,比如下面的例子不能拿上面理论的做解释:
1:海盗.金甲是远程的攻击.但是怎么是面伤?
2:潜伏的攻击是远程的,怎么是线伤?
3:吞噬者的攻击带有减防的效果.而且吞噬是100%不存在打空的情况的.
4:攻城模式下面的坦克为什么会打空?

以上问题引发了对攻击的过程的重新思考.就此.在这里重新提出一个概念:混合攻击(联合攻击)
所谓的混合攻击,其实是带有以上所述的攻击中几个攻击混合的攻击方式.
这个在war3里面很容易理解:比如女巫的攻击是带有减速魔法的.星际中同样存在这些混合攻击,比如远程-近身攻击(海盗.金甲.守护.潜伏.攻城坦克.)..远程-魔法攻击(吞噬者.).

  其中远程-近身攻击分2种:
  一种是海盗.守护者这样的先打到一个点.,然后由这个点爆炸开来.特点为锁定的点一定会被击中.

另外一种是金甲.攻城坦克.这类,母体本身是远程攻击,母体先放出一个(或者若干个)近身攻击的子弹.子弹在固定区域内爆炸(注意这里是固定区域,也就是为什么我要说他的子弹是近身攻击),这一类是相同的攻击,具体例子只解释金甲.坦克的解释跟金甲类似.
  这个理论可以很好的解释为什么潜伏,金甲,攻城坦克这样的远程单位可以打黄雾里面的部队。
由于锁定的是固定的区域,决定了特点为不一定能打中目标单位.
   
   关于坦克.是受到63#所说的现象思考的.


潜伏特殊条件下的三重攻击:远程--进身--爆炸攻击

关于潜伏者我想单独列出来。潜伏在一般情况下是属于远程-近身攻击。但是在特殊的情况:潜伏被打死的瞬间。它扎了一下,就会出现致命一击的情况。这里我们可以理解为:潜伏者身体内有一种特殊的爆炸性物质。当潜伏被打死且扎出了刺。那种物质就能通过刺的导管发出造成伤害。通常我们可以听到潜伏死的时候“砰”的一声。而其他虫族的单位没有死了能“砰”的一声类似于爆炸的声音。

远程-远程攻击

飞龙、瓦各雷属于远程-远程攻击。意思就是先发出一个远程攻击。再发出一个远程攻击。通常飞龙有时候因为射程不能直接打到某个目标,而可以通过它的弹射间接打到某目标。


远程-魔法攻击:
这个在星际中几乎是独一无二的.吞噬的攻击附带了魔法.在攻击步骤上面:到底是先锁定,再准备,还是先准备再锁定呢?按我的理解可以认为是锁定和准备同时进行的.先将物理攻击和魔法攻击分离(就是互相不影响),这样魔法攻击先锁定.物理攻击先准备.就出现了准备阶段和锁定阶段同时进行的情况.这也是为什么吞噬者为什么准备阶段时间很长(打前张一下嘴),而不会出现打空的原因.



下面说说关于金甲的子弹打空的讨论。在这里意外发现了金甲的另外一个特性:子弹是有一个稳定的存活时间的.

金甲是一个特殊的单位。它的母体金甲虫是一个远程单位,但是他发出的子弹却是近身攻击。关于金甲的介绍,我就不一一说了.下面是关于金甲方面的一些资料:
http://games.sina.com.cn/zhuanqu/sc/scunit/protoss/reaver.shtml

金甲虫可以生产一种小型的高爆炸性能的无人驾驶飞机,这些小飞机叫做圣甲虫(Scarab)。它的视野为5

关于金甲犯傻最关键的2个问题:
1是金甲为什么会犯傻跑到炮台射程里面去挨打。
2是金甲子弹为什么会打空。

第1点我还没有找到很系统的原因。按我的理解为游戏的一个BUG。
下面重点说下第2点,就是关于金甲子弹打空的问题。

下面是keakon斑竹发的关于金甲的研究文章
http://www.playsc.com/bbs/viewthread.php?tid=11884&highlight=reaver
里面详细介绍了甲虫的一些问题。比如攻击种类,实际作战的情况

其中keakon 在其文中提到关于对金甲子弹打空的观点:

3.爆炸但不产生伤害的几种原因:
(1)攻击目标被其他单位挡住,scarab无法贴近该单位。
(2)攻击目标离开攻击范围(不是射程)。这个范围明显要比8大,不方便测试,估计在12左右。
(3)scarab在发出去后若无法攻击到目标,大约4秒(fastest speed)后自行爆炸,且不造成任何伤害。
4.在攻击范围内爆炸,且时间在4秒之内,一般可以造成伤害。即使目标死亡、进入运输机、进入碉堡或进入arbiter的隐形范围,甚至爆炸时该单位不在爆炸范围内也能对周围目标产生伤害。


另外,plu的小葱有一篇文章 ,亚单位之谜
http://bbs.plu.com.cn/read-htm-t ... C7%B5%A5%CE%BB.html

其中也提到金甲的打空原因,他是这么说的:
   “金甲雄峰被设定为无敌,也被设定了攻击有效时间和独立存在时间,可自动追踪目标直到击中或目标消失或存活时间到。攻击有效时间和独立存在时间大概分别是4秒和7秒,也就是说在4秒内击中目标会造成伤害,过了4秒就没有伤害了(跟运动的距离无关)。(时间为自测,可能不太准确,但原理是没错的),所有魔法和附加效果对其无效。
   
以上2个观点对我的进一步了解金甲有不少帮助,在这里要谢谢小葱和keakon斑竹,但是细心的读者会发现:他们2个的观点有一定的冲突,于是引发了我的进一步探索..经过测试.探究.得到下面的观点:

     子弹的3.75秒时限论

    keakon 认为金甲打空是射程问题。就是说超过射程会打空,这个说法我觉得不对。既认为是否打空跟范围没关系。这里小葱的观点和我一致。因为经常VOD里面看到一个场景:神族过来骚扰,人族拉开农民。农民一条线跑开,子弹跟踪很长的一段距离(超过上面所说的12。)爆炸。农民死了很多。但是有时候即使是非常近,子弹也不造成伤害(后面我解释原因)。他说的大概4秒内爆炸是对的,只是这个时间没有进一步精确测量.
    我认为正确的说法是金甲在超过一定的时间后自动打空。就是说,子弹存在一个最大运行时间,金甲子弹发出后达到这个最大运行时间后自动报废。下一个子弹开始攻击。
因为金甲的子弹有2个特点:

1是子弹运动速度慢。2是子弹不能穿越障碍物。
以上2点经常导致金甲在一些环境,比如金甲在矿后打农民的过程中,达到了他的“最大运行时间”,子弹自动爆炸。

    下面本人对关于“子弹最大运行时间做了2次实验。

     第1次拿金甲A自己的单位(比如zelot),为了保证zelot能成功逃窜。将金甲和zolot放在1快矿的2边(让金甲饶矿增加子弹时间),然后金甲A zelot ,zelot跑路。为了尽量提高测试的精度,将测试时的游戏速度设在lowest (6fps/s)下读秒表计时,测试时以子弹发出瞬间开始计时,子弹爆炸瞬间出现1个小圆圈停止计时。得到每个子弹最大运行时间大概3.75秒。

       另外33#요6872;为了验证我的测试结果的准确性,采取了按一帧一帧测试的方法,具体方法请见요환发表的文章
    http://www.playsc.com/bbs/viewthread.php?tid=73521&highlight=
按这个方法测试可以得到非常准确的数据:他得到的数据是。金甲的子弹大约可以存活90-92帧。按90帧计算折合时间是90/24秒也就是3.75秒。与我的数据很吻合。
   
       另外一次测试了下金甲40次连续攻击所花时间。得到2组结果分别是 160.76秒和160.92秒
平均每下是4.21秒,也就是大概4秒多一点,但是这个时间是包括甲虫的中间停顿时间的。纯粹的子弹运行时间(子弹从发出到爆炸瞬间)要略小于这个值。符合上面的结论。
(附REP,有兴趣的可以自测)


       最后得到的几点测试结果分析

  1:子弹最大运行时间(lowest下)为15S左右。折合fastest速度下面的 15/4秒(3.75秒 以子弹发出瞬间开始计时,子弹爆炸瞬间出现1个小圆圈停止计时)。15/4 S的时候子弹必须爆炸。而且这个时候子弹爆炸不造成任何伤害(相当于执行S操作)   
2:子弹在子弹最大运行时间15/4秒内爆炸均造成伤害以及飞溅伤害(不考虑距离远近)。攻击方式为近身爆炸攻击

最后个人对金甲子弹观点:
    金甲子弹造成伤害与否应该只有1个标准:即以最大时间计算。不考虑子弹的实际行程。这个时间在fastest速度下面这个时间为15/4S(90帧)。达到15/4秒子弹必须爆炸,且不造成伤害


   下面对以上分析写点实际应用中的建议:

    1:要用龙骑士作战的话一定要提升他的射程。这样不仅可以“打的更远”,而且可以“瞄的更准”(减少出现打空)。特别是在对付雷车的时候。

    2:尽量让龙骑跳舞。这样操作一是因为龙骑士的cooldown时间大于攻击时间。跳舞可以让龙骑士一边攻击一边变换阵型。而且可以使得近身部队在攻击龙骑士的时候打空或者“傻一下(原因同自杀)”。

    3:小狗尽量提狂热。 不仅打得更快,而且还不犯傻。
   
    4 :金甲可以使用穿矿的技巧来消除绕矿。出现绕来绕去的情况请按“S”来结束那次攻击。提前进行下依次攻击。关于金甲穿矿:
http://www.playsc.com/bbs/viewthread.php?tid=46184&highlight=%BD%F0%BC%D7

    5:自杀撞目标的时候尽量让多个自杀从几个方向撞向目标。

    6:人族对对付神族空投埋雷,在被空投的矿后请多埋1-2颗雷。而不要仅仅埋只埋一颗雷。


     7:人族被金甲骚扰时候拉农民尽量保持一条直线。(保持卡位,防止转弯破坏卡位)

最后说下写这个文章的意义:
   1:提出了攻击是按步骤进行的.物理攻击和魔法攻击有不同的步骤.

   2:提出了攻击作用到对象上面有一个目标攻击范围这个概念.远程攻击的目标攻击范围是一个点(攻击目标本身).锁定了一定命中.近身攻击目标攻击范围为一个区域(攻击目标在的位置).不是攻击目标本身,锁定了不一定命中.

  3:提出了混合攻击的概念.解释星际中比较复杂的攻击.

  4 解释了一些不容易理解现象.比如地雷炸空.潜伏刺空等现象.

  5 确定了金甲的子弹有一个稳定的最大运行时间.即子弹的最大存活时间.达到这个时间必须爆炸.且不造成伤害.
解开金甲容易空爆的原因.
转帖
0
已赞
微信分享 收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则