TOPICS 00:ANALYSIS METHOD Part 1

 コマ送りを使ったフレームデータ解析手法の解説(前編)。
 フレーム、60FPSといった基礎用語については、理解済みを前提に解説を行う(ここであらためて詳しく解説しないので、事前予習しておくこと)。

 全体硬直、ジャスト入力、ディレイ幅、ヒット確認の解析についてはPart 2(後編)で解説する。

解析環境の準備

 ゲーム動画をコマ送りすることで、ゲームデフォルトのプラクティス表示内容以上のデータを収集することができる。

キャプチャー環境を作ろう

 まず、ゲームの映像をキャプチャーする環境を構築しよう。大前提としてパソコンが必要になる。
 PSやXBOXなどのコンシュマーゲーム機でプレイする場合は、キャプチャーボードを通じてパソコンにゲーム映像を取り込むことになる。
 Steamでプレイしている場合は、OBS Studioなどのフリー配信ソフトの副次機能に録画機能があるので、それを使って動画保存することができる。

 ゲーム側の出力設定に、いくつか注意点がある。
 画面解像度は1280 * 720以上:あまり小さいと、表示文字がつぶれて読み取れなくなる。
 画面解像度を大きくしすぎない:逆に大きくしすぎると、映像出力で処理に負荷がかかり、コマ落ちが発生してしまう
 結局、小さすぎても大きすぎてもいけないので、標準的なフルHD(1920 * 1080)が扱いやすい。
 フレームレート(FPS)は60FPS以上:ゲーム内の処理が60FPS(1秒を60分割したタイミングで表示映像を切り替える)基準で動いているので、最低でもその1単位ずつが解析できるように設定しよう。

 ゲームの出力設定と同様に、キャプチャー側の動画出力設定も同じ基準で設定しよう(理由もゲーム出力設定と同じ)。ただし動画として出力する際のフレームレートは、かならず60FPS設定にしておくこと

 ちなみにいぐにすは、PS5+PC側のキャプチャーボードの組み合わせで環境構築を行っている。Steamでなくコンシュマー機を選択した理由は、SteamだとPCにゲーム実行分の負荷がかかる点を考慮した。コンシュマー機にゲーム部分の負荷を分散できるので、ゲーム映像出力、キャプチャーどちらも安定するのだ。
 キャプチャーボードは、AVerMediaのGC573 LIVE GAMER 4Kを使用。ショートカットキーを設定して、ワンボタンで録画開始/終了ができるようにしている。

コマ送り環境を作ろう

 動画を1F単位でコマ送り/戻しする機能を持った動画再生ソフトを用意しよう。
 ここでは例として、いぐにすが使用している『AviUtl』の使い方について簡単に解説する。

 リンク先からAviUtlをダウンロード。
 こっちのリンク先の手順にしたがってL-SMASH Works(プラグイン)を導入。これで一般的な動画形式に対応できる(対応させるプラグインはキャプチャーからの出力形式に合わせる)。
 あとは起動したAviUtlに動画をドラッグ&ドロップするだけでOK。AviUtl上に動画が読み込まれ、キーボードの『→』キーで1Fのコマ送り、『←』キーで1Fのコマ戻しの操作が可能になる。

 動画再生ソフトがなくとも、たとえばYouTubeなどの動画共有サイトにアップロードすれば、サービスのUIのコマ送り/戻し機能を使うことで検証を行うこともできる(ちなみにYouTubeのコマ送りは『.』(コロン)、コマ戻しは『,』(カンマ)で可能)。

フレーム解析の予備知識

 大前提として、解析システムを理解するために『入力フレーム』と『表示フレーム』の概念を共有してほしい。
 具体的には『ゲーム画面の「プラクティス>表示設定>コマンド入力履歴:表示する」設定で表示されるコマンド内容は、1F前に入力されたものが1F遅れて表示に反映されたものである』ということ。


 入力と同時に画面に表示されるのではなく、入力と表示のタイミングはずれていることを理解してほしい。
 入力タイミングと表示タイミングのずれは、厳密には1Fではない。ゲームコントローラを通してゲームに届いた入力がゲームプログラムで処理され、映像として出力され、モニターに表示されるまで、実際には数フレームかかっていると言われている。オンライン環境であれば、ネットワーク遅延分の遅れも発生する。ただ、そこにこだわるとキリがないので、とりあえず「表示のタイミングは入力から1F遅れている」という理想環境を前提で話を進めていくというルールを飲み込んでほしい。


