モンスターの行動の検証方法について

プレイヤーやモンスターの行動の検証は基本的に録画した動画を確認して行っています。

具体的には、まずプレイ動画を録画し、録画した動画を手動コマ送りで1フレームずつ動きを追っていきます。録画ツールはNVIDIA GeForce Experience を利用しています。録画した動画をコマ送り再生で検証したり、アップロード用に動画を編集したりする為の編集ソフトはAviUtlを利用しています。

コマ送り再生の際は30fps(1秒間を30枚の静止画に分割して描写)で見ていますので1フレームが約0.03秒、つまり0.03秒ごとに画面上の描写の挙動を追っていく事ができます。

こうして見ていく事で、例えば

モンスターから攻撃を受けてダメージを受けた際は、まず右下の顔アイコンのところのHPの数値が減少し、その1フレーム後に画面上の描写でダメージ表示が出る。というような事がわかります。

他にも自分が敵の攻撃を受けて死んでしまった場合は、敵の攻撃が発動した瞬間に自分のコマンドが消滅し、そのあと少ししてから右下の顔アイコンのHPが0になり、その1フレーム後にダメージ表示の描写が出るというようなことも分かります。

ただし、アイコンのHP減少や画面上の描写はラグによって数フレーム程度ズレる事があります。ダメージを受けた際に同時にサポート仲間がバフ行動や回復行動を行っていたり、敵味方関係なく同時に複数の行動が発生していたりすると描写が遅れ、正確な技の発動の瞬間の特定が難しい事があります。

行動の重なりによる描写の遅れ以外にも、単に回線やPC環境の問題やゲームサーバの混雑などが原因でラグが発生してしまうこともあります。

そのため、「ターンエンドはげしいおたけび→ターン頭の通常攻撃」、というような流れや、「AI1回目通常攻撃ダメージ発生→自分のコマンド消滅→AI2回目通常攻撃ダメージ発生」という流れなど、同じ流れの行動を何度も受けてそれを確認する事で、できるだけ正確な時間を把握するように心がけています。

モンスターの基本ゲージは、ターンエンドからターンエンドまでの時間と、AI複数回行動を行った時の時間を比べるなどする事でわかります。

まずターンエンド行動発生の瞬間から次のターンエンド行動発生の瞬間までを何度も録画しコマ送り再生して時間を確認します。

例えばノーマルドラゴンガイアの場合、ターンエンド通常攻撃のダメージ発生描写から次のターンエンドの通常攻撃ダメージ発生描写までの秒数はちょうど25秒です。もちろんラグ等により誤差が出ることもあるのですが特に遅れもラグもない時には大体誤差0~2フレーム程度で安定して計測する事ができます。

(モンスターが特技を使った場合は、モンスターの頭上に吹き出しが発生しますが、通常攻撃の場合は吹き出しが発生しないので、一時的にダメージ数値の描写が発生した瞬間を起点と終点として利用します。通常攻撃の正確な発生の瞬間は後で割り出します)

この秒数を現状確認できている仕様を元に分解していきます。

25秒のうちの15秒はターンエンドゲージですから、まずこれを省きます。残った10秒の内訳は、基本ゲージのチャージ分+通常攻撃の準備時間+通常攻撃の硬直時間です。

通常攻撃の発動準備時間は0秒なのでここから省くことが可能ですが、計測方法がダメージ描写発生からダメージ描写発生までなので現時点では一応含めて残しておきます。

次にAI1回目の通常攻撃ダメージ描写発生からAI2回目の通常攻撃ダメージ描写発生までの時間を計測します。

AI複数回行動は即座に基本ゲージをチャージしなおして次の行動を行うという特性がありますので基本ゲージの長さを調べるのに役立ちます。

AI1回目通常行動→即座にAI2回目通常行動という流れではトータル時間が4秒です。これは先ほどの10秒から基本ゲージをためる動きを省いたものなので、基本ゲージは6秒であることが分かります。

・ターンエンド通常攻撃から次のターンエンド通常攻撃までが25秒

・基本ゲージ+通常攻撃の準備時間+通常攻撃の硬直時間が10秒

・通常攻撃の準備時間+通常攻撃の硬直時間が4秒

