Glenelg開発メモ/モーションキャンセルに関するメモ

2007-02-10 (土) 21:50:53 (3996d)
お名前:

Glenelgの機能についてのメモ。
自分のための覚書でもあり、利用者のための豆知識でもあり、他AI開発者のための参考情報でもあり。

・・・と、せっかく作ったメモでしたが、2007/02/06のメンテで、事実上無効化されたような状況です。
詳しい話はともかく、ここにある手法は現時点ではあまり意味がなくなったように思われます:これによる高速化よりも、モーションによるオーバヘッドのほうが遥かに大きいため。
いろいろ検討した結果、高速化に関しては論理をきちんと整理する必要があると判断。
このページは一度完全に廃止物件とします。

まだ詳細検証はしていませんので、まったく無意味と決まったわけではないですが、可能性はかなり高いです。

というわけで、一応古い内容は残しておきますが。


以下、以前の内容。

課題の内容

話の発端は、雑談スレに書きこまれた「ホムが進化したら、攻撃が遅くなったような気がする」という話題から。
雑談スレでさまざまに検証された結果、攻撃速度に関しては現状大きく2つの問題が存在している。
そのうちの1つが、このページの内容:『ホムのモーションとキャンセル』です。

課題概要

「キャンセル」というのは、ゲーム業界ではしばしば使われる言葉。
何かの行動中に無理やり次の行動操作をすることで、前の行動の動作の一部をスキップ(キャンセル)して、 素早く次の行動をしてしまう、というようなものです。
これをホムの行動でも起こしてしまおうという話。

これも前振りがあって・・・詳しく話すと長くなるのですが、おおざっぱにいうと、
「実は進化前のホムでは、偶然モーションキャンセルがおきていて、結果高速な攻撃がなされていた。
 進化後、表示される画像が変わってしまったので、モーションキャンセルが起きなくなってしまった。
 その結果的に、進化後のほうが遅くなってしまった」
・・・というような感じらしいことがわかっています。

雑談スレの住人の方が上記の現象を詳しく調べた結果、
『(攻撃受付されない)ある特定のタイミングで攻撃命令を実施すると、進化後でもモーションキャンセルを起こせるタイミングがある』
ということも実験的にわかってきています。

その後・・・

Glenelgでは、当初これについて対応する予定はありませんでした;理由は下に残しておきます。

なんですが、わりと要望としては大きい項目のようなこと、および当時最大の懸念事項だったディレイの組み込み(後述参照)がなくても大丈夫そう、ということがわかってきたため、カスタマイズ可能項目として対応しました。

で、対応内容。
「従来通常のAI1動作サイクルでは1回しか実施していなかった攻撃状態の処理(ATTACK_ST)を、任意回数実施できるように」カスタマイズ値を準備しています。
ai_option.ini内、EXTRA_ATTACK_ACTION の値です。
多くのAIでは「追加2回程度」の処理になっていますが、理論上「それで十分なのか」ということが判らないため、あえて数を多く設定できるようにしています。

ただし、繰り返しますがこの方法は理論上まったく裏づけのない経験則的な対応になります。
自信をもってお勧めできないので、デフォルトでは「追加攻撃動作なし」にしています。
各自、カスタマイズを行い自分で納得のいくように調整してみてください。

ちなみに、上述のように多くのAIでは「追加攻撃動作2回」のつくりになっています。
また、友瀬自身も「追加攻撃2回」の設定で「友瀬のBase86レベル進化バニル」の攻撃速度が上がっていることは確認しています。

以下、以前の内容:対応したので古い内容になります。

なんですが・・・

・・・Glenelgでは、これは実装しません。
理由は以下のような感じです。

  • キャンセル可能タイミングがホムによって違うらしく、検証できない。
  • キャンセルのために、AIの中でディレイ処理をいれなければならなそう。

ディレイを入れるという時点で、操作性が下がってしまうのが問題。 そして、それを入れても確実にキャンセルができるわけでもなさそう。 やはりリスクを考えると入れる気になれません。

とりあえず、なにか改善可能になる要素が出るまでは、現状のままにします。