ドラゴンの戦闘AIについて

こんにちは、yousukeです。
気が付いたら前回の更新から10日が過ぎていました。
時間が経つの早すぎです・・・。

さて、今回は私がMod製作過程で学んだドラゴンの戦闘AIについていろいろまとめてみました。

所詮、備忘録のようなものなので興味ない方はスルーして下さい。


まずドラゴンの戦闘中の挙動について、皆さんは何を思い当たりますか?
飛び回ってブレスを吐き、時折降りてきて攻撃してまた飛び上がる・・・まあこんな感じですね。
あと地上での挙動はだいたいが「シャウト→噛み付き→シャウト」といった感じのルーチンになっています(ただし噛み付きが届く距離に限る)。
ターゲットが横や後ろに来た時はそれぞれ翼や尻尾で攻撃します。
使用シャウトのチョイスは近、中距離にてブレス系、遠距離でファイアボールのような単発系を使ってきますね。
例外としてDLC追加ドラゴンが使ってくる「生命力低下」は先ほどのパターンには当てはまりません。これについては後ほど解説しましょう。

それで、使用シャウトの選択理由の一つにProjectileの距離があるのですが・・・(Projectileとは矢とか魔法とかの弾のことです)
画像No.1
combataiimage01.jpg
---ブレス
画像No.2
combataiimage02.jpg
---ファイアボール
ドラゴンが使用する魔法(シャウト)のProjectileの設定はこのようになっています。
基本的にはブレスを優先して使うのですが、ブレスの射程距離圏外の対象にブレスを使っても意味が無いのでその場合はファイアボールを使う・・・という感じで基本的な使い分けはしているようです。

画像No.3
combataiimage03.jpg
画像No.4
combataiimage04.jpg
これはブレスとファイアボールのSpell設定画面です。
若干ファイアボールが高いですが、ほぼ威力は同じですね。
同威力だったり、ファイアボールのほうが高威力でも差が微妙だったりするとブレスを優先するようです。(もしかしたら有効時間も関係しているのかもしれません)
しかし、例えばファイアボールの威力をブレスの2倍とかに設定すると、今度はどの距離でもファイアボールばかり使うようになります。


なんで優先度にそんな差ができるのかというと・・・画像No.3、No.4の赤枠内のCasting属性が、
ブレスは"Concentration"、
ファイアボールは"Fire and Forget"になっているからだと思われます。

どうやら戦闘AIは"Concentration"属性の攻撃の射程内だとこちらを優先的に使用する傾向にあるようです。
なので例えば「ライトニングテンペスト」のような長射程のConcentration属性の魔法を覚えさせた場合は、特別な設定をしない限り攻撃はほぼこの魔法ばかり使うでしょう。

ちなみに同系統の魔法を複数覚えている場合は、対象の耐性などに応じて有効と判断したほうを使うようです。
例を上げるならアルドゥインは炎と氷の両方のブレスを覚えており、攻撃対象の耐性に応じてこれらを使い分けます。
ただし威力が同じ場合に限りますが・・・。

それで話を戻しますが、Self(自分に掛ける)タイプの魔法の中でもフレッシュ系やマント系魔法は効果が切れている場合、最優先で使用する傾向にあるようです。
さらに召喚系も同じように効果が切れるたびに優先して使用します。

ちょっと例外と言えるのがパラライズやディスアームといった特殊な性質を持つ魔法で、これらは状況を見て使っているようです。
・・・いや、多分ランダムに使っているだけなんだと思いますが・・・。
ドラゴンに氷晶や武装解除のシャウトを覚えさせると、あまり偏らずに適度にこれらを使ってくれます。

これでひとまずは使用魔法の傾向の説明はできたかな?「よく分からん」という場合はご指摘下さい、書き直します。
こういうのを上手くまとめるのは何だか苦手です(汗)。

ああ、それと表記が「魔法」だったり「シャウト」だったりぶれてますけれど、一応設定的にも内部データ的にもシャウトは魔法扱いなので、ここでは基本的に同じものとして扱ってください。
ただドラゴンは普通の魔法は使えないので注意、普通の魔法を改めてシャウトに設定する必要があります。


さて、いろいろAIが使用する魔法のチョイスについての解説をしましたが、これまで書いた性質をある程度無視して魔法を使わせることができる方法がいくつか存在します。
それが"Script AI Effect"というMagic Effectなのですが、これは要するにMagic EffectEffect Archetype(Nameの下にあるやつです)が"Script"になっている魔法効果のことです。
画像No.5
combataiimage05.jpg
これは「生命力低下」シャウトに使用されているMagic Effectですが、だいたいCasting Time欄に設定された時間ごとにこの魔法効果が設定された魔法を使用するようです。
実際のところ、上の画像のように設定すれば名前は何でも良いですのでわりと応用が利きます。

この設定は「生命力低下」や「メテオストーム」シャウトに見られ、これらのシャウトを例外的にドラゴンがチョイスする理由となっています。
画像No.6
combataiimage06.jpg
生命力低下の設定(プレイヤーが使うものとは違います)
画像No.7
combataiimage07.jpg
メテオストームの設定

ただし、この"Script AI Effect"を設定した魔法を複数覚えさせても上手く使い分けてはくれません。
設定次第では2つか3つくらいなら使ってくれることもありますが、基本的には1つにしといたほうが良いでしょう。
画像No.5の赤枠内のScoreという数値がおそらく使用優先度を示していると思うので、この数値をうまく調整することで使い分けさせることはできます。
まあ、このあたりは要検証ですね。
私もあまり理解できてません。


続いては実際にドラゴンに様々なシャウトを覚えてもらいましょう。
画像No.8
combataiimage08.jpg
これはドラゴンがバニラの状態で覚えている魔法やシャウトです。
"DragonFireBreathShout01"はブレス系の攻撃で、一番使用するやつですね。
"DragonFireBallShout01"は単発系の遠距離攻撃で、ブレスが届かない距離にて使用します。
"AbDragonFire"はドラゴンが有する能力となります(炎に強いとかそんな感じのやつです)。

画像No.9
combataiimage09.jpg
では、試しにこのテスト用ドラゴンの"Doracon"君に「揺ぎ無き力」と「ファイアストーム」を覚えさせて使わせてみましょう。
画像No.10
combataiimage10.jpg
画像No.11
combataiimage11.jpg
まずは上の画像のように揺ぎ無き力はプレイヤーの使うそれをコピペしたものを、ファイアストームは同名の達人魔法をコピペしたもの(ただしPerk関連のMagic Effectのみ外してあります)をシャウトとして覚えさせてみます。
画像No.12
combataiimage12.jpg
画像No.13
combataiimage13.jpg
このように設定してテストしてみましょう。

結果がこれです。

まず、プレイヤーの近接が届く距離では「揺ぎ無き力」の頻度が高すぎます。これはかなりイライラさせられますね。
そしてせっかく設定した「ファイアストーム」は使ってくれません。


改善しましょう、「揺ぎ無き力」を高頻度で使用されると困るので"Script AI Effect"を設定します。
画像No.14
combataiimage14.jpg
これで適度に揺るぎ無き力のシャウトを使用するようになります。

続いては「ファイアストーム」ですが、こういった範囲系の魔法は自身にかけるSelf系の魔法という扱いなので、これを利用しましょう。
Cloak(マント系)の魔法は同じSelf系魔法でかつかなり優先度が高く、効果中以外は真っ先に使用します。
つまり、範囲系の魔法の使用頻度を決めることができるわけです。
こういった魔法は連発されても鬱陶しいだけですからね。
画像No.15
combataiimage15.jpg
まず"DummyCloak"なるCloakMagic Effectを作成します。
名前はわかりやすければなんでも良いです。
この"DummyCloak"は実際には何の効果も持っておらず、ただの飾りです。

しかし、これを設定することにより、AIは「この魔法はまだ効果時間中だから使えないな」と判断し、効果が切れると「これは自己強化魔法だから早く使わないと」と判断するわけです。
ようするにAIを騙している訳ですが、この手法はわりと使えるので便利です。
画像No.16
combataiimage16.jpg
ファイアストームのSpell設定をこのようにします。
これでファイアストームを発動した後、DummyCloakの有効時間中はドラゴンはこのシャウトを使用しなくなります(今回はDummyCloakの有効時間は30秒に設定しました)。

改善後の動画がこれです。

上手いこと色々なシャウトを使用してくれています。
まだ改善点はありますけれどね、例えば空中でファイアストームを使わなくするとか・・・一応設定次第でできますが、今回は省略しときます。


以上で終わりです、このようにスクリプトやクエストなどを使わずとも工夫次第で様々な魔法を使わせることができるのです。
今回はドラゴンを中心に書きましたが、こういったAIの癖は他のクリーチャーにもある程度、応用を効かせることができると思います。

疑問点や間違っている点の指摘等はコメントまでどうぞ。
スポンサーサイト

コメント

非公開コメント

プロフィール

yousukeVE

Author:yousukeVE
TESV:Skyrimのプレイヤーにて大のドラゴン好きのyousukeVEと申します。
ちなみに読みは「ようすけ」じゃなくて「ゆーすけ」です。
最後の"VE"は別に読まなくていいです。

最近はFallout4に浮気気味。

生態:主な活動時間は午後6時から午前0時前後。(日曜、祝日を除く)

Nexusにて"yousukeve"の名で自作Modをアップロードしてます。

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR