Glenelg FAQ

2016-04-18 (月) 22:10:06
お名前:

FAQ:Glenelgの仕様・使い方について

以下、Q&A形式で補足などを。
より詳しいものがヘルプファイルにありますので、そちらもごらんください。

Q.1. バニル以外のホムンクルスでは使えないの?

A.1. バニル以外でも、普通に使えます。
最初期にはバニル専用だったのですが、現在では友瀬も以下の複数のホムSを使っています。見ればわかる通り、存在するホム/ホムSを網羅しており、相応に使用できるはずです。

  • バニル→エイラ
  • リーフ→セラ
  • フィーリル→バリエリ
  • アミストル→エレノア
  • バニル→ディータ

・・・以下、情報が古いので、参考までに。


Q.2. 草に対してカプリスを使わないようにしてほしい。

A.2. RO画面上で、ユーザー操作でそれを教えてあげてください(iniファイルの編集は不要です)。
具体的には・・・一度ホムに草を攻撃させて、そのまますぐ「画面右下の方をALT+SHIFT+右クリック」してみてください。
状態表示窓に「SkillRate 0 to xxxx」という感じに表示がでるはずです。SkillRateが0ならば、スキルはまったく使わなくなります。

この設定は敵ごとに行えるので、「草にはスキルを使わない」「強敵にはよりたくさん使う」というように、バラバラに指定できます。 使用率を増やしたい場合は同様に「その敵を攻撃した後」「画面右上の法をALT+SHIFT+右クリック」してください。

  • 補足
    草だけでなく、全ての敵に自動でのカプリスを使いたくない(カプリスはユーザー操作でのみ使用したい)場合は、ai_option.ini内の「ATTACK_AUTOSKILL_RATE」を編集してゼロにしてください。
    ATTACK_AUTOSKILL_RATE = 0

Q.3. アクティブ索敵だと横殴りしそう。アクティブ索敵しないようにできる?

A.3. できます。ai_option.ini中の 「IN_THRESH_FOR_PASSIVE」の値を以下のように100にするといいでしょう。Glenelgは「残体力がMax値に対してこの値の割合を越えたら、アクティブ索敵」するので、ここが100なら(残体力が100%を越えることはありえないので)パッシブ索敵しかしません。

IN_THRESH_FOR_PASSIVE = 100

ただし、Glenelgのデフォルトレベルでのアクティブ索敵は、横殴り防止の仕組みがはいっているため、ほとんど迷惑行為にはならないと思います。
特に現状は、「視界内に他PCがいるときは反撃・もしくはユーザー手動での強制攻撃」以外では一切ホムからの攻撃実施はありませんので、言葉通りの意味での横殴りはしないはずです。
多少のアクティブ索敵は操作性を向上させるので、試してみてはいかがでしょうか?

Q.4. 他キャラとパーティを組んだけど、ホムは他キャラと自動で共闘してくれません。できないの?

A.4. できます。ただし「友達登録」が必要です。
Glenelgはいわゆる「横殴り」をしないように、他キャラが戦闘している敵には自動的には殴りに行きません。それは、ボスとパーティを組んでいるキャラに対しても同じです。
もし、一緒に戦いたいキャラ(普通はパーティを組んでいる人でしょう)がいるならば「そのキャラの足元をALT+SHIFT+右クリック」してください。状況表示窓に「AddFriend_xxx」という感じに表示がでると思います。これによってホムはそのキャラを「友達登録」し、以後そのキャラと共闘するように動きます。

ちなみにこの登録は恒久的なので、臨公などで登録した人は、パーティ終了後に登録削除したほうがいいでしょう。
登録削除も同じように「その対象キャラの足元をAlt+SHIFT+右クリック」です。状況表示窓には「DelFriend_xxxx」という感じに表示されるので、確認できます。

Q.5. Q.3 を見てアクティブ設定にしてみたら、敵がいるのに草を殴ったり、かないそうもない敵に突撃したり、さんざんです。

