日記/2006-11-08

2006-11-09 (木) 12:13:48
お名前:

別の方のサイトにてコメントをしたのですが、こっちでも書いておきます。

フィーリルのムーンライトの射程問題。

Glenelgや標準AIでフィーリルを使うと、ムーンライトは「敵に接近してから」使用するはずです。
ですがROクライアント+AIのつくりによっては、カプリスと似たような感じで「遠距離からムーンライトを撃つ」ことは可能です。
ですが、友瀬&Glenelgでは、この動作をサポートすることは「ROクライアントが許可しないかぎり」ありません。

Glenelgのつくり

Glenelgでのスキル使用の射程に関する扱いは、以下のようなものです。

  1. 対象にした敵と、使おうとするスキルの射程を比較する。
    AIから利用できる情報に GetV (V_SKILLATTACKRANGE, 敵ID, スキルID)というものがあり、これが「スキルの射程」になっています。
    1. もし射程よりも遠くに敵がいるならば、接近する。
    2. もし射程内に敵がいるならば、スキルを使う。

現状上記の設計で、バニルのカプリスは「遠距離から」撃ってくれます。
そしてフィーリルは(自分では持っていないので確認できないですが)「近距離でしか」撃ってくれないようです。

スキルの射程ってどうなってるの?

バニルについて実際に確認したところ、カプリスでは『GetV (V_SKILLATTACKRANGE, 敵ID, スキルID)は9』。
つまりカプリスの射程は9セルなので、結構遠距離です。

フィーリルは持っていないのでアルケミテンプレサイトを見ると、ムーンライトの場合『GetV (V_SKILLATTACKRANGE, 敵ID, スキルID)は2』。
つまり、ムーンライトの射程は2セル。通常白兵戦と同じ近距離武器となっています。

どうして射程2なのに遠距離射撃ができるの?

これは、ROシステムの制約事項です。
もともとは、以下のような状況を救済するための仕様のようです。

マジシャンが非アクティブ敵に対して、射程ぎりぎりからボルト魔法詠唱。
→詠唱中に敵がボルトの射程外に移動。
→詠唱完了・・・どうなる?

上記状況でも魔法が出るようにするために、ROでは以下のような動作をしています。

  • スキル使用開始の条件として、スキルの射程はチェックする。
  • 一度スキル使用が確定したら、その後は射程チェックはしない。

フィーリルのムーンライトの場合も、これと同じことが起きています。
つまり、AIで「スキル射程のチェックをしなければ」ムーンライトといえども遠距離への攻撃が可能です。

なんですが・・・

友瀬andGlenelgでは、この「遠距離ムーンライト」はAI側から積極的にサポートする気はありません。
理由は、それが「ずる」だからです。
決められている射程よりも遠くに撃つのは、ルール違反。
実際、今までにも「射程外のオットーにユピテルサンダー」なんていうチートツールがありました:遠距離ムーンライトを行うということは、このチートと同じことです。

もし「実はムーンライトの射程2というのがROクライアントのバグで、それをグラビティ・ガンホー側が直す」ということがあれば、結果的に解消されることはあります。
Glenelgでは射程チェックをしているので、その射程が変更されれば相応に動作します。

061109 補足

ちと不用意な記載があったので、補足というか言い訳というか。

上記で「ずる」と書いているのは、あくまで友瀬の判断です。
他のAIで実施しているものもいくつかありますが、それが悪と言っているわけではありませんので、誤解なきよう。

どういうことかと言うと・・・AI作成に関するルールのようなものは公式からは「特に指定はありません」。
別の言い方をすると、公式では特に「AI内で射程チェック→射程内のときにのみスキル使用しなければならない」ということは明記されていません。
つまり、「射程チェックせずにスキルを使うこと自体は、公式には特に禁止されているわけではありません。」

友瀬は単に「公式AIのつくり」と「存在している(射程取得)関数」との関係から、これが「RO設計者の本意」と考えて、それを自分の制約にしているだけです。

なんというますか・・・たとえて言いますと。
ある私道があって、あなたがそれを横断したいと思っているとします。
で、5m左に行けば、(これも私設の)信号機付の横断歩道がある。
あくまで私道・私設なので、無視しても犯罪ではありません。
ただ、慣例的に「赤ならわたっちゃだめ」「横断歩道を使うの推奨」というのはわかります。

友瀬は100%の善人ではありませんから、自分ひとりなら状況に応じて信号や横断歩道は無視してわたってしまうと思いますし、他の人がそれをしててもとやかくいいません。
でも『友瀬の責任で交通ルールの指南書を書いてくれ』といわれたら、ここでは「信号を守って、横断歩道を渡りましょう」と書きます。
そんな感じです。

お名前: