[討論] 秘術師DoT技能探討已回收

看板DIABLO (暗黑破壞神 - D3,D2,D1)作者時間13年前 (2013/07/04 18:25), 編輯推噓13(13026)
留言39則, 15人參與, 最新討論串1/1
秘術師技能當中有一類屬於 " DoT " (Damage over Time,持續 YY 秒內造成 XX % 武器傷害) 其中可分成: A. 固定持續時間型 DoT,例如: 1. 能量旋風-狂風籠罩 (6 秒內造成 252 % 武器傷害) 2. 暴風雪 (6 秒內造成 510 % 武器傷害或 8秒內造成 680 % 武器傷害) B. 「引導型(Channeled)」DoT,例如: 1. 御法者技能-崩裂光波 (造成 300 % 武器傷害) 2. 裂光波-無符文 (造成 220 % 武器傷害) 3. 冰霜射線-冰風暴 (每秒造成 364 % 武器傷害) 其中引導型 DoT 在遊戲介面中的說明相當粗略 而暴風雪官方到目前也沒有公布詳細機制 因此很多玩家開始在「測試環境欠佳」的遊戲中測試 (註:秘法奔流雖然也是引導型技能,但不是 DoT,每跳顯示的傷害就是一次 傷害,所以爆擊會出現黃字,DPH不變之下提升攻速會讓每秒的傷害次數增加 但不影響每跳傷害數值大小) C. 根據近期國外玩家的測試與暴風雪官方的回應 DoT 的傷害機制如下: ───────────────────────────────── 每 1/60 秒 ( 1 frame) 計算一次傷害 每 30/60 (=0.5) 秒 (30 frame) 將這 30 份傷害加總於遊戲畫面中顯示一次 每 60/60 (=1.0) 秒 (60 frame) 總共造成 XXX % 武器傷害 或是 ZZZ %武器傷害乘上攻速(APS) ───────────────────────────────── 由於在遊戲中顯示傷害數字為一段時間內的傷害總合 故發生爆擊時無法用黃字顯示 而確切爆擊的判定時間點目前暴風雪沒透露 -- 在 http://0rz.tw/q8kXR “Damage Ticks in Channeled Spells”章節中有提到: “Those ticks can crit, but they are grouped up based on the breakpoint you are in.” 這個理論的意思: 1. 技能按下去後進入第 1 個傷害計算的 frame 會骰 (roll) 一次 判定是否爆擊: (1) 如果判定爆擊: a. 第 1 個 frame 到第 floor(60/speed_coefficient/攻速) 個 frame 的傷害都是爆擊,這段期間傷害 = 原始每 frame 傷害 x floor(60/speed_coefficient/攻速) x (1 + 爆傷) b. 接著進入第 [floor(60/speed_coefficient/APS)+1] 個 frame ,再骰一次是否爆擊→ 如果判定爆擊回到 (1); 如果判定沒有爆擊進入 (2) (2) 如果判定沒有爆擊: a. 第 1 個 frame 傷害 = 原始每 frame 傷害 x 1 frame b. 接著進入第 2 個 frame ,再骰一次是否爆擊→ 如果判定沒有爆擊回到 (2); 如果判定爆擊進入 (1) 2. 原作者舉例-冰霜射線 (speed_coefficient = 2,與能量旋風相同): (1) 當 APS = 1.000 → floor(60/2/1.000) = 30 frame/tick, 則判定爆擊的該 frame 和接下來的 29 個 frame 都是爆擊的, 再下一個 frame 重新判定是否爆擊 (2) 當 APS = 2.000 → floor(60/2/2.000) = 15 frame/tick, 則判定爆擊的該 frame 和接下的 14 個 frame 都是爆擊的, 再下一個 frame 重新判定是否爆擊 3. 根據以上的理論計算每秒傷害期望值幾乎 = (XXX % 武器傷害) x 面板 DPS 這個推論似乎很合理 4. 但實際測試裂光波與崩裂光波,觀察每 30 frame 的傷害值, 其結果不符合上述推論 (傷害數值彼此之間最小差距大於 1 x 每 frame 傷害 x 爆傷, 而是接近 a x 每 frame 傷害 x 爆傷, 其中 a ∈ {2,3,4,5,6}) 5. 若重新思考可能的機制,由上述結果推測可能的規則: 假設每 frame 該技能可以造成 DPF 的傷害值,爆擊傷害總共為 CD (1) 按下技能後有一小段時間 (0 ~ 6 frame 之間) 才開始進入 第 1 個 frame,並開始骰「傷害是否爆擊」: a. 判定爆擊則第 1 個 frame 至第 2,3,4,5 或 6 個 frame 傷害都是爆擊的,這段時間內的傷害 = DPF x ( 1 + CD ) x F, F ∈ {2,3,4,5,6} → 接下來到第 3,4,5,6 或 7 個 frame 再重骰一次是否爆擊 → … b. 判定沒有爆擊則第 1 個 frame 的傷害 = DPF x 1 → 第 2 個 frame 再重骰一次是否爆擊 → 若判定爆擊則進入 a.; 若仍然判定沒有爆擊則回到 b. c. 判定爆擊之後持續的 frame 數目前測試結果 介於 2,3,4,5 或 6 frame, 各別技能在不同攻速下該數目沒有規則可循 (2) 這與之前所熟悉之觸發擊中生命回復/爆擊密能回復 (Proc of LoH/APoC) 之tick數計算不同, 因此接下來分析若是遵循第二種判定傷害爆擊的方式 其每秒傷害期望值是否有差異 D. 能量旋風-狂風籠罩 1. 單一一個龍捲風 6 秒內造成 252 % 武器傷害 = 360 frame 內造成 252 % 武器傷害 = ( 252 % / 360 ) x 武器傷害 = 0.7 % 武器傷害 /frame 假設攻速 = APS = 武器攻速 x ( 1 + 除武器以外裝備給予 IAS 總合 ) (註1:遊戲中角色狀態的攻擊速度數值「大部分」為四捨五入至小數點 第 2 位,實際程式計算是至少精確到小數點第 3 位) (註2:目前發現的 4 個例外為五捨六入: 武器攻速 1.300,IAS = 15 %,實際 APS = 1.495,遊戲中顯示 1.49 而不是 1.50 武器攻速 1.500,IAS = 9 %,實際 APS = 1.635,遊戲中顯示 1.63 而不是 1.64 武器攻速 1.500,IAS = 15 %,實際 APS = 1.725,遊戲中顯示 1.72 而不是 1.73 武器攻速 1.500,IAS = 27 %,實際 APS = 1.905,遊戲中顯示 1.90 而不是 1.91) 2. LoH/APoC 觸發所需時間間隔 = floor ( 60 / 2 / APS ) = floor ( 30 / APS ) frame/tick 3. 6 秒內的 LoH/APoC 觸發總次數 = ceiling [( 60 frame/sec x 6 sec ) / floor ( 30 / APS )] = ceiling [ 360 / floor ( 30 / APS )] total tick 4. 實際上單一龍捲風持續的時間 ( total frame 數 ) = 2. x 3. = ceiling [ 360 / floor ( 30 / APS )] x [ floor ( 30 / APS )] total frame 假設判定爆擊後持續 a frame 的爆擊傷害,其中 a ∈ {2,3,4,5,6} 爆擊機率 = CC, 爆擊傷害 = CD 5. 單一龍捲風實際持續 frame 數內判定爆擊次數期望值 = ( 4. ) / ( 1 / CC - 1 + a ) 6. 單一龍捲風實際持續 frame 數內判定沒有爆擊次數期望值 = ( 4. ) x [( 1 / CC - 1 ) / ( 1 / CC - 1 + a )] 7. 單一龍捲風實際持續 frame 數內造成總傷害期望值 = ( 1. ) x [( 6. ) + a x ( 5. ) x ( 1 + CD )] 8. 單一龍捲風實際持續 frame 數內每秒傷害期望值 = ( 7. ) / [( 4. ) / 60 frame/sec ] = ( 1. ) x [( 1 / CC - 1 ) / ( 1 / CC - 1 + a ) + a x ( 1 + CD ) / ( 1 / CC-1 + a )] x 60 = 42 % 武器傷害 x {[ 1 / CC - 1 + a x ( 1 + CD )] / ( 1 / CC - 1 + a )} vs. 42 % 武器傷害 x ( 1 + CC x CD ) = 42 % x DPH = 42 % x ( 面板 DPS / APS ) 9. 連續施放龍捲風之每秒傷害期望值 = ( 8. ) x [ 60 / floor ( 60 / 1 / APS )] E. 御法者技能-崩裂光波 1. 詳細技能機制為: 每秒造成 ( 300 % 武器傷害 x APS ) 的祕法傷害 假設持續引導了 T 秒,其中 T ∈ Prn 判定爆擊後持續 b frame 的爆擊傷害,其中 b ∈ {2,3,4,5,6} 爆擊機率 = CC,爆擊傷害 = CD 2. 同 D. 的分析法可得知 引導 T 秒實際持續 frame 數內每秒傷害期望值 = 300 % 武器傷害 x APS x {[ 1 / CC - 1 + b x ( 1 + CD )] / ( 1 / CC - 1 + b )} vs. 300 % 武器傷害 x APS x ( 1 + CC x CD ) = 300 % x DPH x APS = 300 % x ( 面板 DPS ) 由以上結果可得知和目前估算技能 DPS 的值 差別只在那一坨修正係數 其實差異不會很大 因此無論 DoT 確切的爆擊判定機制為何 技能傷害表現用目前的估計方式即可 ============================== 目前大家比較關切的是 DoT「爆擊觸發」之詳細機制 https://us.battle.net/d3/en/forum/topic/8770117237?page=6 從上方連結的討論串回應 Nubtro 的 #101 篇開始探討 爆擊密能回復 (APoC) 與臨界質量 (CM) 截至目前都尚未有統一的定論! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.58.91.171