・基本ゲージが6秒

ここまでわかりました。

基本ゲージの秒数が分かることで発生頻度の低い特技などの準備時間や硬直時間も割り出していくことができます。

AI1回目もえさかる炎の吹き出し→AI2回目ターンエンド通常攻撃のダメージ表示という流れにかかる時間は23.00秒です

モンスターの吹き出しは基本的に基本ゲージをためきった直後、本決定が行われた瞬間に表示されます。(ターンエンドならエンドゲージが満了した瞬間)ですので23.00秒の内訳は

もえさかる炎準備時間+もえさかる炎硬直+ターンエンド通常攻撃のダメージ表示までの時間の合計であることが分かります。

このあたりで通常攻撃の発生の瞬間からダメージの描写までの時間も特定しておきます。HPを瀕死の状態にし、通常攻撃をくらい死ぬ場面を見ていきます。死ぬと開いていたコマンド選択画面が消える仕様を利用します。

通常攻撃を受けて自分のコマンド表示が消える→ダメージ表示の描写までの時間を何度も計測します。自分のコマンドが消える=敵の行動の準備時間が終わり技が発動した瞬間です。

計測を重ねると、コマンド表示が消えてからダメージ描写までは0.8秒である事が分かりました。これで技名の吹き出しが出ない通常攻撃も、ダメージ描写から逆算することで正確な発生時期をつかむ事ができました。

通常攻撃の発生ポイントが割り出せたので、先ほどのもえさかる炎の流れをもう少し細分化することができます。

もえさかる炎準備時間+もえさかる炎硬直+ターンエンド通常攻撃のダメージ表示までの時間が23.00秒でしたが、ここから0.8秒をカットし

もえさかる炎準備時間+もえさかる炎硬直+ターンエンド通常攻撃発生までが22.20秒となります。

通常攻撃は発動準備時間が0秒、ターンエンドゲージが15秒なのでこれも一緒に省きます。これでもえさかる炎準備時間+もえさかる炎硬直が7.20秒というところまでわかりました。

今度はもえさかる炎の吹き出しが表示されてから、もえさかる炎を受けて死亡しコマンドが消滅するところまでを計測します。

もえさかる炎と吹き出しが表示されてからコマンドが消滅するまでの時間は2.4秒です。これでもえさかる炎という技の準備時間が2.4秒、硬直時間が4.8秒(7.2-2.4)とわかりました。

同様に、はげしいおたけびなど他の技についても、吹き出し表示発生のタイミングから、その技を受けて死亡しコマンドが消滅した瞬間までの時間を計測することで、その技の準備時間と硬直時間を調べていきます。

それぞれの技の発動準備時間と硬直時間は以下です。

通常攻撃 準備時間0秒、硬直4秒

はげおた 準備時間3.6秒、硬直3.9秒

もえさかる炎 準備時間2.4秒、硬直4.8秒

竜眼 準備時間と硬直時間の合計が5秒

※竜眼はダメージを受ける技ではないので準備時間と硬直時間の境目を見つけるのが難しく、またそれを把握しても今回の検証には特に役立たないので見送りました。一応、竜眼の表示が出た後にAペチを差し込んでミスになるポイントと、ダメージが入るポイントの境目を探す、などすれば特定は可能なはずです。

こうして割り出したモンスターの各攻撃の準備時間と硬直時間やゲージの動きが、メモしたタイムテーブルと整合性が取れているか?おかしい挙動の部分はないか?など確認し、問題点が見当たらない事を確認してから動画の編集作業に入ります。

動画はAI複数回行動の理解をテーマに編集していますが、主にゲージの表現の部分で完全に再現しきれているわけではありません。特に相撲ゲージの部分は検証が難しかったり、このブログのようなアナログな検証方法には限界がありますので、ゲージの動きについては多少推測を含めての表現になります。

とはいえ、AI複数回行動を理解するうえで判明している仕様と照らし合わせてできるだけ正確性を損なわないように、また視覚的、感覚的に違和感を持ちにくいようにはやってみました。動画の編集自体はじめての試みで、まずは使い方からググりながらの手探りでの作成ですので、見にくい部分もあるかと思いますがご理解いただければ幸いです。

336280
336280

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

336280