ジャブの発生

 フレーム解析の例題として、ジャブ()の発生を見てみよう。
 全キャラほぼ共通で「立ち攻撃の発生は10F」という技性能になっている(「プラクティス>表示設定>フレーム情報:詳細表示にする」と設定することで、『攻撃発生フレーム』のパラメータで確認できる)が、これをコマンド入力履歴で確認する。


 ジャブのアクションを動画として録画~再生、ジャブがヒットした瞬間=ヒットエフェクトが出たタイミングで止める。
 コマンド入力履歴は「 10」と表示している。
 これを、コマンド入力を含めたアクション時系列に起こすと、次のような表になる。


 攻撃モーションが発生する&コマンド入力履歴にが表示される1F目より前の、0F目のタイミングで実際のコマンド入力が行われ、コマンド入力履歴の1F目に攻撃の発生モーションが始まり、コマンド入力履歴の10F目&攻撃モーションの10F目に攻撃判定が発生する流れとなっている。
 ちなみに、攻撃がヒットした瞬間は、やられ側はやられモーションになっておらず、体力バーも減っていない。

投げ抜け受付


 次の例題として、投げ抜け受付猶予を見てみよう。
 1P・仁側が投げを行い、2P:一八側が投げ抜けを行う。発生12Fで投げ掴みが成立。
 プラクティスの表示設定において、フレーム情報を「簡易表示する」に設定すると、硬直の属性が色で視覚化される。何かしら色が付いている場合は入力を受け付けないフレームだが、色が付いていない=無色透明は、入力受付が有効なフレームとなっている。
 投げを受けた2P:一八側は、投げ成立後の13~33Fまで無色透明、34Fから赤色となる。このうち、投げ抜け受付として有効なのは14~33F。
 ここで問題。なぜ投げ直後の13F目は、簡易表示で無色透明なのに、投げ抜け受付としては無効なのであろうか?


 これを理解するには、入力フレームと表示フレームの知識が必要になってくる。
 投げに掴まれたタイミングの12F目の段階では、まだ投げが成立していない。そのため、12F目に入力した内容は投げ抜けとして受け付けてもらえない、というのが真相。
 投げ抜けの入力は、投げ掴み成立後に行う必要がある。
 なので、掴まれたのが12F目なら、投げ抜けの入力受付開始は13F目で、その表示は14F目からという流れになる。

発生の調査


 発生は基本的に「プラクティス>表示設定>フレーム情報:詳細表示する」設定で表示される、『攻撃発生フレーム』のパラメータを参照すればいいのだが、一部の技は、ここで表示される値が信用できない。
 そして、信用できないので、コマ送りを使って発生を確認することになる。
 発生の確認の手順と、どのような技があやしくなるかを解説していく。

発生の確認方法

 技の発生値は、キャプチャーした動画を再生して、コマ送りで技がインパクトするまで時間を進め、インパクトした瞬間の技入力~インパクトまでのフレーム数値を合計すればいい。


