中国星际RPG联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4733|回复: 0
打印 上一主题 下一主题

解读三大犯傻兵种 论攻击过程及效果

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-26 00:56:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  金甲虫(Reaver)龙骑士(Dragoon)虫族自杀机(Scourge) 号称3大犯傻兵种。其原因是他们在攻击目标单位的时候会打空或者跟丢目标。

  要想揭开他们犯傻的原因首先要对星际中部队“攻击”这整个过程做一个了解。

  首先我们将部队攻击分类分为2种,物理攻击和魔法攻击。经常我们可以看见物理攻击的部队在攻击的时候会出现打空的情况,比如金甲打空。龙骑士打空。自杀撞空。甚至是小狗咬空。例子很多不再一一举过去了。而魔法攻击目前还没有见到魔法放空的情况。这是什么原因呢?

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

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

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

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

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

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

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

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

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

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

  地雷被引暴,为什么炸空

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

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

  为什么自杀在离目标很远不会出现停顿,而在目标接近自杀的时候转弯会停顿一下?我思考了下,认为原因是目标在接近自杀的时候,自杀发动了攻击,这个时候目标开始转弯。自杀发动攻击的第1阶段:准备阶段。由于目标在转弯,出现了对目标单位的方向无法进行准确判断的情况。。于是准备阶段被迫终止,自杀重新开始准备阶段。如果目标一直转弯,则又要开始准备阶段。如此循环。这就是所谓的自杀机虽然力目标很近,却无法撞上去的现象。

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

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

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

  1关于金甲的子弹打空的讨论。
  金甲是一个特殊的单位。它的母体金甲虫是一个远程单位,但是他发出的子弹却是近身攻击。关于金甲的介绍
  金甲虫(reaver)
  生命点: 100
  等离子护罩: 80
  体积: 大型
  需要支持: 4
  消耗: 200 钱 100气
  建造时间: 70
  由何种建筑生产:机器人技术设备厂
  需要: 机器人技术支持中心
  基础对地攻击:100s/升级后为125s
  基础对空攻击:无
  基础铠甲: 0
  射程: 0~8
  视野: 10
  攻击间隔: 60
  生产热键: V
  金甲虫可以生产一种小型的高爆炸性能的无人驾驶飞机,这些小飞机叫做圣甲虫(Scarab)。它的视野为5

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

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

  下面是keakon发的关于金甲的研究文章

  里面详细介绍了甲虫的一些问题。比如攻击种类,实际作战的情况

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

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

  另外,plu的小葱有一篇文章 ,亚单位之谜

  其中也提到金甲的打空原因,他是这么说的:
  “金甲雄峰被设定为无敌,也被设定了攻击有效时间和独立存在时间,可自动追踪目标直到击中或目标消失或存活时间到。攻击有效时间和独立存在时间大概分别是4秒和7秒,也就是说在4秒内击中目标会造成伤害,过了4秒就没有伤害了(跟运动的距离无关)。(时间为自测,可能不太准确,但原理是没错的),所有魔法和附加效果对其无效。

  对于上述观点。我提出了疑问。我认为他们的理论都太粗糙,有太多破绽。经过自己实验和研究,提出了我的关于金甲的子弹打空理论:
  子弹的3.75秒时限论

  keakon 认为金甲打空是射程问题。就是说超过射程会打空,这个说法我觉得不对。既认为是否打空跟范围没关系。这里小葱的观点和我一致。因为经常VOD里面看到一个场景:神族过来骚扰,人族拉开农民。农民一条线跑开,子弹跟踪很长的一段距离(超过上面所说的12。)爆炸。农民死了很多。但是有时候即使是非常近,子弹也不造成伤害(后面我解释原因)。
  我认为正确的说法是金甲在超过一定的时间后自动打空。就是说,子弹存在一个最大运行时间,金甲子弹发出后达到这个最大运行时间后自动报废。下一个子弹开始攻击。
  因为金甲的子弹有2个特点:
  1是子弹运动速度慢。2是子弹不能穿越障碍物。
  以上2点经常导致金甲在一些环境,比如金甲在矿后打农民的过程中,达到了他的“最大运行时间”,子弹自动爆炸。

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

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

  另外33#요환为了验证我的测试结果的准确性,采取了按一帧一帧测试的方法,具体方法请见요환发表的文章

  按这个方法测试可以得到非常准确的数据:他得到的数据是。金甲的子弹大约可以存活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:尽量让龙骑跳舞。龙骑士在运动的过程中炮台是升起状态的,这样可以省去准备阶段(时间为0)直接进入锁定阶段。这样就不会出现锁定的时候目标的射程之外了,带来的结果是龙骑士可以打的更快,而且100%命中目标。可以提高效率。

  3:小狗尽量提狂热。 不仅打得更快,而且还不犯傻。

  4 :金甲可以使用穿矿的技巧来消除绕矿。出现绕来绕去的情况请按“S”来结束那次攻击。提前进行下依次攻击。关于金甲穿矿:/Article/ShowArticle.asp?ArticleID=23309

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

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

  7:人族被金甲骚扰时候拉农民尽量保持一条直线。(保持卡位,防止转弯破坏卡位)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

QQ|网站统计|手机版|小黑屋|中国星际RPG联盟    

GMT+8, 2024-4-30 23:37 , Processed in 1.171875 second(s), 21 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表