07/04 18:32, , 1F
快推 免得人家以為我
07/04 18:32, 1F

07/04 18:36, , 2F
是DH
07/04 18:36, 2F

07/04 18:41, , 3F
有懶人包嗎?
07/04 18:41, 3F

07/04 18:49, , 4F
玩遊戲學反問題
07/04 18:49, 4F

07/04 18:50, , 5F
這意思是引導DOT傷害會高於面板*技能係數?
07/04 18:50, 5F

07/04 18:52, , 6F
囧 後面結論跟內容搭不起來,看一下原文好了..
07/04 18:52, 6F

07/04 18:54, , 7F
意思是差別在於期望值中算爆擊部分有些許差異
07/04 18:54, 7F

07/04 18:55, , 8F
面板 DPS 中 爆擊部分是 ( 1 + CC x CD )
07/04 18:55, 8F

07/04 18:55, , 9F
所以把能量旋換成暴風雪比較好囉?
07/04 18:55, 9F

07/04 18:56, , 10F
但在 DoT 技能中爆擊判定不是每個 frame 都骰一次
07/04 18:56, 10F

07/04 18:58, , 11F
第五頁的a是整數嗎
07/04 18:58, 11F

07/04 18:58, , 12F
計算期望值 爆擊部分是 1 +[a/(1-CC+axCC)] xCCCD
07/04 18:58, 12F