スライド入力技の発生

 技コマンドが【-】や【-】など、2つの攻撃ボタンを素早く入力することで成立する入力形式=スライド入力の技の発生には注意が必要。
 フレーム情報で表示されている発生の値が、コマンド入力開始からなのか、コマンド完成からの値なのかがわからない(ゲーム内でどちらか一方に統一されておらず、どちらのケースもありえる)。
 スライド入力技の発生を確認する場合、1Fずれの最速入力と、最速でない入力の2つを計測し、比較することで、正しい発生を確認することができる。


 麗奈の鬼太鼓(おんでこ:-)は、攻撃発生フレーム:11Fとして表示される。
 最速入力時、コマンド入力開始から発生14F、コマンド完成から13F。
 最速でない入力の場合、キャプチャしたケースではコマンド入力開始から発生14F、コマンド完成から12Fとなっている。
 なので、発生のタイプ分類は「コマンド入力開始」からで、発生「14F」となる。

 では、フレーム情報で表示された攻撃発生フレーム=11Fは、何だったのかというと、鬼太鼓固有の発生モーションの部分を指している。
 発生14Fのうち、1~3F部分は生とモーションが共通で、発生3Fまでにが追加入力(先行入力)されていれば、発生4F以降が鬼太鼓のモーションに差し変わるという流れ。


 発生4F以降にが入力された場合は、入力の次のフレームから遅れて発生11Fの鬼太鼓モーションに切り替わることになる。
 技が成立する最遅タイミングで入力した場合、発生5Fまでモーションからの鬼太鼓モーション11F。最終的に入力開始から発生16Fとなる。


 仁の胴回し回転蹴り(-)は、攻撃発生フレーム:24Fとして表示される。
 最速入力時、コマンド入力開始から発生25F、コマンド完成から24F。
 最速でない入力の場合は、キャプチャしたケースではコマンド入力開始から27F、コマンド完成から24F。コマンド完成が遅れた分、インパクトのタイミングが後にずれている。
 なので、発生のタイプ分類は「コマンド完成」からで、発生「24F」。ただし技を成立させるため、最低1Fはモーションを見せる必要があるため、1 + 24 で最速発生「25F」となる。

 技の成立条件が「コマンド完成」型は、技の成立条件がスライド入力前の技(仁の胴回し回転蹴りの場合は)の発生モーション中にスライドの後続入力を行う、となっていることが多い。なので、先行入力ができない点に注意しよう(硬直中に入力を入れ終わってしまう → 発生モーションが表示される前にコマンドが完成してしまい、成立条件の『モーション中に後続入力』が満たせない)。

 余談になるが『〇〇モーション中に後続入力』という技成立条件は、鉄拳の先行入力できない技発生メカニズムを理解するうえで、非常に重要な要素なので覚えておこう。
 コマンドの技全般は、ステップインモーション中に攻撃コマンドを入力することで成立する(ステップインが画面上で成立しないと技が成立しない)。
 風神拳()は、そもそも風神ステップ()の成立条件が『前進モーション中に』となっている(前進モーションが画面上で成立しないと風神ステップの成立条件が満たせない)。
 それぞれ、技成立の前提条件が先行入力できないという流れを理解する必要がある。


 検証の際、1Fずれの最速入力が苦手な人は、入力の仕方を工夫しよう。ボタンひとつひとつに別々の指を添える、いわゆる「ピアノ打ち」ではなく、ひとつの指を隣り合ったボタンに素早くこすりつけて連続入力を行う「こすり入力」の方を活用していくと上手くいきやすい。
 指先だと力が足りない場合は、手袋をつけたうえで、指を折り曲げて指の背中側の関節部分でこする入力方法もある。

ホールド入力技の発生

 一定時間、攻撃ボタンを長押しすることで成立するホールド技の発生も、フレーム情報の値が信用できなかったり、完全でなかったりする。
 デビル仁の六道鬼丸(りくどうきがん:)は、ホールドの長さで性能が三段階に変化する技となっている。
 ホールドしない1段階目は最速で発生23F。最大までホールドしない2段階目は、ホールド解除から発生13F。最大までホールドすることで発動する3段階目の『真・六道鬼丸』は、発生61Fになる。
 六道鬼丸は、入力開始からインパクトまでの発生フレームが、詳細表示の攻撃発生フレームに正確に表示される。1段階目なら発生23~38F、2段階目なら発生39~60Fと、すべてのタイミングをホールドの長さを変えて確認することができる。

 一方、吉光の煉獄剣(ホールド☆)。ホールドの長さに応じて性能が6段階(ホールドしない斬哭剣も含めると7段階)に変化する。
 この技の発生は、フレーム情報:詳細表示の攻撃発生フレームによると、それぞれ55・99・130・179・214・249Fと一見入力開始からと思える値が表示される。実はこれはでたらめな値で、実際に計測すると65・100・135・170・205・240Fとなる。

