2012年04月11日

AI記述をどこに置くか

たまにこういうことに疑問を覚える人がいるみたいなので書いてみます。
ただし自分になりの考えであって、まだ理由があるかもしれないこと、
そしてある程度製作に関する知識あることを前提にしていることにご注意ください。
結論から言えば、-3ステートにするのが無難だと思います。

まず-2ステートでない理由から。
これは簡単で、-2ステートは投げ等のステートを奪われた状態でも読み込まれるため、
自分から勝手に相手の投げ技から抜けたり、
下手をすれば存在しないステートで固まってしまうということがあります。

では-1と-3の違いはというと、実際には処理順と時止め無視以外はほぼ変わりません。
そして-2ステートが常に読み込むステートなので、
-2ステートより後に読み込まれる-1ステートの方が便利だと言えます。
私も自分のキャラのAIは-1ステートに記述していることが多いです。

最初の結論と違うじゃないかと思うかもしれませんが、
ここで問題になってくるのが外部AIを作成する場合。
普通プレイヤー操作でのコマンド認識とステート移動を行うのは-1ステートなのですが、
外部AIを-1ステートに入れてしまうと、本体の-1ステートが変更された時に
外部AIもそれに合わせて更新しなければ、本体の更新された部分を上書きしてしまいます。
よって外部AIを作成されることを考えている場合は、
-3ステートに何も書かないorAI記述だけ書くようにして
本体の更新と外部AIの更新の著しい競合をなるべく避けるわけです。

ちなみに-3ステートにプレイヤー操作の記述を入れて、
外部AIを-1ステートに入れるという変わったこともできなくはないですが、
-1ステートとコマンド定義は同じファイルに書くことが多いため
(そうしなければならないわけではありませんが)、
-3ステートは何も書かずに済むことが多いです。

よって外部AIを作成されることを考えていないなら、
-1ステートにAI記述を置いても問題はありません。
外部AIを作成されることを考えているor外部AIを作りたいと
考えている方は-3ステートが無難だと思います。

posted by リック at 22:50 | Comment(2) | MUGEN豆知識 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
しかし、FFUをメイン編集ツールにしていると、AI用ステコンはどうしても-1に記述したくなるようになっているのです



というのも、FFUでは-1だけは別のタブで開くようになっており、ウィンドウの左側にステコンの名前がズラッと表示され、そこをダブルクリックするだけでそのステコンの位置まで一気に編集ウィンドウをスクロールできるのです


-1以外のステートは全て1つのタブで混合されて表示され、ウィンドウの左端に一覧表示されるのはステコンではなくステートの先頭部分

それはそれで便利には違いないんですが、AI作成となるとやはりステコン単位のスクロールがしやすい環境を使いたくなります


ちなみにFFUの編集ウィンドウ内の2Bit文字は全て文字化けするんですが、ウィンドウ左端の一覧だけは日本語も問題なく表示されます

こんなところにも-1にAI記述をしたくなるようにさせる何かがあります



…-1だけでなく-2や-3もステコン単位のスクロールができればよかったんですが…
Posted by Silverstar at 2012年04月13日 00:38
>>Silverstarさん
なるほどFFUですか・・・
確かに別のウィンドウで見られる方が便利ですね。
私はFFUは使ったことが無いのでその点は考慮していませんでした。
Posted by リック at 2012年04月13日 23:56
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]