前々から気になっていたんですが「DPS職がウェポンスキルをマクロで撃つなんてもってのほか」と良く言われるじゃないですか。
「コンボをマクロで組んでボタン一発で撃たせる」のが論外だって事はさすがに分かります。
が、それ以外のいわゆる連打系マクロ・アビリティ、ウェポンスキルをまとめたものが、どれぐらいDPSに悪影響を与えるのか、前から気になってはいたのですが具体的な数値を調べていませんでした。
今回ロジクールのGシリーズを買うと付いてくるハードウェアマクロ機能を利用して、ウェポンスキルを連打した場合と、マクロにウェポンスキルを組みこんだものを連打した場合でDPS値にどれぐらい差がでるのか調べてみました。
その前に、そもそもDPSがマクロを使うのが何故ダメなのか、一般的に言われている事を整理してみます。
ダメその1~先行入力が効かない
これも良くネットで見かける主張なんですが「とにかく先行入力が効かないのがマクロがダメな一番の理由なんだ!」だそうですよね。
これによると、
- GCD中にウェポンスキル(以降WS)を連打していると、GCDが明ける0.5秒(?)前には入力を受け付けていて、この期間にボタンを押しているとGCDが明けたジャストのタイミングでWSが発動する。これが「先行入力」である。
- マクロが割り当てられているボタンを連打した場合はこの先行入力が効かないので、GCDが明けたベストのタイミングでボタンを押さない限り、絶対にGCD+数msecという遅延でWSが発動する事になる。これがチリも積もれと重なった結果、DPSが大きく下がる。
という理屈のようです。
ダメその2~WSとアビリティを効率良く発動できない
そもそも平気で共通用語として使ってるけどGCDって何?リキャストタイムとどう違うの?ってところですが、ライト勢なりにまとめてみました。
アビリティ以外のリキャストタイムをGCDと呼んでいる
「リキャストタイム」は名前的にも「ある技を使った後、同じ技を使うまでに待たなければいけない時間」と捉えられます。
この理解では特に難しい事はありませんし、間違っているわけでもありません。
例えばホットバーに置いたWSのアイコンにカーソルを合わせると、WS・魔法・アビリティの全てにRecast Time という表記があります。
私の詩人の場合、ヘヴィショットのリキャストタイムは2.43秒と表示されています。
で、ここからが問題ですが、WSのリキャストタイムは、他の全てのWSにおいても同じ時間になります。
ヘヴィショットのリキャストが2.43秒なら、ストームバイト・コースティックバイトも2.43秒です。
ですが、詩人の場合エンピリアルアローもWSなのに、リキャストタイムは14.62秒となっています。
これは、スキル説明を読めば分かりますが「このウェポンスキルは固有のリキャストタイマーを持つ」となっているからです。こういう例外もあるという事ですね。
魔法についても同様で、ジョルラのリキャストタイムが2.4秒なら、ヴァルエアロ、ヴァルサンダーのリキャストタイムも必ず2.4秒です。
つまり、WS、魔法は先ほどのエンピリアルアローのような特殊仕様以外、全ての技についてリキャストタイムが同じ、です。
時間が同じどころか、実はタイマーも共有しています。
例えばヘヴィショットを撃つと、スキルアイコンの中にぐるっと回るメーターが表示されますが、これはもちろんリキャストタイマーです。
で、このリキャストタイマーはヘヴィショット以外のWSのアイコンにも同時に表示されます(エンピリアルアローは除く)。
ヘヴィショット→ストームバイト→コースティックバイトと全部違うWSのボタンを連続して押しても、最初のヘヴィは撃てますが、ストームバイト以降は発動しません。
このように、リキャストタイマーを共有しているものをGCD(Global Cool-Down)と呼ぶ、ようです。
WS・魔法は同じカテゴリの全ての技がリキャストタイマーを共有しているので、GCD技と呼ばれているわけです。
一方「アビリティ」に属する技については、この仕様はありません。
例えばブラッドレッターとサイドワインダーはそれぞれリキャストタイムが15秒、60秒と異なりますし、サイドワインダーを撃った場合には、リキャストタイマーはサイドワインダーの中にしか発生しません。
これにも例外があって、ブラッドレッターはレイン・オブ・デスと「リキャストタイマーを共有する」と書かれています。
いわゆるDOTクリティカルからの「レッターくるくる」=「レインくるくる」はこの特殊仕様から実現されています。
ともあれ基本的にアビリティはGCD技ではない=他のアビリティとリキャストタイマーを共有しない、という事になっています。
例外だのなんだのせいで非常に一般化しづらいんですが、まとめると
- WS・魔法のリキャストタイマーは、同じ属性の他のすべての技と共有しており、これをGCDと呼んでいる
- アビリティにはこのGCDという概念が無い
- ただし技によってタイマーの共有に関して例外がある場合もある(例:ブラッドレッター、エンピリアルアロー)
という事ですね。
技の硬直時間
アビリティはGCDの概念が無いんだから、違うアビリティやWSなら連続して即座に撃てる?という風に一見思えます。これが罠ですね。
WS・魔法・アビリティの全てについて、技を撃った直後は専用のモーション・エフェクトが再生され、しばらくの間、他の全ての技が撃てません。
これは、メーター等で待ちが視覚化されていませんが明らかに攻撃行動が一切不可能なのでヒカセンからは親しみを込めて「硬直時間」と呼ばれています。
この硬直時間は、WS・魔法・アビリティで全て異なるそうで、メーターもなければ仕様も明らかじゃないようです。
ネットの情報だと0.5秒~1秒ぐらいの数値でいろいろ書かれていますね。
結局技と技の間の待ち時間とは
さて、この複雑怪奇な仕様を踏まえた結果、よく次のように言われています
アビリティはWS・魔法のGCD期間に可能な限り多く撃つべきである
WSのGCDが約2.5秒(サブステのスキルスピードを上げると短くなる)、アビリティの硬直時間が約1秒(?)なので、WSを撃ってGCDタイマーが開始し、且つWSの硬直が解ける1秒後にアビリティ1を撃ち、その硬直時間が解けるタイミングで正確にアビリティ2を撃つ、間髪入れず次のWSの先行入力を入れる、という運指をすれば最も効率良く攻撃を行えると言う理屈ですかね。
いやぁ、悪夢のようですね。
ハードウェアマクロで連打してみた
最初に断っておきますが、私は零式とか1回も行った事無いエンジョイ勢ですので、とても先に書いたような意識高い系DPSの真似はできません。
ので、その程度の検証だと思って下さい。
FF14側検証用WSマクロの内容
ご覧の通り、ヘヴィショットを12行書いただけのもので、実戦で意味のあるものではありません。
連続して同じWS(ヘヴィショット)を書いてあるのは、これがいわゆる「マクロでも擬似先行入力をする方法」として広く使われている技だからですね。
実際に私が使っているのはこちらです。
ミザリーエンドが撃てる場合はそちらが発動し、ブラッドレッターが撃てる場合はそちらが発動する、まぁ昔から詩人あるあるマクロです。
こちらを検証に使ってしまうと「ハードウェアマクロによる自動ボタン連打」ではブラッドレッターがリキャスト毎に実行されてしまう分誤差が出てしまうので、検証用には全てヘヴィショットという謎マクロを使っています。
本来なら「アビリティとWSを混ぜたマクロを連打する」VS「アビリティはWS後のGCD期間に連打し、次のWSの先行入力も連打する」で比較するべきなんでしょうが、後者は自動ボタン連打では実現できませんので、調べるとしたら手動でやらざるを得ず、結果実行するプレイヤーのスキルに依存する事になってしまいます。
ので、ひとまず「マクロは先行入力が効かないから不利」という点について検証してみます。
ロジクールの側の設定
ロジクールのGシリーズを買うとGボタンそれぞれにハードウェアマクロ(ソフトウェアなのかも知れませんが便宜上ハードウェアと呼んでおきます)を仕込む事ができます。
これは、単純なボタン連打から、luaスクリプトを使った一連のボタン操作、マウスクリックまであらゆる操作ができる超便利な機能です。
何せ「一連のボタン操作を記録させ、それを延々ループさせる」事もできるので、あんな事やこんな事も・・・調子に乗って通報されるとモルボル監獄行きになるそうですよ、気をつけましょう。
今回使ったのはこのマクロです。
100msec毎にF11キーを連打するだけです。
100msecというのは0.1秒なので、これは結構速い連打速度ですね。
0.1秒というのは一見「切りが良過ぎる」と言われるかも知れないので、0.3秒(300msec)毎というのも用意しておきます。
まぁ、ソフトウェアにしろハードウェアにしろ、msecの単位でループさせるプログラムを書いたところで、精度の関係上、数値通りの間隔にはならないんですがね。
「繰り返しオプション」のところを「切り替え」にすると、このボタンを押すと連打を開始し、再度押すと連打をやめる、という動作になります。
こうして、0.1秒・0.3秒毎に延々とF11を押し続ける設定をGボタンに割り当てておきます。
自動連打検証
さて、いよいよ実験です。
F11に相当するホットバーを用意し、ここに「ヘヴィショット」と「検証用マクロ」を交互に割り当てます。
飯・薬・チョコボ無しの状態で、レベル1の木人を3分間殴り続け、ACTで計測してみます。
マクロは先行入力が効かないせいで、DPSが4%下がるというのがよく言われています。
計測結果
【0.1秒周期で連打】
マクロ | 非マクロ | |
1回目 | 2129 | 2161 |
2回目 | 2156 | 2125 |
3回目 | 2153 | 2152 |
4回目 | 2189 | 2133 |
5回目 | 2147 | 2095 |
合計 | 10774 | 10666 |
5回合計の差分=マクロ側が+108
【0.3秒周期で連打】
マクロ | 非マクロ | |
1回目 | 2052 | 2098 |
2回目 | 2170 | 2183 |
3回目 | 2143 | 2083 |
4回目 | 2132 | 2168 |
5回目 | 2186 | 2175 |
合計 | 10683 | 10707 |
5回合計の差分=マクロ側が-24
それぞれ5回ずつやりましたが、これ、どう見ても誤差としか言いようがない結果ですよねぇ。
5回っていう検証回数が少ないのはその通りなんですが、これ、回数の問題じゃないと思います。
3分ヘヴィだけ撃ちつづけたDPSが約2100だとして、4%はたった84なんですが、1回毎に見るとその84の差すら無いし、マクロ側が必ず低いわけでも無いですね。
せいぜい2%(42)の差でどちらが高い、低いかも含めて変わる程度で、これは誤差と言っていいでしょう。
いや、その2%が大きいんだ!それで4層クリアできるかどうかが変わるんだ!って言う人もいる?んでしょうが、マクロ使った方が2%上がる場合もあるんですがね、この結果見る限り。
アビリティとWSを混ぜた連打マクロだとどうなるの?
連打性能に関してはWSのボタンを直接押そうが、マクロボタンを押そうが変わらないと言う結果になりました。
が「マクロがダメな理由その2」であるところの「アビリティを効率良く実行するためにマクロはダメである」という点について、機械的に調べる方法が思いつきません。
ただ、例えば私が使ってるブラッドレッター・ミザリーエンド・ヘヴィショットの連打マクロですが、ブラッドレッターのリキャスト明けやProcした瞬間に連打していると勝手にブラッドレッターを撃ってくれる、ミザリーエンドも同様、という挙動が目的です。
で、このマクロが登録されたボタンをヘヴィを連打する感覚で連打するわけですが、これが不利になる状況というのが余りピンときませんね。
アビリティはGCD中に連打するのがベスト、という事ですが、このマクロボタン連打でも同じ事が勝手にできています。
例えば個別にアイアンジョーをDOT更新のために撃ち、すぐにヘヴィマクロの連打に戻ったとして、その時にブラッドレッターやミザリーエンドのリキャストが戻っており、硬直時間も経過していたならそれらのアビリティがGCD期間に撃たれます。
この2つのアビリティのリキャストが戻っていなかった場合は、ヘヴィの連打が行われるので「効かない」とされている先行入力期間にもヘヴィのマクロボタン自体は押されています。
先行入力の性能差は上で調べた結果「誤差レベル」にしか見えませんので、一体どれだけの差が実際にあるんだろう?というのが個人的な感想です。
もちろん、だからマクロを使うべきだと主張するつもりは毛頭も無くて、私のホットバーは実際、
こうなっています。
レッターやミザリーも、基本は個別に押していて、必ずマクロで実行しているわけではありません。
開幕などはもちろん個別にWSを撃っています。
ヘヴィ連打のサイクルに入って、リキャストやProcに対する反応が遅れたままヘヴィマクロを連打すると、レッターやミザリーがマクロ側で勝手に発動するという感じですね。
反射神経が鈍い身としてはそれなりに助かっています。
という事で、世間一般で鬼の首を取ったように非難されているほど、連打マクロ使用時のDPS低下なんて大したことない、という結論でした。
詩人に関しては、こんな誤差よりも、木人3分殴って5回~15回とかProc回数に差が出るリフルガチャゲーの方が深刻だと思いますね、実際。