ジャンプ技の発生


 旧作の要素のコマンドを含むジャンプ技は、「要素コマンド入力開始から攻撃ボタンの入力タイミングが遅れても、攻撃発生タイミングは要素コマンド入力開始から一定」となる『ジャンプキャンセル』と呼ばれるシステムになっていた。
 ↑表、攻撃ボタンを0F目に押しても、8F目に押しても、発生は15Fになっている。


 鉄拳8では、↑表のように要素のコマンドから攻撃ボタンが遅れた場合、遅れた分に応じて最終的な発生タイミングも遅れる方式に変更された。


 そのうえで、フレーム情報の攻撃発生フレームには、方向コマンドと攻撃コマンドが完全に同時タイミングで入力された場合の発生フレームが表示されるようになった


 ……で済めばよかったのだけれど。
 背向け状態から要素技を出した場合、攻撃発生フレームは9Fと表示されるが、コマ送りで調べると実際は発生17F。要素と攻撃ボタンが同時でないタイミングの場合は発生22F以上と、技性能そのものが違い、よくわからないことになっている。
 どうもフレーム情報で表示される値は、ゲーム内の実技パラメータを読んでいるのではなく、詳細表示用のフレーム値で上書きしている様子。
 なのでこの上書き値が間違っているケースを警戒する必要があるみたい。

 上記の事情から、いぐにすが要素技のフレームデータの調査をする際、フレーム情報の攻撃発生フレームを信用せず、要素と攻撃ボタンが同時入力となった際の発生フレームをきちんと確認するようにしている。

フレーム硬直差の調査


 フレーム硬直差については、基本的にフレーム情報の『詳細表示する』または『硬直差表示する』の値を信用しよう。
 たとえ間違っていたとしても、攻略にほぼ影響しないので、安心してほしい。一部のマニアをのぞいて、本当に正確な値は必要とされない。


 フレーム硬直差が正しいことを追試で確認する場合は、『簡易表示する』に設定してコマ送りで再生し、「どちらか一方だけが無色透明=硬直解除になっているフレーム」を数えるといい。面倒にはかわりないが、古典的な相打ちを試す調査よりも早く済ませることができる。
 両キャラ同時に無色透明に戻るなら、フレームは五分(±0F)になる。

 ……で片付けばよかったのだけれど。
 簡易表示には問題があり、ガード可能な硬直は無色透明表示になってしまう。
 動画、きりもみやられ。麗奈側が有利なのだが、仁のやられモーションの後半の硬直は無色透明で表示されてしまっている。

 そういう場合は、相打ちや、技後に最速で技を出させて発生の差分をコマ送りで確かめる等、めんどくさい方法を使うことになる。

 簡易表示の硬直表示は、実際は硬直でも、入力受付で無色透明表示する仕様となっている。ガード可能な硬直の他、10連コンボを含む、連系技のルート以外の入力を受け付けない硬直箇所も該当するので、解析時は注意しよう。