07/04 18:58, , 13F
對 漏打了!
07/04 18:58, 13F
※ 編輯: chwilliam 來自: 61.58.91.171 (07/04 19:00)

07/04 19:00, , 14F
沒爆擊應該也是持續a frame然後再做判定吧?
07/04 19:00, 14F

07/04 19:00, , 15F
實驗精神,雖然看不懂!
07/04 19:00, 15F

07/04 19:00, , 16F
完全理解,原來如此
07/04 19:00, 16F

07/04 19:01, , 17F
如果只跑1 frame就重作判定會很有問題..
07/04 19:01, 17F

07/04 19:01, , 18F
傷害判定是每個 frame 計一次 只有判定爆擊之後有
07/04 19:01, 18F

07/04 19:02, , 19F
固定 a frame 都是爆擊 結束後才重骰
07/04 19:02, 19F

07/04 19:03, , 20F
我知道 但是這樣不會造成爆擊的frame過多嗎
07/04 19:03, 20F

07/04 19:04, , 21F
這只是觀察傷害爆擊的結果 "爆擊觸發"的次數目前
07/04 19:04, 21F

07/04 19:05, , 22F
找不出規則而且與傷害爆擊是不同機制
07/04 19:05, 22F

07/04 19:05, , 23F
了解
07/04 19:05, 23F

07/04 19:08, , 24F
公式看不太懂.. 第九頁( 1/CC - 1 + a ) 可以幫忙
07/04 19:08, 24F

07/04 19:08, , 25F
解釋一下嗎 <(_ _)>
07/04 19:08, 25F
假設 y 為持續 frame 數中判定爆擊次數, z 為持續 frame 數中判定沒有爆擊次數 判定爆擊後持續 a frame 內的傷害都是爆擊 → y : z = CC : ( 1 - CC ) y*a + z*1 = 總 frame 數 = ( 標題 4.) → z = [ ( 1 - CC) / CC ] * y → a*y + [ ( 1 - CC ) / CC ] * y * 1 = ( 標題 4. ) → y * [ a + (1/CC) -1 ] = ( 標題 4. ) → y = ( 標題 4. ) / [ a + (1/CC) -1 ] ※ 編輯: chwilliam 來自: 61.58.91.171 (07/04 19:20)

07/04 19:09, , 26F
大家都在趕論文~
07/04 19:09, 26F

07/04 19:27, , 27F
第三個箭頭到第四個箭頭是不是有問題...
07/04 19:27, 27F

07/04 19:29, , 28F
z帶入第一個箭頭下面第二列總frame數
07/04 19:29, 28F

07/04 19:29, , 29F
啊沒事.. 看錯了
07/04 19:29, 29F

07/04 19:31, , 30F
其實這個等式有忽略餘數 frame 所以只是方便計算..
07/04 19:31, 30F

07/04 19:32, , 31F
中括號裡面怪怪的吧
07/04 19:32, 31F

07/04 19:32, , 32F
被除數和除數是不是反了
07/04 19:32, 32F

07/04 19:34, , 33F
感謝糾正!
07/04 19:34, 33F
※ 編輯: chwilliam 來自: 61.58.91.171 (07/04 19:36)

07/04 19:40, , 34F
難怪覺得怪怪的XD
07/04 19:40, 34F

07/04 19:57, , 35F
987P
07/04 19:57, 35F

07/05 00:12, , 36F
頭好暈的感覺 @_@
07/05 00:12, 36F

07/05 08:27, , 37F
跨龍魔
07/05 08:27, 37F

08/19 04:29, , 38F
快推 免得人家以為我 https://noxiv.com
08/19 04:29, 38F

10/08 14:48, , 39F
有懶人包嗎? https://daxiv.com
10/08 14:48, 39F
文章代碼(AID): #1HrKsOU6 (DIABLO)
文章代碼(AID): #1HrKsOU6 (DIABLO)