FF14 6.0曉月之終途 舞者大型指南(二)
· 2.戰鬥系統
參考文獻:
[1] Discord, the balanced 頻道
[2] https://docs.google.com/document/d/13ggP7PoOs-ic6ve_Huo4A2-3Mx7ozeRPXzC7N_edgHU/edit#heading=h.2rzgirpgty1n 5.3武僧攻略,pt4. 鬧鬼的遊戲部分。
2.1 GCD
GCD-公眾冷卻時間global cool down 是MMORPG通用的概念。其特徵為在按下某個技能後,所有的GCD技能,都會一起進入冷卻。
通常來講戰技和魔法都是GCD技能,一般受到技能速度和詠唱速度的影響。也有不少例外,如舞者的舞步開始、舞步結束、提拉那不受技能速度影響。
如圖:
在FF14中與之相對應的是oGCD(off GCD,叫它“零GCD”也行),即不佔用公眾冷卻的技能。這種技能通常是能力技,我們之所以用GCD和oGCD僅僅是為了較為嚴謹的分類,因為在FF14中有許多特例,比如詩人曾經有oGCD的魔法,機工機器人有oGCD戰技,而舞者在啟用舞蹈時的四種舞步均是佔GCD的能力技。
我們的扇舞終 進攻之探戈 前衝步 等都是oGCD
用一張圖來告訴你關於GCD的知識:
這裡建議著重理解一下“卡GCD”“單插”“雙插”以及“三插”
其中卡GCD與三插是一種通常來講錯誤的操作,而單插和雙插是舞者會經常用到的正確操作。
請務必仔細閱讀下面這張圖,其中包含了極為重要的基礎知識。
圖源為法系職業通用GCD指南,請自行代換詠唱速度 = 技能速度對應物理職業。
對於舞者來講,你需要知道:
這意味著你在每個你用過的 GCD 後,都有一個大約 0.7s 的動畫鎖,然後你才有機會在下一次 GCD 轉好前最多插入兩個 oGCD。一般來講這些 oGCD 視窗會被你拿來施放扇舞,偶爾你會需要施放其它各種能力技。同時,除了某些特殊情況外,這些能力技同樣有約0.7s(根據各個職業技能不同可能在0.5-1.5秒浮動) 的動畫鎖,而最典型的例外就是爆發藥,爆發藥大概會鎖住你 1.2s。
而使用“舞步結束”(包括標準舞步,標準舞步結束,技巧舞步,技巧舞步結束,以及 6.0 新增的提拉那)的復唱時間只有 1.5s 而不是 2.5s,這意味著在這中間你只能單插才不會卡下一個技能。在使用“舞步結束”和“提拉那”的時候需要注意這種情況,因為在進行“執行舞步動作”的時候絕大部分技能是無法使用的。
你遊戲執行時幀率的高低以及GCD時間和幀率是否對齊以及伺服器響應速度都會影響到GCD的響應速度。
我們先來看看延遲如何影響我們的GCD:
FF14處理動畫鎖的方式是和其他遊戲都類似的,你得在一段動畫的最後一幀結束後才能繼續執行下一個操作。但如果算上延遲,延遲大致如下:
操作→動畫鎖1→伺服器檢測操作→下一個操作→動畫鎖2
金黃色的部分是受到你和伺服器之間的延遲影響的,當伺服器確定了你的操作後,你才能進入下一個動畫鎖。
如果你的延遲比較低就還好,比方一個動畫鎖視它們的型別而定,大概持續500-700ms,取上限700ms,如果你有70ms的延遲,那麼你就總共需要大約770ms來結束動畫鎖。
這就是為什麼最好開個加速器玩遊戲:即使你不會因為延遲吃不該吃的傷害,也不會因為延遲卡雙插,但是你仍然可能受到網路波動的影響。網路波動是會讓你精確到秒級別的排軸受到影響的,這在一些時間軸嚴格的副本會有比較大的影響。
接著我們來看看幀率如何影響我們的GCD:
下面,基於閱讀邏輯,而不是理解難易度,我不得不在這裡插入一份相對來說略顯怪異的知識。因為真的很重要,這份知識會讓我們更加深入的理解GCD的運作方式,從而更好的去理解本文的技能速度與配裝部分。
在FF14中,因為遊戲的底層邏輯原因,就算我們的GCD的冷卻已經結束了,遊戲的客戶端也需要等到下一幀被渲染才能處理下一個GCD。
如果以1.95sGCD下的武僧為例,下圖是59FPS和61FPS時GCD間隔和FPS之間的對應關係。
從上圖不難看出,在59FPS下,因為上述的遊戲機制問題,即使我們使用1.95sGCD,也會因為幀數修正而延長GCD實際時間。雖然理論上來講影響並不大,但還記得我們在延遲部分提到的伺服器檢測步驟對吧,這裡伺服器不僅僅會檢測你的GCD間隔,而且還會做出修正。伺服器為了保證你的GCD儘量穩定,會時不時按照它認定你GCD的值進行 ±0.04s左右的修正。
而我們做出的假設是如果你的幀率與GCD對不齊,會被認為是伺服器過快,因此會頻繁的對你的GCD進行+0.04s的修正,我們認為這些修正是壞修正。這意味著你實際的GCD閾值幾乎直接掉了一檔。
但反之,如果你的幀率與GCD對齊很好,那麼伺服器會認為是你的GCD比實際慢了所以需要補償,因此會頻繁進行-0.04s的修正,我們認為這些修正是好修正。這會讓你的GCD在延遲+幀率稅的情況下仍然符合實際的值。
理論上來講我們只需要用: GCD(秒) x 幀率 = 一個整數,就能獲得一個很好的幀率斷點,但實際上如果鎖在斷點的話會得到相當多的壞修正,而鎖在斷點的下一幀則會直接兩極反轉,我們會得到相當多的好修正。且所取的斷點+1的值越高,我們得到的好修正也相對越多。
如果你想自己計算的話,可以利用這個網站https://www.wolframalpha.com/,直接輸入Solve (GCD x mod 1)=0 然後點選運算即可。
如我想計算2.47GCD的斷點,那麼就輸入Solve (2.47 x mod 1)=0就能得出下圖結果。
可以看到我們的斷點是100幀一次,因此我們選101幀或者201幀都可以得到很多好修正。省去計算步驟,能給出的實際結論是,如果你在一個幀數和GCD不匹配的情況下,會有非常大的可能性達不到應該有的技能速度閾值。
對於舞者來講,要關注2.47sGCD配裝的幀率情況,如果你選擇這個技能速度,而且在基本穩定的60幀下玩遊戲(影響最大的是主機玩家,鎖60幀),那麼你將大概有平均下來8ms的幀率稅(由The Balance頻道的Ring鎖幀測試),即你的實際GCD速度約為2.478s,接近2.48s。
而不管2.47還是2.49GCD,鎖101幀或者201幀都能得到更多好修正。從而接近真實GCD間隔。
n卡使用者可以在n卡控制面板裡面鎖幀
2.2 判定
參考文獻:
[1] https://www.akhmorning.com/resources/raiding-fundamentals/#introduction 亞拉戈研究院-戰鬥機制
[2] https://docs.google.com/document/d/1O1fxoeMUgE4qthBExZ1tYfMQCxMxOY_fT6Lx1t54Ba0/edit io的舞者高難入門指導
[3] https://docs.google.com/document/d/13ggP7PoOs-ic6ve_Huo4A2-3Mx7ozeRPXzC7N_edgHU/edit#heading=h.2rzgirpgty1n 5.3武僧攻略,pt4. 鬧鬼的遊戲部分。
這裡我們不會對這些機制的具體產生條件長篇大論,但我們需要對玩家以及BOSS的各種判定方式有一個簡單的理解,才能更好的在副本中做好我們的工作。下面會快速而簡單的介紹幾種不同的、但常常出現在遊戲中的判定。
首先我們來看一下游戲中很通用的一個判定機制:
一個技能(不論是玩家還是BOSS的)的判定時間和實際傷害出現時間之間是有延遲的,就像北斗神拳的名場面。(或者說讓子彈飛也行)
比如你被北斗百裂拳打中了,那麼就已經判定了。即使你後來看起來還活蹦亂跳的,可是隻要傷害一結算,你就真的去世了。
因為在FF14中是電腦程式運算的結果,所以比起漫畫中的拳法更加因果律()而下面所介紹的不同的判定,也都是沿用上面的機制,但在不同的場合表現效果不同。另外以上的總結僅僅是經驗上的,並不一定是遊戲程式碼真實邏輯,請甄別。
2.2.1打空
因為上述判定機制,在進攻端技能上,也呈現出了”按技能-判定-造成傷害“這樣的延遲。
所以,如果在技能判定-造成傷害的過程中,BOSS因為機制原因上天或者鎖血(一般只見於BOSS特定技能放完前不會死)了,那麼後續的傷害會因為目標已經不在場上或無法再降低生命值而無法結算。那麼我們就叫這個技能打空了。
但是,你這個技能所消耗的資源都不會返還,所以應該儘量避免自己的技能打空。
2.2.2快照
對於玩家來講:
一個技能將會造成的傷害,會受到其判定時的所有狀態影響,然後再出現結算傷害,即使傷害結算的時候一些狀態已經消失了。
這意味著我們可以放心的把一些即使是傷害結算較慢的技能放在我們增益BUFF的末尾。
另外,對於一些擁有DOT(damage over time, 持續性傷害。)的職業來講,DOT也是根據快照機制結算的,也就意味著即使增益消失了,在增益期間施加的DOT仍然享受增益。
對於BOSS來講:
對於很多常見的BOSS技能來講,它們是否對玩家造成傷害,也是由快照機制判定的。
如圖:在boss讀條即將結束時候,大概是圖中紅箭頭所指的位置是這個技能的判定時間,在這個時間會判定這個技能的傷害,這時生效的減傷技能即使在讀條結束時候過期了也不影響它們的效果。 同理,如果過了判定時間,即使使用減傷技能,也不會對這次傷害生效。
也就意味著:如果你在判定的時候還在某些AOE的範圍裡面,即使你在讀條結束的時候跑出了AOE範圍你也會受傷害。同時,如果你判定時在AOE的範圍外,即使讀條還沒結束你就衝進了AOE的範圍內,你也不會受到傷害。
我們一般習慣性把BOSS讀條技能的快照叫做”讀條判定“
作為舞者,我們要注意提前放減傷,或者卡判定覆蓋兩次減傷(我們的桑巴是即時生效的,沒有擴散延遲),而不是錯過BOSS讀條的判定時間再放。
2.2.3擴散
群體治療技能、大部分團減、以及絕大多數”群體覆蓋型“團輔,都受到擴散的影響。 我們把一個技能效果從中心點開始,隨著時間增加逐漸向外生效的這種生效方式叫做擴散。與此同時,後受到增益的玩家BUFF的結束時間也就相對的晚,為了方便我們可以叫這種結束時間“反向擴散”。
擴散的速度一般非常快,因此可以認為幾乎是即時施加在所有人身上的,僅有每人約0.3s的延遲。
但舞者的桑巴和技巧舞步BUFF不在此列,它是真的即時生效在每個人身上的(就像一個罩子),但它仍然具有反向擴散的特性,至於如何利用技巧舞步這一特性,我們會在後面提到。