フレーム情報が誤って表示される例

 ドラグノフのリビング・デッド~スパイダータックル(ヒート中)(ヒート&横移動中/特殊,中投)を行い、追加入力を行わずマウントを解除する。フレーム情報によると、フレーム硬直差は-2Fと表示される。
 ヒートでない、通常状態のリビング・デッド~スパイダータックル(横移動中/特殊,中投)で同じ操作を行った場合、フレーム硬直差は+3Fと表示される。
 ??? ヒートで性能が劣化するの?
 疑問に思って、簡易表示+コマ送りであらためて硬直を確認すると、なんとドラグノフ側-22F! 相手側の起き上がり下段攻撃(発生22F)による反撃が確定する(なぜか中段の方はガードできる)。
 ……それにしても、なんだこれ?

 キングのツームストンパイルドライバー(/上投)後は、フレーム情報によると-1F。頭向け仰向けダウンのその場立ちは、15Fまで背向け状態なので、発生14F以内の攻撃を起き上がりにかぶせたら背面が取れる起き攻めができるぞ!
 ……と、試してみたところ、全然安定しない。


 そこでコマ送りの解析をかけると、実際は-2Fが正しく(画像、仁が無色透明=行動可能で、キングが赤硬直と、白硬直の2枚=2Fの硬直が確認できる)、キング側が先行入力不可になっている(画像2枚目、硬直解除の2F前に入力しているのに、その後アクションに反映されない)ことが判明する。

 簡易表示でコマ送りにした際、硬直の最後の1Fだけ突然白硬直になる場合は、たいていが先行入力不可となる。また、同様の箇所は、たまにフレーム情報側が硬直を読み間違えることがある。
 メカニズムの予想だが、最後の白硬直1Fの箇所でキャラクタの内部ステータスが切り替わり、新しいステータスに合わせて古いステータス下で受け取った先行入力を破棄しているのだろう。またフレーム情報も、白硬直の手前までを区切りと勘違いして、赤硬直の終わりのタイミングでパラメータを読み上げるのだと思われる。

 おかしい箇所に気付けるかどうかは、勘だったり、違和感だったりでしかない。旧作の調査済みのフレームデータと比較したり、技後に先行入力が効かなくてうさんくさいところなどを裏取りして、地道に洗い出していこう。

ヒットとガードのフレーム硬直差


 麗奈の立ち途中は、フレーム情報によると発生11F、ヒット+5F有利、ガード硬直-6Fの技性能となっている。これを麗奈側の全体硬直、ヒット時のやられ側のひるみ、ガード時の硬直それぞれフレーム時系列で比較したのが上表である。
 ヒットでもガードでも麗奈側の全体硬直は固定(36F)となっている。ヒット時、相手側はダメージによるひるみモーションで、ヒット後に30Fの硬直となり、麗奈の技後硬直との差が5Fになっている。
 同様にガード時は、相手側はガードモーションで判定後に19Fの硬直となり、麗奈の技後硬直との差が6Fになっている。
 鉄拳のシステムは、基本的にヒットのやられモーションは30F、ガードの硬直は19F、ヒットとガードの硬直差は30 - 19 = 11Fとなることを覚えておこう。
 ちなみに麗奈の立ち途中は特別な調整がされていないため、ヒット有利+5F、ガード硬直-6Fで、セオリーに沿って硬直差は11Fとなる。

 硬直差11Fは基本だが、大部分はへこみや強制しゃがみ、きりもみやられなどの特殊なやられ方・ガードのモーションや、技そのものの全体硬直の条件による変更などで調整され、このセオリーから外れることもおぼえておこう。たとえば生、生等は、一見平凡に見えて、ゲームバランスに強い影響があるため硬直の長さに調整が施されている。


 基本にならない例として上表、一八の右踵落とし()は発生19F、全体硬直42F、ヒット+7SF、ガード+4SF。ヒットによるひるみモーションは30Fと変わらないが、ガードモーションは27Fと、基本の19Fとは異なる値になっている。

 そのうえで、ヒット時のやられモーションも、ガード時の硬直モーションも特別なところがなく平凡なのに、ヒットとガードのフレーム差が11Fから外れるようなフレーム情報が表示された場合は、結果を疑うとよい


 ちなみにこのセオリーを用いれば、発生、ヒット有利またはガード硬直から、技の全体硬直をおおよそ逆算することもできる。
 麗奈の立ち途中を例にすると、ヒット硬直を参照するなら、発生11F + ヒットやられモーション30F - ヒット有利5F = 36F。
 ガード硬直を参照するなら、発生11F + ガードモーション19F + ガード硬直差6F = 36F。

ステータスの調査

 調査の需要のあるステータスは、しゃがみステータス、ジャンプステータス、無敵ステータスの3つである。

