【ポケモンユナイト】クールダウン減少解析
これまで鈴やアンプ、黒セット、ミュウツーといった様々なクールダウン減少 (CDR) 効果が追加されてきましたが、その効果を体系的に分析された文献は存在しません。本noteではキャプチャ動画のコマ送りによる解析を用いてCDRの影響を実測し、その効果の解析を試みた結果を報告します。
ゲーム側のフレームレートは高 (60fps) とし、キャプチャ動画の撮影も60fpsで行いました。また、撮影した映像をコマ送りし、59もしくは60コマでゲーム内時間の1秒が経過したことから、本条件での1コマが1Fであるとおけます。今回、キャラのもつ2つのスキルのクールダウン (CD) に差があるキャラを測定に用いるのが有用であると考え、キャラにはマフォクシーを用い、スキルにはマジカルフレイム (CD : 4.5秒, 270F) と炎の渦 (CD : 8秒, 480F) を選択しました。スキルのCDは、スキルを放ってスキルアイコンが暗くなった時点を0Fとしたときの、スキルアイコンが再び明るくなった時点のコマ数から判定しました。
測定結果を報告する前に、測定中に発見したことについてまずは報告します。興味深いことに、スキルの残り秒数の最後の1秒間は60Fではなく、56F~64Fのブレがあることがわかりました。これは測定されたスキルCDが正確ではなく、そもそもスキルCDの正確な測定からCDRを分析することが難しいことを表しています。特に、8Fのブレは270F程度のスケールでは3%ものCDR変化を誤差として処理してしまうことになります。困った。
今後の展望として
1.0.5%オーダーのミクロな視点ではなく、4%オーダーのマクロな視点 (実用範囲) で再測定を行う
2.他のキャラ、スキルを用いた測定を行い、最後の1秒のブレに再現性があるのかを調べる
ことを行い、追記修正の形で改めて報告をしようと考えております。
備考
CDR0%の測定はフシギバナを用いて行っており、タネ爆弾、はっぱカッター共に実測値と与えられたCDが一致することを確認しています。
【6/8追記】
ゲームのフレームレートを高に設定し、キャプチャ動画の撮影を30fpsで行ったところ、複数のキャラでCDR0%時のCDを1F (この場合、1/30=0.033秒を表す) 以下の誤差で測定できることを確認しました。そこで、この条件で3回のCD測定を行い、その平均値からCDの実測値を決定しました。結果をTable 1に示します。ここで、理論値は元のCDに(100-CDR)/100を掛けた値としました。表の青で示した部分は実測値と理論値が1F以上異なる部分です。ここから、予想と結果が異なる部分に規則性が見られず、実測、あるいは理論が異常であることが予想されました。
まず、実測値について考えました。得られたデータを見ていると、キャプチャ動画を30fpsで撮影しては正確な測定が行えないと考えました。これは本追記のはじめに記したことと矛盾しますが、測定したCDはいずれも整数値であり、偶然30fpsと60fpsの差が生まれなかったためと説明できます。
また、得られた実測値がおよそ2F刻みで変化することから、CDRは2F (約0.067秒) 単位で管理されていると予想されました。従って、元のCDが0.5秒単位で刻まれているマジカルフレイムのCDは実機では測定できないと考えられ、以降の議論ではデータを棄却しました (処理は60fpsで行っているが描画は30fpsで行っているためと考えられ、このデータも理論に当てはめることは成功しているが、詳細の説明は面倒でありかつ本旨とズレるため今回は省略)。
次に、理論値について考えました。上記の内容を仮定すると実際のCDは2F単位で管理されていると考えられ、これは減少CD値も2の倍数に丸められていると考えました。例えば、CD6秒 (180F) に3.5%のCDRを掛けると計算値では6.3FのCD減少が見込まれますが、実際はこれが切り上げの8Fに丸められている、つまりCDRには閾値が存在すると考えました。
余談ですが、AS計算に閾値が存在する理由も同様である可能性があります。
以上の仮説を適用すると今回得られたデータのうち、ひのこのCDR4.5%以外は実測値を理論値と一致させることができました。ひのこのCDR4.5%が合わない理由として、計算されたCD減少値が8.1Fであるため、この0.1Fの処理が例外的に切り捨てられて8Fと計算されている、あるいはそもそもフレームではなく秒数でCDが管理されている可能性があり、そこの兼ね合いで誤差が生じたことが考えられます。
今回わかったこと・予想されたことは以下の通りです。
スキルのCDは2F (約0.067秒) 単位で管理されている (フレームで処理しているのか秒数で処理しているのかは調査中、もしかしたら0.05秒単位で管理しているかも)。
スキルのCD減少値には閾値があり、計算方法は元のCD(フレーム数(30fps換算))×CDR(%)/100値が偶数になるように切り上げた値のフレーム数 (30fps換算) となる。例えば元のCDが8秒 (240F) で、2%のCDRを与えた場合、240×4/100=4.8、これを偶数に切り上げて6F、つまり6/30=0.2秒だけスキルCDが減少する (こちらもフレームではなく秒数で処理している可能性あり)。
今後は、他のキャラを用いた測定で今回の結果が適用できるかどうかの裏付けおよび実際の処理がフレームで行われているのか秒数で行われているかの考察を行う予定です。
更新履歴
5/31 初稿投稿
6/8 追記修正