Irelia-從代碼層面理解刀妹的機制
寫這篇文章的驅(qū)動因素是我在觀看IreliaKing(韓一刀)的錦集視頻的時候,IreliaKing在快速Q(mào)的時候,除了滿屏的”好快的Q“,我發(fā)現(xiàn)還有很多人發(fā)出這樣的疑問:
為什么IreliaKing的Q那么快?
這里有熟悉刀妹的玩家應(yīng)該知道,這是指刀妹“滑鏟Q”的技巧,即在Q兩個小兵之間沒有延遲。如果連續(xù)使用“滑鏟Q",從視覺上看就像是刀妹在飛沒有停下來過,不知道這個技巧的玩家可能就會發(fā)出疑問:為什么能q的那么快?
實際上,使用滑鏟Q是需要一些條件的,即必須是連續(xù)Q小兵的情況下才能實現(xiàn)無延遲連續(xù)Q。那底層原理是什么呢?
原理在于,小兵是沒有護(hù)甲的,沒有技能的,因此,刀妹施展Q技能能否斬殺這個小兵是可以預(yù)測的;而英雄不一樣,英雄是可以施展技能的,護(hù)甲是可能波動的,因此,刀妹施展Q技能能否斬殺英雄是不可預(yù)測的。
Q小兵的時候,使用Q的同時就已經(jīng)預(yù)知了結(jié)果,因此在沒有Q到小兵的情況下繼續(xù)向另一個小兵使用Q,就能在上一個Q技能施展完畢后立即施展下一個Q技能。而Q英雄時,必須等待Q到英雄并進(jìn)行判定后才能繼續(xù)使用Q技能。那么就很好理解了,刀妹Q小兵和Q英雄觸發(fā)的不同的代碼邏輯,因此Q小兵可以實現(xiàn)無延遲Q,但是Q英雄不會觸發(fā)。
以上是最基礎(chǔ)的原理,然而更深入的原理需要理解英雄聯(lián)盟里一個普遍適用的機制,這個機制用一個例子就很好理解。石頭人的R閃。這個技巧在職業(yè)賽場上也經(jīng)常被使用,普通閃R是很容易被反應(yīng)的,但是R閃卻很難反應(yīng),原理在于R閃中間是沒有延遲的,但是閃R中間有一段很明顯的延遲。為什么呢?因為石頭人在R的釋放距離以外使用R技能,并不會在最遠(yuǎn)距離釋放,而是超著指定的位置移動一段距離后再使用。那如果這個時候使用閃現(xiàn),會讓石頭人在釋放完閃現(xiàn)后達(dá)到范圍距離內(nèi),所有會直接使用R技能。而如果是閃現(xiàn)R,會在閃現(xiàn)后,重新進(jìn)行距離判斷、指令交付。比如延遲是30ms,閃R比R閃多了60ms~90ms的延遲。
再回到刀妹的滑鏟Q,如果是Q小兵,因為能預(yù)測,在按下Q技能的時候就能知道是否能斬殺小兵,這時候繼續(xù)對其他小兵或英雄使用Q技能是會隨著這一次Q技能指令同時生效,因此會在Q到小兵的同時執(zhí)行下一次Q技能(原理與石頭人R閃相同)。而Q英雄則沒有這個機制。所以從操作角度來看,就是在Q死上一個小兵之前Q下一個小兵就能實現(xiàn)無延遲Q。
既然已經(jīng)寫了這么多,其實還有一個英雄聯(lián)盟通用的機制我也介紹一下。這個機制叫優(yōu)先級打斷機制,比如點地板打斷自己平A、瑞文的光速Q(mào)A。英雄聯(lián)盟里的平A是可以被打斷的。平A被分為前搖、執(zhí)行平A、后搖。玩ADC的走A技巧目的就是在于執(zhí)行平A后打斷平A,實現(xiàn)用位移代替后搖。這種打斷機制在很多游戲里都有,比如DNF的技能打斷平A會出現(xiàn)白影,這會讓操作手感非常好,非常連貫。據(jù)我所知DOTA里是沒有這種機制的(有打斷平A,但是很慢),所有很多轉(zhuǎn)DOTA的LOL玩家會對其抱以“笨重的操作手感”映像,這也是為什么LOL會被DOTA玩家抱以“動作游戲”的評價。本質(zhì)在于LOL從代碼層面上優(yōu)化了操作手感,從而提高了操作上限,這使得LOL僅憑操作可能就能掩蓋意識、策略上的不足(但這并不意味著策略、意識在LOL不重要,相反,除了電競元年以前或者低段位新手局,現(xiàn)在的同段位對局中操作之間的差異非常小,簡而言之現(xiàn)在大家都會玩了)。而且這種優(yōu)化基本上是伴隨著LOL的誕生就出現(xiàn)了的,最早的瑞文光速Q(mào)A就是通過技能位移平A之間的相互打斷來實現(xiàn)的。
回到刀妹本身,ireliaKing經(jīng)常使用的AQ、Q飛行中E都是使用這樣的機制。