ETH官方钱包

前往
大廳
主題

【我的勇者-攻略】 屬性堆疊與收益分析(上)

GuraGura | 2021-03-11 16:40:56 | 巴幣 0 | 人氣 203

一、前言


上篇靈目推坑文,已經入坑靈目的小夥伴們,可能有些疑慮,如下:
    1. 既然知道裝備、魂卡怎麼搭配了,為什麼傷害還是沒辦法比別人高?
    2. 資源有限情況下,寵物先買哪隻比較好?
    3. 大佬們經常講說:爆傷和屬攻的比例要以 4.66 去調配,而 4.66 這數字是麼來的?
    4. 為了撐元素穿透,我該捨棄 XXX 水攻、爆傷 or 攻強...嗎?
    5. 某個屬性特別高,大佬說這已經被稀釋嚴重了,那我還需要繼續堆下去嗎?
    6. 靈目目前有頂配數值嗎?有的話,又是多少呢?
     .....
因此,我將此篇分成上下兩篇來討論,上篇主要是一些理論和公式推導、解答部分上述問題,而下篇是利用簡化後的公式去做實際計算、解答剩下的問題等等。

<注意> 此篇文長,在文章結尾處有附上懶人包~~~~~


二、爆傷屬攻的 4.66

已知:(部分傷害公式) 屬攻係數 = 1 + x/700 ; 爆擊傷害係數 = 1.5 + y/100。
假設:初始機體之屬攻為 0、爆傷為 0 >> 屬攻係數 = 1、爆傷係數 = 1.5。

>>  若此時各系數翻倍,則屬功係數 = 2、爆傷係數為 = 3.0。我們反推傷害公式可知:屬攻 = 700 && 爆擊傷害 = 150,再取比值可得 700/150 = 4.6666....。

  由上述推導,我們知道比值 4.66 是建立在各系數翻倍的前提假設上,因此可以再進一步推出後續的 4.66 之各數值的要求:

  ? 圖片(1)

  明顯地,依目前環境和 4.66 的準則來看:屬攻 4900 && 爆傷 1050 根本無法達成... 所以我們需要引進更多的參考變數( Ex : 寵物、各類的輔助 buff),才做出較適切的比值出來,不過屬攻 2100 && 爆傷 450 常作為畢業指標就是了。

三、屬性稀釋現象

  為了解釋屬性稀釋現象,我們同樣需要引用 (部分的) 傷害公式,並且以常見的攻擊強度和屬性攻擊作舉例。  首先,假設角色攻擊強度 && 屬攻為 0,且排除其他屬性增益的可能性。

  當攻擊強度從 0 700 時,此時攻強係數為 1 (1 + 0/700) → 2 (1 + 700/700) ,相當於角色的基礎傷害從 100% 提升至 200% >> 700點攻擊強度貢獻了 (200 - 100) / 100 * 100% = 100% 的增幅 >> 平均1 點攻擊強度貢獻了 100% / 700 ≈ 0.142% 的傷害收益。

  根據上述討論,我們一樣可以計算出角色攻強 700 1400 時,基礎傷害將從 200% 提升至 300% >> 700點攻強貢獻了 (300 - 200) / 200 *100% = 50% 的增幅 >> 平均1 點攻擊強度貢獻了 50% / 700 ≈ 0.071% 的傷害收益。

? 此處,或許我們有個疑問:

關於基礎傷害(200% → 300%)時,

Q1:基礎傷害的增幅為什麼不是(300-200)% = 100%?

? 理由:當我們計算傷害公式時,是以各項增傷做相乘後,得出最終傷害數值。所以,我們在比較不同攻擊強度時,無法直接以相減的方式得出基礎傷害的增幅。

Q2:為何不是提供了 (300/200) * 100% = 150% 的增幅,而是 50% 的增幅呢?

? 理由:傷害的增幅與傷害的放大係數是不同的概念,因此 (300/200) * 100% = 150% 意味著基礎傷害從原先的200% 提升1.5倍至 300%,放大係數為1.5,並且放大係數為 1 時為原先的基礎傷害,從而得出傷害的真實增幅為 (1.5 - 1) * 100% = 50%。

------分隔線-------

  同理可得,1400~2100, 2100~2800, 2800~3500...各個區間裡,每 1 點攻擊強度所貢獻的 x% 傷害收益:

  ? 圖片(2) 、 圖片(3)
  

