タッグ対応

昨日、AIのタッグ対応を試作してみた。
具体的に言うと、AIが基本的に参照している相手が「最も近くに居る敵(Enemynear)」であるが為に、
タッグ時に既に倒されている相手の傍で動かなくなってしまう現象の改善。
かなり大雑把でいい加減なものだったのだが、一応それっぽくは機能している模様。
一番理想の形は

  • 「最も近くに居る敵」の状態を調査。
  • 倒されている等で狙うべきで無い場合は次の「最も近くに居る敵」を調査。
  • 狙うべき敵が見つかるまでループ。
    • 最大はNumEnemyで取得出来る「敵の数」まで。

なんだけれど。AIが記載されているState-1ではループを記述する術が見つからない。
なので、ひとまずは同じ記載を4つばかりコピペしてNumEnemy=4までは対応出来るように作ったのだけど、
やっぱりこれだとちょっと不徹底で落ち着かないな。
更に言うと、「狙うべきで無い」と言ってもその辺の判断は本当は技毎に違っているんだけど、
まあそこまでは徹底しなくてもいいかな。


現状では「倒されている(Alive=0)」「敗北後ステートにいる(StateNo=5150)」の両方を満たしている相手を無視するようにした。
Alive=0だけにしていないのはAlive=0のまま動き回る、通称ゾンビに反応するため。
……あー、でもよく考えたらほとんどすべての技にはEnemynear,Alive!=0が入っているから反応出来ないか。
ゾンビは無視するかなぁ。
むしろ技からEnemynear,Alive!=0を抜くべきという気もしてきたが。
下手に抜くと死体殴りをしてしまうけどRoundState=2(試合中)も入ってるからタッグでなければ大丈夫か。
タッグなら敵が残ってる筈だから前述のシステムに引っ掛かって無視する様になる筈だし。


ちなみに、敵本体だけを目標にすることは可能ですがしません。むしろその方が楽ですがしません。
ブラッキーのあやしいひかりには引っ掛かるべきでしょう……?


あと、システムヘルパーが倒された後に他の人に迷惑かけてるっぽいことに気付いたのでなんとかしたいところ。
もみもみのシステムヘルパーはプレイヤー型なので敵と認識されてしまうわけで。
戦闘中はもみもみと状態をリンクさせているので影響は最小限になっていると思うんだけど、倒された後の処理は忘れていた。
本体がAlive=0になったらDestroySelfで消滅するか。
しかし動画で不具合見かけなかったということは、動画に出てるキャラのAIはみんなよほど出来がいいということなのだろうか……


まあ、なにはともあれ、気に入らない物をそのまま出すのも精神衛生的によくないので、
久しぶりにあれこれ改善に励んでみましょうかね。


え、制作動画?
……うん。そうね。