當前位置: 華文星空 > 電競

DOTA2 中有哪些冷僻卻又實用的技巧或者知識?

2017-12-25電競

眾所周知,dota2是一款摸獎類競技遊戲

有彈幕數了下,峰哥是連續15刀都沒暴......

一、關於偽隨機

dota2及許多moba類遊戲中都有許多關於暴擊/眩暈等隨機事件,為了平衡遊戲的公平性,需要減少這些事件不會連續觸發/連續不觸發,因此在機率觸發上大量套用了偽隨機。dota2最早套用偽隨機應該是在6.81的斧王改動,不愧是v社親兒子,之後其他英雄的很多機率觸發都改成了偽隨機。


dota2維基對偽隨機的解釋:對於一個偽隨機分布事件而言,每次事件發生的機率與上一次事件是否觸發(發生)相關聯。這個事件的觸發機率可以用函式P(N)=C×N表示。

  • P(N)是第N次嘗試這個事件的機率;C是一個偽隨機事件的常數,它的值小於等於1。
  • 這個事件的初始發生機率為C。
  • 如果沒有觸發這個事件,那麽計數器便會增加1,這個事件下一次的觸發機率將會增加C。
  • 如果觸發了這個事件,那麽計數器便會清空,這個事件的觸發機率將會變回C。
  • 對於C值,V社並沒有給出,但是在stack exchange上有老哥估算出了不同機率下的C值:


    也就是說,一個pa學習大招(15%機率暴擊)後,第一次普攻暴擊的機率其實只有3.2%,第二次是6.4%,只要不暴擊,就一直累加直到某一次攻擊發生暴擊,下一次普攻暴擊的機率重新回到3.2%,從長時間的期望來看,pa暴擊的機率就約為15%。這樣可以防止出現 pa砍了十幾刀都不爆的情況 出現。

    二、偽隨機在dota2中的套用

    有了以上偽隨機的概念,很容易想到大家經常提到的用普攻給暴擊進行墊刀的技巧。比如玩pa的時候,如果連續a了野怪/小兵好多下沒有暴擊,這時候去找對面打架,前幾刀就很容易出現暴擊的情況。
    那麽,對這種策略,在實戰中究竟有多大價值呢?我們討論兩種結果

    1. 連續N次不暴擊,之後首次觸發暴擊所需普攻數

    首先,我們比較關心的是,一個pa在 連續a野怪N刀不暴擊後去找敵方醬油提款,需要再a幾刀才能出發暴擊 。因為對pa來說,越快暴擊留給對方的反應時間越短,擊殺成功率越高,萬一還是一直不暴,就被對面反控了。
    於是我們以pa為例(15%暴擊機率,對應C=3.2%),用程式定義偽隨機觸發的情況模擬10000次,看需要的普攻數有什麽區別

    之前連續0次未觸發,之後平均需要5.6996次攻擊才能觸發暴擊/眩暈 之前連續1次未觸發,之後平均需要4.8261次攻擊才能觸發暴擊/眩暈 之前連續2次未觸發,之後平均需要4.1568次攻擊才能觸發暴擊/眩暈 之前連續3次未觸發,之後平均需要3.6702次攻擊才能觸發暴擊/眩暈 之前連續4次未觸發,之後平均需要3.21次攻擊才能觸發暴擊/眩暈 之前連續5次未觸發,之後平均需要2.8265次攻擊才能觸發暴擊/眩暈 之前連續6次未觸發,之後平均需要2.4924次攻擊才能觸發暴擊/眩暈 之前連續7次未觸發,之後平均需要2.1826次攻擊才能觸發暴擊/眩暈


    可以看到:

  • 隨著之前連續未觸發次數的增加,之後暴擊所需的普攻次數峰值明顯向0靠近。
  • 如果上一次剛剛暴擊,那麽平均需要接近7次普攻才能觸發暴擊(也就是說,pa的暴擊平均6.65次中有一次暴擊,基本與15%的暴擊機率一致,側面驗證了模擬情況的可靠性)。
  • 而如果之前已經連續7次普攻沒有暴擊,則平均只需要再普攻3次就能有一次暴擊!
  • 即便考慮不太極端的情況,N=0和N=3也相差了2次所需的普攻數。
  • 考慮更極端的情況,計算了下如果 前15次都沒有暴擊 ,下一次暴擊需要的普攻次數:

    之前連續15次未觸發,之後平均需要0.8384次攻擊才能觸發暴擊/眩暈


    可惜啊,楓哥大機率只要再堅持一下就能暴擊了。

    2. 連續N次不暴擊,之後M次普攻平均暴擊數

    我們進一步思考:盡管墊刀策略能夠大大減少觸發首次暴擊所需的普攻數,但觸發暴擊後,暴擊機率會直接回歸C值,也就是說,這種策略對輸出的提升其實僅限於前幾次普攻暴擊機率的提升。因此如果要量化這種策略對輸出的提高,我們需要計算 在之後一定次數內,平均能夠提高多少的輸出
    考慮一個18級,點了10級+1sB持續時間,假腿暗滅狂戰bkb的pa。此時在幻影突襲持續時間內,不考慮走位等因素,基本能普攻7次。


    因此我們把之後連續的普攻數M設定為7.

    之前連續0次未觸發,之後攻擊7次,平均觸發1.458次暴擊 之前連續1次未觸發,之後攻擊7次,平均觸發1.698次暴擊 之前連續2次未觸發,之後攻擊7次,平均觸發1.79次暴擊 之前連續3次未觸發,之後攻擊7次,平均觸發1.9次暴擊 之前連續4次未觸發,之後攻擊7次,平均觸發1.953次暴擊 之前連續5次未觸發,之後攻擊7次,平均觸發2.017次暴擊 之前連續6次未觸發,之後攻擊7次,平均觸發2.1次暴擊 之前連續7次未觸發,之後攻擊7次,平均觸發2.099次暴擊


    可以看到之後7次普攻:

  • 完全不墊刀(N=0),輸出為1.458*4.5+(7-1.458)=12.103 倍攻擊
  • 墊刀7次(N=7),輸出為2.099*4.5+(7-2.099)=14.2465倍攻擊
  • 按pa此時125+144=269攻擊力計算,輸出分別約為3255.707和3859.2085,相差約600點輸出。考慮到敵方的減傷,護甲和走位等因素,實際相差數值應該會再低一些。
    因此可以看出,即便考慮的是兩種極端情況(N=0和N=7), 對暴擊進行墊刀的策略在隨後帶來的輸出提升,也不如縮短暴擊所需的普攻數帶來的實際意義更大

    三、總結

    以上討論了兩種結果:

    1. 之前連續N次不暴擊,之後首次觸發暴擊所需普攻數
    2. 之前連續N次不暴擊,之後M次普攻平均暴擊數(對總輸出的提高)

    可以看到,對暴擊進行墊刀的戰略意義更大,因為隨便墊上3-5刀,就可以大大縮短首次暴擊出現所用的時間(相差接近2倍),能夠在有限的控制時間內秒掉對方關鍵人物,甚至左右戰局。而這種策略帶來的輸出提升則相對比較有限。
    因此,如果對方有關鍵人物需要秒(如沈默),而己方控制又不容易銜接時(對方有救人/己方控制沒跳刀/控制不足),先去a幾下野怪,把之後的暴擊機率提高,也許會有奇跡發生哦。

    本文中只討論了以pa為例,暴擊機率=15%的情況,而dota中還有許多不同機率的暴擊/眩暈等,對不同機率的暴擊/眩暈,墊刀策略帶來的收益應該也是不一樣的。
    對不同機率下墊刀策略帶來的收益進行分析,應該可以得到我們更應該是對低機率的暴擊進行墊刀,還是對高機率的暴擊進行墊刀,這裏就先挖個坑好了。

    參考:
    50%暴擊=4下必暴!科普遊戲中的偽隨機 - 知乎
    https://www. bilibili.com/video/BV1n A4y1Q7TQ?t=406.2
    隨機分布 - Dota 2 Wiki,刀塔百科
    真隨機分布 - DotA中文維基 - 灰機wiki
    偽隨機分布 - DotA中文維基 - 灰機wiki
    Calculating the constant C in Dota 2 pseudo-random distribution - Arqade