然而,我們可以將攻強 - 傷害收益的關係進行函數化,再藉由 Matlab 將函數圖形化:
      
? 圖片(4)

  由上圖可以觀察到攻擊強度的收益函數 f(x) 呈現絕對遞減,為了更明顯看見遞減趨勢,我們將原閉區間 [700,6300] 擴大至 [0,15000], 來查看整體函數的圖形走向:

  ? 圖片(5)

( 感謝 7yli7 的美編 ~~~)

  顯然,該函數曲線呈下滑態,若將曲線上每一點的切線畫出來,同樣可以發現該切線隨著攻強的增加,逐漸向 X 軸靠攏 >> 也就是說攻擊強度越高,平均獲得的收益就越少。

<推導>  假設初始攻強為 x > 0 && 後來攻強為 y > 0,不失一般性:我們讓 y > x

>> 初始攻強係數:1 + x/700 、後來攻強係數:1 + y/700

>> 基礎傷害增幅:(1 + y/700 - 1 + x/700) / (1 + x/700) *100% = (y - x) / (7 * (1 + x / 700) %

>> 每 1 點攻強的平均收益:f(x) = (y - x) / (7 * (1 + x / 700) % / (y - x) = 1 / (7+ x / 100) %

<驗證> 假設 f(x) = 1 / (7 + x / 100) 定義在閉區間 [ 0,15000 ] 上,因函數 f(x) 一次可導,且對所有的 x 都大於零,所以一次導函數 f'(x) = - 100 / (x + 700)^2  小於零。根據函數的遞增遞減定義,函數 f(x) 在閉區間 [0,15000] 中,屬於絕對遞減函數。

-------分隔線-----

  接著,也可比較每個區間裡,平均每 1 點攻強所占的傷害收益比,可知:提升10%的傷害收益,若角色攻強越高,所需提升的攻擊強度就越多!

<角色攻強>
2800~3500:10%傷害收益 ≈ 345點攻擊強度
3500~4200:10%傷害收益 ≈ 417點攻擊強度
4200~4900:10%傷害收益 ≈ 500點攻擊強度
4900~5600:10%傷害收益 ≈ 556點攻擊強度
5600~6300:10%傷害收益 ≈ 625點攻擊強度
...

  這邊下個小結論:隨著攻擊強度的提升,每點攻強所貢獻的傷害收益比逐步減少,也就是所謂的屬性稀釋,以經濟學角度來看,稱為邊際效用遞減。

P.S. 為了方便觀察屬性稀釋現象,此處採用平均的概念去計算出每一點屬性所賦予的增傷;不過套用在實際面,我們不常以臨界屬性(700倍數)作為基底下去計算,而是採用相對的計算方式找出最佳組合 >> 相對收益法

四、平均收益 & 相對收益

  以平均收益來看,我們是以臨界屬性(700、1400、2100、2800、...) 作為初始值進行收益計算。不過,在實際情況下的機體,其面板屬性之數值並不會剛剛好落在臨界點上 >> 若採用平均收益計算方式,將產生巨大且未知的誤差,進而影響最終計算結果。

( >> 平均收益法的好處在於:1. 計算方便    2.  容易觀察屬性稀釋現象 )

  因此,我們無可避免地,必須捨棄臨界屬性,並且以實際的機體數值作基底,計算出真實效益,才能在有限的資源中,做出最佳的選擇。  而相對收益的計算方式是在平均收益的計算方式上,進行修改 ( 傷害 - 收益函數:f( y , x) = (y - x) / (7 * (1 + x / 700) % ),經公式比對,可以發現兩者其實只差在有沒有除以 (後屬性 y - 原屬性 x),不過存在雙變數的情況下,進行計算時,相較於前者來的複雜些,在此不多做討論了。 ( >> 相對收益法的好處:詳情在下篇。)

值得注意的是:在計算每 1 點屬性收益上,平均收益法會是相對收益法的特例。

<實際例子>:二星貓咪 v.s. 二星偶像魂卡 (相對收益法計算)

首先,偶像巴欽的二星效果:5%攻擊強度、貓咪二星效果:10% 傷害加成。  

簡單計算下,靈目打世界王時,傷害加成有:100% + 67% (33牧) + 16% (55等遊俠天賦) + 10% (血印披風) + 25% (金冠) = 218% 。

>>納入魂卡貓咪效果後
二星:[ (218 + 10) / 218 - 1 ] *100% ≈ 4.58% 總收益。
四星:[ (218 + 20) / 218 - 1 ] *100% ≈ 9.17% 總收益。

接著,計算攻強增益有 10% (真言) 、6% (公會烤雞),再假設機體攻擊強度為 x 且 不考慮綿羊的 400 攻強 (效益太低,不如多帶 牛魔 或 斯托拉斯 來提高覆蓋率)  >> 實際攻強:(1.16 / 1.06) * (1.06*x)。

P.S. 公會烤雞為常駐buff,而真言有機率出現空窗期,所以將它排在後面。

話不多說,直接上圖:

? 圖片(6):Matlab Script


? 圖片(7):經一番計算,當攻擊強度接近 6650 時,總收益:2星偶像 > 2星貓咪


至於四星效果的比較,將留在下篇做討論...

五、相對收益公式簡化

  為了讓下一篇的實際計算方便些,此節將(部分的)傷害公式進行一波化簡,也提供大家使用~~~
假設初始數值 X > 0 且後來數值 Y > 0:

1. 攻擊強度 & 屬性攻擊

<Case 1>:Y > X (數值增加)

a%增幅 = [ (1 + Y/700) / (1 + X/700) - 1 ] x 100%

= [ (700 + Y) / (700 + X) - 1 ] x 100%

= [ (700 + Y) - (700 + X) ] / (700 + X) x 100%

= [ (Y - X) / (700 + X) ] x 100%

<Case 2>:X < Y (數值減少)

b%減幅 = [ 1 - (1 + Y/700) / (1 + X/700) ] x 100%

= [ 1 - (700 + Y) / (700 + X) ] x 100%

= [ (700 + X) - (700 + Y) ] / (700 + X) x 100%

= [ (X - Y) / (700 + X) ] x 100%

-------分隔線-------

2. 爆擊傷害

<Case 1>:Y > X (數值增加)

c%增幅 = [ (1.5 + Y/100) / (1.5 + X/100) - 1 ] x 100%

= [ (150 + Y) / (150 + X) - 1] x 100%

= [ (150 + Y) - (150 + X) ] / (150 + X) x 100%

= [ (Y - X) / (150 + X) ] x 100%

<Case 2>:X < Y (數值減少)

d%減幅 = [ 1 - (1.5 + Y/100) / (1.5 + X/100) ] x 100%

= [ 1 - (150 + Y) / (150 + X) ] x 100%

= [ (150 + X) - (150 + Y) ] / (150 + X) x 100%

= [ (X - Y) / (150 + X) ] x 100%

-------分隔線-------

3. Boss傷害

<Case 1>:Y > X (數值增加)

e%增幅 = [ ( 1 + Y) / (1 + X) - 1 ] x 100%

= [ (1 + Y) - (1 + X) ] / (1 + X) x 100%

= [ (Y - X) / ( 1 + X) ] x 100%

<Case 2>:Y < X (數值減少)

d%減幅 = [ 1 - ( 1 + Y) / (1 + X) ] x 100%

= [ (1 + X) - (1 + Y) ] / (1 + X) x 100%

= [ (X - Y) / ( 1 + X) ] x 100%

-------分隔線-------

4.護甲穿透 && 元素穿透

假設怪物護甲定值(元素抗性)為

(1) 世界王:5000 ( 2500 )

(2) 150層公會王:6640 (3100)

怪物免傷百分比:(護甲 - 護甲穿透) / (護甲 - 護甲穿透 + 1500)

? 實際輸出百分比:1 - 怪物免傷率 = 1500 / ( 護甲 - 護甲穿透 + 1500 )。

六、回顧 (懶人包)

    一開始我們引用傷害公式解釋了 4.66 的來歷 ( 以係數翻倍的猜想,反推了屬攻 && 爆傷的係數公式,得出各數值後,再相除得出比例 4.66 ) 並且透過 4.66 的想法來推導出目前頂配機體的標準 ( 水攻 2100 、爆傷 450 ),也稍微寫了關於比例 4.66 的問題。  接著再次引用傷害公式、以常見的攻擊強度舉例,套用平均計算方式,將數據整理成表格,又畫了幾張圖,解釋屬性稀釋現象,並且以數學方法進行驗證。

  最後針對平均收益比較收益的計算方式,做了一些討論,指出各個計算法的優劣之處,給了一個簡單的實際例子 ( 2星貓咪 v.s. 2星偶像 )。然後,為了減少下一篇的計算過程,在文末對平均收益計算公式進行一番化簡。

創作回應

更多創作