A.5. Glenelg ではそういう事態も想定して、回避できるような仕組みがあります:「他の敵がいたら後回し」「他の敵より早く狙う」「アクティブ索敵対象にする/しない」「接敵してよい・してはいけない」といった設定を、各敵ごとに指定できるようになっています。
詳しくはReadmeを見て欲しいですが、大体以下のような感じです。

  • 草は「アクティブでは殴らない」ようにしたい。
    →一度その草を攻撃させて、その後「RO画面上、ケミの左上のほうの空間をALT+SHIFT+右クリック」してください。それでその草へはアクティブ攻撃しなくなります。
  • アルギオぺには「接敵したくない」
    →一度アルギオぺを攻撃して、その後「RO画面上、ケミの左下のほうの空間をALT+SHIFT+右クリック」してください。フリーのアルギオぺからは逃げ回るようになります。
  • ファミリアとオークスケルトン、ファミリアは「後回し」にしたい
    →一度ファミリアを攻撃して、その後 「RO画面上、ケミの下のほうの空間をALT+SHIFT+右クリック」してください。ファミリアの優先度を低めにします。

Q.6. 敵ごとに学習について。なんでわざわざ「攻撃」させるの?iniファイルを手で書いて対処したいんだけど。

A.6. 誰かにモノを教える・自分が何かを学ぶ際には、机上での勉強よりも実習したほうが早く身につくものです。
Glenelgでは上記を前提に、ホムンクルスを実際に戦わせて、その感覚で学習させるほうが効果的と考えて、この形にしています。

もちろん現実問題として、敵ごとへの対処方法は、vs_enemy.ini というテキスト形式のファイルで保存しているので、手動編集も可能です。
ですがそれを直接編集することはお勧めしません:それで間違ったデータフォーマットでiniファイルが作られた場合、それに対応するエラーケースは作っていませんので。
それを覚悟の上であれば、以下にあるような感じの形式なので、編集は可能でしょう。一度何かと戦ってRO画面上で設定して、それをコピペ&敵ID書き替えをすればそれほど難しくはないでしょう。
興味があれば、がんばってみてください。

1005 = 0 , 0 , 4 , 0
#データは1行で敵1種。左辺が敵ID。
#右辺は、順に「スキル使用率(5%基準)」「アクティブ/パッシブ&接敵可否」「優先度」「予備」

Q.7. 敵のレベルや、それへの必要HIT、MDEFなどを元に動作を切り替えたりできないの?

A.7. ROのクライアント上、ホムンクルスは敵の詳細データを知ることができないので、そういう自動判断はできません。
実際に戦わせて、Glenelg標準の「学習」操作でどう対処すればいいのか、教えてあげてください。

他のAI作成者の方からMobデータを持ったファイルが公開されているので、それを使えば自動判断も不可能ではありません。ですが、Glenelgでは対応する気はありません。
理由は『それらの情報が本来人間からは見えないものであるため』です。
もともとROクライアント上で「人間が」見ることのできる情報は、敵の名前だけ。魔法使い達だけが「敵情報調査スキル」で詳細な値を知ることができます。
ホムンクルスが(内部的にデータを持ってでも)上記を知って動くのは、反則行為と考えます。

Q.8. ・・・A.7.を見て疑問なのですが、地図情報を外部から取り込んでいるのは、上記に反しないですか?

A.8. 反していない、という判断です。
ROクライアントを人間が操作すると、マウスカーソルを置いた場所の地面への表示マーカーの形状で、そのセルが進入可能か否かを知ることができます。これはどの職業を使っていても同じ、人間なら誰でも知ることができる情報です。
確かに現状のホムンクルスAIでは、上記の情報を取ることはできません。が、人間なら誰もががクライアント画面上から見られる情報をホムンクルスに持たせるのは「反則ではない」と考えています。

Q.9. ・・・もう1点、A.7.関連。それって「そのライブラリを使うAIは規約違反」って意味?

A.9. いいえ、そこまではいいません。
友瀬は、友瀬の中のルールに従っているだけです。多分現状のROを取り巻く環境の中では「自分に厳しい」ルールだとも自覚しています。

現実問題「攻略本」の形で公式にも敵の各データは公開されていますし、人間にも経験的に「大体これくらい」という知識はあるはず。
ホムンクルスだって、そういう知識を持ってはいけないというルールはどこにもないです。

お名前: