堕落街道まっしぐら。

現在のゲームプレイ状況: アリスギア = ウマ娘 > DMMブラゲ > Crossout >> それ以外

MUGEN+++/検討タイム

イメージ 1

課題:InGuardDistが常時発揮されているタイプの設置技への対処

~ ~ ~

分かりやすくSSを撮りました。

自キャラ:ブラッディア(女レン)
AI補助ヘルパー:FAR , 62
相手設置技の判定:NIKU1 , 64

CONFIGは沙耶側のシステムヘルパー類だと思うので除外。
現状はこんな位置関係なわけです。

FARヘルパーは「InGuardDistにギリギリで引っかかる/引っかからない位置に滞在」しています。
つまりFARヘルパーからNIKU1ヘルパーまでがNIKU1ヘルパーの放っているInGuardDist圏。
この間に女レンが入るとInGuardDistに引っかかるため、後方キーを押すとガード体勢を取ります。

これをどうやってAIに判断させるか。それが問題だ。

まずはFARヘルパーの座標のみを参考に、存在時間を計測してーってやろうとしましたがダメでした。
FARは5刻みで移動を行いますが、これを含んだ範囲(Pos X = [Pos X-5,Pos X+5]とか)だと
移動分が相殺されないためにずっと計測ONになりっぱなしで意味を成しません。

また、一定時間経過で範囲内でも攻撃させようとした場合、
別の攻撃が同じ領域内に存在していたらそれをガードすることができなくなる可能性があります。

自分側から飛ばして計測だと相手のGuardDistの長さに影響されるので、
やっぱり相手側から自分側に移動させて計測した方が正確性は増すかもしれない。
Distの切れ目が対象物の中心点とも言えるだろうし。
  →
   これは別の問題が発生。
   確かに飛び道具の中心付近に張り付くことができるけど、
   スタート地点が相手キャラなので「相手キャラ本体のInGuardDist」に引っかかります。
   つまり相手キャラがMoveType != Aにならないと本来の機能を実行できない。
   さすがに誰のInGuardDistかを個別に認識はできませんしねぇ。



とりあえず「InGuardDist発生地点とキャラ本体との距離」は算出成功。
うまく使えれば飛び道具に接触する距離とか出せるかも。



++
色々と試行錯誤した結果、ひとつの形っぽい物は出来ました。
 ・待機位置は自分付近
 ・飛び道具が出たら相手に向かって移動
 ・InGuardDistに引っかかったら戻り、引っかからなかったら進む
 ・上記により「対象のInGuardDist有効圏の境界」に位置するように移動(→ガード実行圏)
 ・親を通り過ぎた上でInGuardDistが存在しなくなったらまた相手に向かう
 ・相手を通り過ぎた(InGuardDistが存在しなかった)ら計測終了
 ・6F毎に最大10個まで「自分と親の距離」を記憶、応用して移動速度をおおまかに算出
とりあえず現時点ではここまで。
最後の移動速度算出ですが「いっしょにトレーニング」の飛び道具と
荒くれさんの通常射撃で試したところ、

>いっトレ(飛び道具の速度=2.0)
変数1=100
変数2=90(差額合計10÷6 =速度1.67)
変数3=80(差額合計20÷12 =速度1.67)
変数4=60(差額合計40÷18 =速度2.22)
変数5=50(差額合計50÷24 =速度2.08)
変数6=40(差額合計60÷30 =速度2.0)
変数7=30(差額合計70÷36 =速度1.94)
変数8=20(差額合計80÷42 =速度1.90)
変数9=0(差額合計100÷48 =速度2.08)
変数10=-10(差額合計110÷54 =速度2.03)

>荒くれさん(飛び道具の速度=10.0)
変数1=65
変数2=5(差額合計60÷6 =速度10)
変数3=-55(差額合計120÷12 =速度10)

・・・と比較的近い速度を算出することができたので、後でこれを応用してみようかと。
親さえ動かなければ設置物の移動速度はかなり少ない値になるので、
これが使えれば設置物の判別あたりはできそう。



+++
眠い。眠いけど算出式と移動速度報告用変数の作成・表示確認まで出来た。後はツカウダケー?

vs設置
ものにも寄るけど、移動速度値が0=設置と判断して問題ないと思うので、
フラグが立ったら設置物前提の行動を取らせる。
 ・設置フラグON+相手の間合い外→接近は控えつつ射撃の手は緩めない
 ・設置フラグON+相手の間合い内→相手本体の攻撃である可能性が生まれたので攻撃は控える。

vs鈍速飛び道具
妥協してきたけどこれも少しは改善できるかもしれない。
 ・飛び道具が発生したら、今までで最も早い飛び道具の速度を記憶
 ・飛び道具をガードした際に補助ヘルパーとキャラ本体の距離を記憶
  (ガード実行圏から攻撃判定が到達するまでの距離)
 ・両者に余裕がある場合はガード実行圏でも攻撃を行う

とか、そんな感じ?
vs鈍速は早い飛び道具も持ってる相手だと飛び道具個別判断でもさせない限りは
手を出せないままかもしれないけど。まぁ遅い方が来たらスライディングで潜れればマシには。