しゃがみステータス

 しゃがみステータスは、上段攻撃(投げを含む)を無効にする特殊パラメータで、このステータスの発生中は、上段攻撃を完全に無視することができる。
 古典的な調査方法は、攻撃のヒット or ガード直後のフレーム硬直差のある状況で相手側が上段攻撃を出し、自キャラに上段攻撃が当たらなくなるタイミングを探す。この方法には短所があり、低姿勢で潜った場合と区別がつかない
 同じような手法で、やはり攻撃のヒット or ガード直後のフレーム硬直差のある状況で、相手側がしゃがみ投げを出し、自キャラにしゃがみ投げの掴みが成立するタイミングを探す。この手法にも短所があり、硬直差を調整してフレームを埋めていく必要がある(ちなみに持続で掴むケースがあって少しややこしいが、持続かどうかはフレーム情報の発生で確認できる)。
 以上を踏まえて、わりと最初からコマ送りで確認した方が手っ取り早かったりする


 コマ送りで確認する場合、フレーム情報を『詳細表示する』に切り替えて、「状態」のパラメータに注目しよう。「状態:しゃがみ」と表示されるなら、しゃがみステータスが発生している。
 注意してほしいのが1点。実際のしゃがみステータス発生は、「状態:しゃがみ」が表示される1F前からとなっている(なぜだかわからないが、そうなっている)。

 余談だが、しゃがみステータス発生は、しゃがパンや生ローキックなどの全キャラ共通技だと発生4F、それ以外の固有技だと6Fになりやすいので、いちいち個別の発生を覚えておかなくてもだいたいどうにかなるし、攻略上しゃがみステータスの有無が気にされることもあまりなかったりする

ジャンプステータス

 ジャンプステータスは、下段攻撃(特殊下段判定を含む)と投げ(空中投げは例外)を無効にする特殊パラメータで、このステータスの発生中は、下段攻撃と投げを完全に無視することができる。また、ジャンプステータス中に相手の攻撃がヒットすると、空中やられになる。
 よく似たパラメータに空中判定というものもあるが、こちらはジャンプステータスの「下段攻撃を無効にする」効果が存在せず、下段攻撃でもヒットさせることができる。
 古典的な調査方法も、しゃがみステータスと同じく、攻撃のヒット or ガード直後のフレーム硬直差のある状況で、相手側が下段攻撃を出し、自キャラに下段攻撃が当たらなくなるタイミングを探す。


 コマ送りで確認する場合は、しゃがみステータスの発生と同様、「状態:空中」と表示される1F前が発生タイミングとなる。また、白文字の「空中」ではなく、青文字の「空中」で確認しよう。白文字の方はジャンプステータスではなく、空中判定の発生タイミングとなっている。

 実は、コマ送りの解析は、古典的な方法に比べて一長一短だったりする。なぜなら、『発生の調査:ジャンプ技』の項でも解説したが、方向コマンドに対する攻撃ボタンの遅れに生じて発生タイミングにずれが生じる『ジャンプキャンセル』という厄介なシステムがあるため。正確なジャンプステータスの発生タイミングを確認するためには、録画時に要素と攻撃ボタンのジャスト入力を成功させる必要がある。
 ちなみに古典的な方法の場合、ジャンプ技の入力は先行入力が可能なのでこの問題は発生しない(先行入力だとジャスト入力が成立したのと同じ状態で技が発生する)。

 また、たいていの技のジャンプステータスは発生9Fに設定されているので、正確な値がわからない場合は参考にしよう。

無敵ステータス

 無敵ステータスは、全ての攻撃判定を無視できる特殊パラメータ。全キャラ共通コマンドの壁上り反転攻撃(壁を背負った状態で)など、ごくごく一部の技にしかない。
 無敵ステータスは表示の優先度が低く、空中などの他のステータスが発生中は、無敵ステータスが発生していても表示の確認ができないので注意。その場合の調査方法は、ひたすら無敵があるタイミングに攻撃を重ね続けた動画を録画&再生し、フレームを埋めることになる。
 ちなみにこの記事作成中、他のステータスなしに、単独で無敵ステータスが発生する技は存在していない。
 動画内、仁が壁上り反転攻撃中に、デビル仁の雷紅昇波()がヒットしている状況だが、仁側は壁上りモーション中に無敵があるため、最初は雷紅昇波が素通りし、無敵ステータスが途切れた途中から持続がヒットしている。フレーム情報の状態の表示は「空中」が優先されるため、無敵ステータスは発生しているが「無敵」の表示はない。