UnicornからChocoboに鯖移動しました。
せっかくなので初心に戻り、しばらくは基本的なTIPSを備忘録代わりに短めに
書いていこうかなと・・・と思っています。が、
まずは前から使っていた動画を用いた検証方法に絡めた話をすることにしました。
最適なローテーションの考察をする際には、時間に関する検証が不可欠です。
つまり検証方法に関して先に書いておいた方が後々説明要らないかと。
検証方法の話と言いつつテーマは実際的なDPSの話になっています。
記事タイトルは目を引くようにしたので、正しく内容を反映してないかもしれません。
・動画による検証方法
動画を撮影してコマ送りすることで、詠唱時間やGCDなど詳しく検証できます。
この際に重要な点は、ゲーム中及び撮影ソフト中のフレームレートの設定を
いずれも60Hz以上にしておくことです。コンバットログの処理自体は60Hzもないと
思いますが、漏れを防ぐためにできるだけ高い時間解像度の方が良いでしょう。
フレームのドロップを防ぐために、動画保存先はSSDを強くおすすめします。
そして撮像ソフトの方でタイムスタンプの表示をオンにしておきます。自分は
ソフトにAmarecocoを使用していますが、他ソフトに同様の機能があるかは知りません。
Amarecocoだとミリ秒単位でタイムスタンプが付きます。(なおWoWにおいてはこの
タイムスタンプはコンバットログの秒数と1ミリ秒のズレ無く一致していました)
・詠唱時間の実測
上の方法を用いて、スペルスピード0の詠唱時間を実測すると以下の通りになります。
SSPD 341 CastTime:2.50sec
Time Event Diff
15905 Fire I cast start
18522 Fire I cast start 2617
21138 Fire I cast start 2616
23756 Fire I cast start 2618
26389 Fire I cast start 2633
29023 Fire I cast start 2634
SSPD 513 CastTime:2.33 sec
Time Event Diff
20630 Fire I cast start
23086 Fire I cast start 2456
25547 Fire I cast start 2461
28031 Fire I cast start 2484
30497 Fire I cast start 2466
32981 Fire I cast start 2484
それぞれのcastの間隔を見ると、本来の詠唱時間から110~150msec余分に掛かっています。
この110~150msの時間はアクションに依存せず、例えば基本詠唱時間の長いブリザガでも同じです。
(なお念のため追記しておくとマクロは不使用です。マクロを使用するとここからさらに遅れます)
・先行入力の仕様
あくまで予想ですが、FF14の先行入力システムは、WoWの様なシームレスにキャストが繋がる真の
先行入力ではなく、単に最速の入力キューが予約されるという形になっているのかもしれません。
この示唆が正しければ、110~150msecという値はlatencyに左右される可能性すらあります。
あるいは、単に別の理由(モーションとか?)で固定値として存在するのかもしれませんが・・・
今度暇があれば海外鯖に接続してこの辺りを調べてみたいところです。
(
http://jp.finalfantasyxiv.com/lodestone/character/2447702/blog/1470653/にこの点に関して追記しました。)
・スペルスピードの価値への影響
この110~150ms(以降平均して130msとして計算します)のインターバルの存在は、DPSの計算、
より具体的にはスペルスピードの価値の見積りに大きく影響します。
例えば、現状では特にローテを考慮しないで計算する場合、スペルスピードが10%上昇すると、
DPSが10%上昇すると計算されるのが普通です。
しかし、今回説明した仕様を考慮に入れて計算すると、例えば基本詠唱時間が2.5 secの場合、
( 1/(2.5/1.1+0.13) ) / ( 1/(2.5+0.13) ) - 1 = 0.09459
となり、DPSの上昇は9.459%にとどまります。(基本詠唱時間が長ければもう少し高くなります)
つまりSSPDのscale factor(INT換算値)は実質的に下がると考えられ、またDPS vs SSPDの
グラフの線形性も崩れ、SSPDにdecreasing returnが発生します。
先行入力の考察についてはNajaiに示唆を受けました。さんきゅーじゃいじゃい。
後でもう少しデータを追記するかもしれません。