KancolleSnifferで交戦形(同航戦とか)を表示する

艦これの戦闘では各艦の性能・装備以外に、陣形(単縦陣、複縦陣など)や交戦形(同航戦、反航戦、T字有利、T字不利)が結果を大きく左右する。陣形は選択できるが交戦形はランダムに決定される。交戦形により、彩雲ありで最大1.5倍、なければ最大2倍、攻撃力の差が付く。

交戦形は戦闘開始のときに一度表示されるだけで、それを見逃すと確認手段がない。交戦形を確認せずに戦闘状況を見ても戦術立案の材料にならない。そこでKancolleSnifferに交戦形を表示する機能を実装することにした。

実装そのものは簡単だが、交戦形がわかるのは戦闘開始と同時なので、そのタイミングで表示するとプレイ画面よりずっと早く表示してしまう。これではネタバレなので、ちゃんとプレイ画面に合わせて表示したい。そうなるように頑張った結果が以下の動画だ。

赤矢印のところを注目してほしい。戦闘開始と同時にKancolleSnifferは戦闘中と表示する。このタイミングで交戦形はわかっているが、プレイ画面に交戦形が表示されるまで表示を遅延させている。何秒遅延させるかは戦闘内容を解析して計算する。このケースは以下の通り。

標準(7.2)+索敵機索敵成功(5.7)+航空戦発艦片側(8.7)+開幕雷撃(3.5)+T字不利(0.2)=25.3秒

少しずつ条件を変えてプレイ画面を録画して、戦闘開始から交戦形表示までの時間差で演出時間を計測した。しんどかった。一番長いパターンはこれ。

標準(7.2)+索敵機索敵成功(5.7)+潜水艦あり(2.3)+航空戦発艦両側(8.7+2.7)+中破大破(4.9)+支援攻撃(9.8)+開幕雷撃(3.5)+中破大破(4.9)+T字(0.2)=49.9秒

さすがに見たことないけど。