日記/2014-04-07
2014-04-07 (月) 21:04:51
ホムAI:範囲攻撃オートスキルについての考察†
あ〜。とりあえず、友瀬のエイラも121になり、ゼノスラッシャーを覚えました。
現状のリリース版Glenelgで手動射撃テスト済み、OKとなっています。
で、そのあたりを踏まえて、表記そんな感じ。
[+]→続きを読む。
[-]
単純に使うこと自体は、何の問題もないのですが。
その使用条件に悩んでいます。
全般的に、戦場状況監視が必要なのです。
- 数と強さとの兼ね合い。
- ものすごく簡単に言えば、
「1体相手に範囲攻撃する理由はない」。
「雑魚ならたくさんためて、強ければそこそこの数から使いたい」。
じゃあ、どう判断する? - Glenelg では、強化スキルで「周囲の脅威度の合計」で判断する仕組みを作った。
一応それを使うことはできる。 - 例えば「合計20以上」に条件を設定すれば。
標準的な敵(優先度5)なら4体以上。
雑魚(優先度3以下)なら、7〜20体ためられる計算。 - ただ、この仕組みだと強敵への感度が鈍い。
もう少し調整が必要かも。
- ものすごく簡単に言えば、
「1体相手に範囲攻撃する理由はない」。
- ラウレル(マジシャンDop)のような「巻き込みたくない」敵もいるので、
「これがいたら範囲攻撃しない」というような仕組みもあるべき。
- 仕組み自体は至極簡単。
単純に「これは対象外」という情報さえ持たせれば、範囲内にいる・いないチェックするだけ。 - ただ、これはいわゆる優先度とは相反する部分があるので、
既存設定項目の流用ではダメ。
以上設定を増やすのは、正直嫌な感じ。
- 仕組み自体は至極簡単。
- 属性に起因する振る舞い。
- ゼノスラッシャーは「高倍率x無属性」「並倍率x風属性」を切り替えられる。
ダメージ倍率的に、「水属性の敵には風モード」「それ以外には無属性」と使い分けたい。 - 同じ特性を持つイレイサーカッターの場合、対象が単体ということもあり
「敵ごとに使用するレベル(==モード)」を変更指定できる。
だがゼノスラッシャーは範囲攻撃なので、単体モードで判断しづらい。 - ゼノスラッシャー独自で、判断処理を作るか?
イレイサーカッターの設定に基づいて、 範囲内にいる敵ごとの設定を見て、より多いタイプの属性にあわせる。
ただし優先度が高い敵がいれば、そちら側に傾ける。
・・・など。- 正直めんどくさいので、固定で妥協したいところ。
- ディータにも似たような話あり。
基本的に「なんでも火属性」のディータでは、そもそもスキル使用したくないケースもあるのでは。
例えばトール火山のような「全部火の敵」など。
- まあ、そんな場所にディータで行くか?という前提もあるにはあるけど。
- ディータのケースの場合、判断もいくつかありうるのが悩ましい。
「効きづらいから、がんがん撃って手数で補おう」
「効きづらいから、SP節約のために使わずにいよう」
「一部敵には効かないけど、効くのも混ざっているから使おう」
など。
- ゼノスラッシャーは「高倍率x無属性」「並倍率x風属性」を切り替えられる。
- 範囲攻撃の横殴り対策が必要。
- ゼノスラッシャーは 9x9セル == 起点から4マスはなれたところまで攻撃する。
そのため「4セル以内で他キャラが戦っていたら、使わない」処理を含める必要あり。
- ゼノスラッシャーは 9x9セル == 起点から4マスはなれたところまで攻撃する。
- 手動でとめる仕組みを作るべきか。
- ここまでにいくつか挙げたように、範囲攻撃を「止めるべき」ケースはある。
- 理想論的には、「これは巻き込むから止める」とAIに判断させるべきだが。
一概にそう判断するのが難しいケースもある。
その場合の緊急停止機能は欲しい。 - 従来もこの手の課題はあったが、いずれも「対単体」だったので。
「敵ごとの個別学習」「ALT_Tで強制非戦闘状態」「直接敵指定で対象変更禁止に」という停止手段で対応できた。
だが範囲攻撃を使いたい==乱戦状態では、上記では対応しきれない。
ご意見などがあれば。
Link: 日記/2016-06-26