日記/2012-10-23
ホムAI:Sホム対応検討、その1。†
情報源は主にアルケミwiki。
Sホムの仕様を見ていると、気になることはいろいろあります。
まあ、以前から宣言している通り、Glenelgの開発ポリシーは『友瀬が使いやすいように』というもの。
ですから、思いついた課題類はあっても、まずは友瀬が選んだ組み合わせについてを優先的に対処。
それ以外については、そもそも対応しない可能性があるということは、ご承知置きください。
あ〜。ちなみに Glenelgは『バニル→エイラ』予定です。
ともあれ、ホムAI作者それぞれに影響はあると思うので、気づいた影響についてはざっくりメモします。
課題1:大前提:使用できるスキル†
先日の日記にも書いた件。
おそらく、Sホムの『前世』、言い換えると『前世から引き継いだスキル』を、AIが簡単に知る/推定する方法はない。
いちおー、がんばればまったく不可能というわけではない:
起動直後に『スキル判定モード』にして、従来ホム固有の対象不要スキル使用→SP減少するか否かを観測。
それを繰り返していけば、確認はできるだろう。
ただ、ゲーム上1回やれば十分な処理に、そんな手間をかけるのは面倒くさい。
iniファイルを簡易的にいじってもらうしかないかな、と思っています。
そろそろ本格的に、クライアント外での設定アプリを作るべきかもしれん。
課題2:そもそも自動化するスキルは何か。†
従来ホムからの本質的な課題。
AIからスキルを使用することができると言っても、ホムが知覚できる事象は少ないので。
必ずしも、AIから自動実施する必要がないケースは多々あります。
以下、気になる要素を列挙。
- 単体攻撃スキルを複数種類持つケースがある。
- 従来ホムでは、選択の余地は「使う/使わない」だけだった。
複数種を持つ場合でも自動化することが可能だが、『何を使うか』に頭を使う必要がでてくる。- バニル→エイラでは、『カプリス or 無属性イレーサーカッター or 風属性イレイサー』の選択肢がある。
少なくとも『水属性の敵には風イレイサー』『風属性には無属性イレイサー』と使い分けたいだろう。 - セラは、そもそも『ニードルオブパラライズ』『サモンレギオン』という2つの単体攻撃を持つ。
- バニル→エイラでは、『カプリス or 無属性イレーサーカッター or 風属性イレイサー』の選択肢がある。
- Glenelgの場合、もともと『敵ごとに使うスキルレベルを指定する』仕組みは持っている。
これを応用すれば、使うスキルを敵ごとに変えることはそれほど難しくない。
- 従来ホムでは、選択の余地は「使う/使わない」だけだった。
- コンボ/連携前提のスキル。
- 一種のブーストスキルと見れば、フィーリルのフリットムーブには通じる。
Glenelgでは周囲の敵の脅威度x数を元にブーストする仕組みがある。
その意味で、自動化は可能。 - バイエリのゴールデンペルジェ&シュタールホーンは、まさにフリットムーブ&ムーンライトに近い。
- ゴールデンペルジェを使わずに戦いたいケースがあるのが、自動化の課題。
例えば、聖属性の敵が多いマップ。
- ゴールデンペルジェを使わずに戦いたいケースがあるのが、自動化の課題。
- エレノアのスキルは、モンク的なコンボ。
フィーリルと異なり、『決まった順番に使わなけらばならない』というのが相違点。- エレノアの場合、まさに『機械的に連鎖』させていくものなので、AIからコントロールすべきだろう。
- ただし、ファイタースタイルではコンボさせずにソニッククローを使い続けるという選択もある。
- 一種のブーストスキルと見れば、フィーリルのフリットムーブには通じる。
- 範囲攻撃各種。
オートスキルとして使ってよいか。- 基本的には、周囲に敵が多いときに、カプリスと同じ感覚で使ってよいはず。
- 『他の火力スキル』がある場合、切り替え検討が必要。
例えばエイラの場合、対単体ならイレイサーカッター、敵が3体以上いたらゼノスラッシャー、というように考える余地があるはず。 - 範囲内にいる敵の種類・脅威度によって、考えなければならないケースもある。
- 例えば自分の周囲に『優先度6の風Mob1体』『優先度4の水Mob4体』がいたら。
ゼノスラッシャーを風属性で撃つか、無属性で撃つか、考える余地があるはず。
たぶん優先度x個体数でバランスを見るなどして。 - 例えば『怒らせたくないラウレル==マジDop』がいたら、範囲攻撃は撃ちづらい。
- 例えば自分の周囲に『優先度6の風Mob1体』『優先度4の水Mob4体』がいたら。
- 射程の扱いも課題。
- エイラのゼノスラッシャーやディーターのラーヴァスライド、セラのポイズンミストは、基本的には『囲まれている自分orボスを中心に』使えばいいだろう。
遠距離の敵の塊に、という使い方は考えづらい。 - 問題はディーターのボルカニックアッシュ。
PCを範囲にいれないように、敵だけを範囲に入れる必要がある。
『背後サンクチュアリ』的な使い方になるので、距離感が必要。
- エイラのゼノスラッシャーやディーターのラーヴァスライド、セラのポイズンミストは、基本的には『囲まれている自分orボスを中心に』使えばいいだろう。
- 基本的には、周囲に敵が多いときに、カプリスと同じ感覚で使ってよいはず。
- リスクのあるスキル。
リスクというか、コストというか。- 基本的には、AIからは使用しない方針。
従来も『好感度を消費する奥義スキル』『薬品が必要な癒しの手』は自動化していない。 - Sホムには、このカテゴリのスキルが存外多い。
- ディーターのパイロクラスティックは『ブースト終了後、ボスのHPと武器にダメージ』。
前述のボルカニックアッシュも、ボスの行動範囲を狭める意味でリスクあり。 - エイラのオーバードブーストは、空腹度消費==餌代ダメージ。
サイレントブリーズも『HP回復しつつ沈黙させる』メリット/デメリットの両方を持つスキル。 - セラのペインキラーは、味方に強力なダメージ減少を付与する代わりにASPDを落とさせる。
殲滅力下がるので、リスクといえばリスク。
- ディーターのパイロクラスティックは『ブースト終了後、ボスのHPと武器にダメージ』。
- このコストには、ホムが知ることができないことがある、という課題もある。
癒しの手での赤スリム有無がわからない、に通じる。- エレノアのコンボは気弾を必要とするが、エレノア自身がまとっている気弾数を認識できないのでは。
- エイラは空腹度を消費するが、自分の空腹度状態はわからないだろうし、ボスの餌在庫量も知らない。
- 基本的には、AIからは使用しない方針。
課題3:クールタイムとディレイの分離管理徹底
ディレイ: スキル使用後一定時間、『すべてのスキル』が使用禁止。
クールタイム:スキル使用後一定時間、『そのスキル』が使用禁止==他のスキルは使用できる。
現在の従来ホムスキルは、ディレイで管理されているらしい:
例えばフリットムーブを使用すると、しばらくの間 フリットムーブはもちろんムーンライトも使用できないことになる。
これはR化で変わった要素と思われる:
友瀬の掲示板でも、フリットムーブとムーンライトが併用できていたっぽい書き込みがある。
ともあれ、現状の Glenelg では、ディレイ扱いでの仕組みしかない。
エイラもブーストスキルを持つため、クールタイムの仕組みは要実装。
・・・ちなみに、ブーストについても課題2のような話は起こりうる。
ただ、現時点では保留。
なにしろ『バニル→エイラ』ではブーストは1つしかないので。
課題4:自爆防止。
セラのサモンレギオン。
自分が召喚したレギオンを、敵でないように扱う仕組みがいるのでは。
まあこれはやるだけ、だけど。
ご意見などがあれば。