課題1:大前提:使用できるスキル †
先日の日記にも書いた件。
おそらく、Sホムの『前世』、言い換えると『前世から引き継いだスキル』を、AIが簡単に知る/推定する方法はない。
いちおー、がんばればまったく不可能というわけではない:
起動直後に『スキル判定モード』にして、従来ホム固有の対象不要スキル使用→SP減少するか否かを観測。
それを繰り返していけば、確認はできるだろう。
ただ、ゲーム上1回やれば十分な処理に、そんな手間をかけるのは面倒くさい。
iniファイルを簡易的にいじってもらうしかないかな、と思っています。
そろそろ本格的に、クライアント外での設定アプリを作るべきかもしれん。
課題2:そもそも自動化するスキルは何か。 †
従来ホムからの本質的な課題。
AIからスキルを使用することができると言っても、ホムが知覚できる事象は少ないので。
必ずしも、AIから自動実施する必要がないケースは多々あります。
以下、気になる要素を列挙。
- 単体攻撃スキルを複数種類持つケースがある。
- 従来ホムでは、選択の余地は「使う/使わない」だけだった。
複数種を持つ場合でも自動化することが可能だが、『何を使うか』に頭を使う必要がでてくる。
- バニル→エイラでは、『カプリス or 無属性イレーサーカッター or 風属性イレイサー』の選択肢がある。
少なくとも『水属性の敵には風イレイサー』『風属性には無属性イレイサー』と使い分けたいだろう。
- セラは、そもそも『ニードルオブパラライズ』『サモンレギオン』という2つの単体攻撃を持つ。
- Glenelgの場合、もともと『敵ごとに使うスキルレベルを指定する』仕組みは持っている。
これを応用すれば、使うスキルを敵ごとに変えることはそれほど難しくない。
- コンボ/連携前提のスキル。
- 一種のブーストスキルと見れば、フィーリルのフリットムーブには通じる。
Glenelgでは周囲の敵の脅威度x数を元にブーストする仕組みがある。
その意味で、自動化は可能。
- バイエリのゴールデンペルジェ&シュタールホーンは、まさにフリットムーブ&ムーンライトに近い。
- ゴールデンペルジェを使わずに戦いたいケースがあるのが、自動化の課題。
例えば、聖属性の敵が多いマップ。
- エレノアのスキルは、モンク的なコンボ。
フィーリルと異なり、『決まった順番に使わなけらばならない』というのが相違点。
- エレノアの場合、まさに『機械的に連鎖』させていくものなので、AIからコントロールすべきだろう。
- ただし、ファイタースタイルではコンボさせずにソニッククローを使い続けるという選択もある。
- 範囲攻撃各種。
オートスキルとして使ってよいか。
- 基本的には、周囲に敵が多いときに、カプリスと同じ感覚で使ってよいはず。
- 『他の火力スキル』がある場合、切り替え検討が必要。
例えばエイラの場合、対単体ならイレイサーカッター、敵が3体以上いたらゼノスラッシャー、というように考える余地があるはず。
- 範囲内にいる敵の種類・脅威度によって、考えなければならないケースもある。
- 例えば自分の周囲に『優先度6の風Mob1体』『優先度4の水Mob4体』がいたら。
ゼノスラッシャーを風属性で撃つか、無属性で撃つか、考える余地があるはず。
たぶん優先度x個体数でバランスを見るなどして。
- 例えば『怒らせたくないラウレル==マジDop』がいたら、範囲攻撃は撃ちづらい。
- 射程の扱いも課題。
- エイラのゼノスラッシャーやディーターのラーヴァスライド、セラのポイズンミストは、基本的には『囲まれている自分orボスを中心に』使えばいいだろう。
遠距離の敵の塊に、という使い方は考えづらい。
- 問題はディーターのボルカニックアッシュ。
PCを範囲にいれないように、敵だけを範囲に入れる必要がある。
『背後サンクチュアリ』的な使い方になるので、距離感が必要。
- リスクのあるスキル。
リスクというか、コストというか。
- 基本的には、AIからは使用しない方針。
従来も『好感度を消費する奥義スキル』『薬品が必要な癒しの手』は自動化していない。
- Sホムには、このカテゴリのスキルが存外多い。
- ディーターのパイロクラスティックは『ブースト終了後、ボスのHPと武器にダメージ』。
前述のボルカニックアッシュも、ボスの行動範囲を狭める意味でリスクあり。
- エイラのオーバードブーストは、空腹度消費==餌代ダメージ。
サイレントブリーズも『HP回復しつつ沈黙させる』メリット/デメリットの両方を持つスキル。
- セラのペインキラーは、味方に強力なダメージ減少を付与する代わりにASPDを落とさせる。
殲滅力下がるので、リスクといえばリスク。
- このコストには、ホムが知ることができないことがある、という課題もある。
癒しの手での赤スリム有無がわからない、に通じる。
- エレノアのコンボは気弾を必要とするが、エレノア自身がまとっている気弾数を認識できないのでは。
- エイラは空腹度を消費するが、自分の空腹度状態はわからないだろうし、ボスの餌在庫量も知らない。
課題3:クールタイムとディレイの分離管理徹底
ディレイ: スキル使用後一定時間、『すべてのスキル』が使用禁止。
クールタイム:スキル使用後一定時間、『そのスキル』が使用禁止==他のスキルは使用できる。
現在の従来ホムスキルは、ディレイで管理されているらしい:
例えばフリットムーブを使用すると、しばらくの間 フリットムーブはもちろんムーンライトも使用できないことになる。
これはR化で変わった要素と思われる:
友瀬の掲示板でも、フリットムーブとムーンライトが併用できていたっぽい書き込みがある。
ともあれ、現状の Glenelg では、ディレイ扱いでの仕組みしかない。
エイラもブーストスキルを持つため、クールタイムの仕組みは要実装。
・・・ちなみに、ブーストについても課題2のような話は起こりうる。
ただ、現時点では保留。
なにしろ『バニル→エイラ』ではブーストは1つしかないので。
課題4:自爆防止。
セラのサモンレギオン。
自分が召喚したレギオンを、敵でないように扱う仕組みがいるのでは。
まあこれはやるだけ、だけど。
ご意見などがあれば。
- もういちどテスト。 -- ともせ%管理人。
- スパム対策テスト。 -- ともせ%管理人。?
- And to think I was going to talk to someone in preson about this. -- Luanynha?
以下、変更概要。
課題1: テレポ狩りでの手間。 †
手加減モードは、Glenelg の命令モードで設定します。
格ゲーコマンド的に書くと『5→3』の2ストロークで設定できます。
が、この設定は外部ファイルに記録されているわけではないので、AIリロード:テレポやマップ移動、再コール、リザホムでリセットされます。
つまり、これらの事象が発生するたびに、設定操作しなければならない。
特にテレポについては、テレポ狩りの性質からいって困る。やっていられない。
これはよろしくない。
解決策: AIカスタマイズ項目に、『手加減モードデフォルト』のスイッチを置く。
課題2:討伐対象以外の敵への対処。 †
もともと手加減モードは、ホムがJobを『食いつぶす』ことから、『共闘だけを入れる』ことを前提にしていたもの。
結果、すべての敵に対して、手加減動作しています。
だが、討伐クエストによって新しい考え方が発生しました:
討伐クエストで得られる経験値が圧倒的に多いので、余計な敵にかける時間があったら、討伐の数をまわしたいというもの。
別の言い方をすれば、『ケミがとどめを刺さなければならない対象』以外は、無視または手加減せずに倒す、ということ。
無視することは、単純に優先度を下げてしまえば対応できるので。
逆に、無視できない==がんばって倒すケースに対応します。
解決策: AIカスタマイズ項目に、『手加減する敵の優先度』を設定。
指定された優先度以上の敵に対しては、手加減をしないようにする。
本質的には敵ごとに『手加減する/しない』設定をすればいいが、そこまで設定するのも面倒なので。
簡易的に『無視/後回しにするのはやっかい』な敵は、先に・全力で潰す、という考え方。
これに基づき、優先度7以上(他の敵と戦っていても、優先的に倒すようにする敵)を、デフォルト範囲とする。
が、討伐対象のほうがやっかいな可能性があるので、この範囲をカスタマイズできるようにしておく。
その他、細かいフォローを行いました。
- メカニックのFAW を攻撃対象外に。
- チャットコマンドの敵への対処方法設定において、名称ではなくIDでの指定を許可。
- 例えば『!優先度 ポリン 5』は、『!優先度 1002 5』でもよい。
- ID⇔敵名称のテーブルを更新していくことも可能なのですが、それだと新しい敵が出てきたときに対処に手間がかかります。
Glenelgでは、普通の学習操作をすることで状態ウィンドウに『敵のID』が表示されるので、
それに基づいてチャットコマンドを操作できることになります。
- 要は、メンテナンスフリー性を上げたわけです。
友瀬がAIをアップデートしなくても、新しい敵に対して名称指定ができるのです。
- chat.lua に補足説明追加。
- ROクライアントで会話ウィンドウが複数表示できるようになったため、監視対象のウィンドウを指定することにします。
ご意見などがあれば。
ポイントになるのは以下の仕様:
ホムSに変異させるに際して、『どのタイプのホムSになるか』をユーザーが選択できる。
この選択には、変異前のホムのタイプは関係なく。
そしてそのホムは、変異前にすでに持っていたスキルと、ホムSでのスキルの両方が使える。
これの何が問題かというと。
従来、ホムがどのようなスキルを使えるかは、ホムの種類によって判断していました。
バニルならカプリスを使えるとか、フィーリルならムーンライトとフリットムーブとか。
でも、ホムSではこれが通じなくなります。
例えば、バニルをネコに変異させると。
そのホムは、『バニルのカプリス』と『ネコのソニッククロー』を両方使える。
同様に、フィーリルをネコに変異させると。
そのホムは、『フィーリルのムーンライト』と『ネコのソニッククロー』を両方使える。
『前世での種族』みたいな情報が別途とれるといいんだけどなぁ。
そういう情報がなかったら、ユーザー操作で指定するようにしないとダメなので、面倒。
ご意見などがあれば。