ぷっぷく工房

mugenとゲームとイラストをまったりと綴るブログです。

<< PREV | PAGE-SELECT | NEXT >>

>> EDIT

AI小話~その5~

こんにちは、管理人のつづらです。

AI製作をする際に大事になってくる要素の一つに、攻撃の回避…というものが
あります。

もちろん、攻撃をガンガン仕掛け、敵を圧倒しつつ殲滅…なんていう戦闘スタイルも
ありますが、個人的には、要所要所で的確な回避、防御を選択しながらここぞと
いう所でカウンターを仕掛ける…という攻撃スタイルも結構好きです♪
(もちろん、そのキャラに合った戦闘方法にするというのが大前提です。)

今回は、そんな攻撃の回避に関するお話。

基本的な回避の記述に必要となってくるのが、enemy,movetype = Aとinguarddist
ですが、さらに大事になってくるのが、相手との距離を表すp2distと避けを発動する
タイミングです。

ご存知の通り、すべての技には、発動準備・発動中・発動後のモーションが必ずあり、
発動後には必ず行動不能となっている操作不能の状態、いわゆる『隙』と呼ばれる
状態があります。

反撃は、主にこの攻撃の隙を突いて行う事が多いのですが、この隙に間に合うかどうかと
いうのがとても重要になってきます。

攻撃を上手く回避したとしても、相手が再び行動可能になってしまっていたら、今度は
こちらが回避の隙を狙われる…という事になりかねません。
(もちろん、飛影みたいに回避の隙がほとんど無いキャラならそんなこと関係ないですが。笑)

そこで、大事になってくるのが攻撃発動時間を表すanimtime。
この時間をしっかりと把握する事で、相手の隙にカウンターを合わせるという事が可能に
なってきます♪

具体的には、自分の回避行動終了までのanimtimeを調べて、そのanimtimeに合わせて
回避開始時間を設定してあげる事が大事になってきます。

例えば、回避行動のanimtimeが25あるキャラだとすると、

enemynear,animtime <= -26

というように相手の行動が終了する前に…というように記述を加える必要があります。
(animtimeが+1されているのがミソ。)

こうする事で、こちらの行動が終了する前に相手が行動可能になる…という状況を
未然に防ぐ事が可能になってきます。

当然、攻撃判定が攻撃終了後も持続するような技にはこの記述は無意味に
なってしまいますが、通常技や必殺技の隙を突く際には、一つの選択肢としては
とても有効になってきます♪

…実は、私もこの表記を理解するまで大分時間がかかりました。(笑)

今までだと、movetype = Aに合わせて、回避行動を発動させていたのですが、
それだと弱Pのようなけん制技に合わせて回避をしてしまい、まんまとその隙を
狙われる…という事があったりします。

そこで、大きな隙を持つ技にのみ的確に反応して回避する、回避の上手なキャラのAIを
じっくりと調べ、どんなタイミングで回避しているのか…というのを突き止めたのです。

そこで発見したのが上記の記述。
上手い回避をするキャラのほとんどに同じような記述が書き加えられていました。

当時の私では、全くその意味が理解出来ていなかったのですが、ここ数年研究を繰り返し、
やっとその表記を理解する事が出来ました♪

…とにもかくにも、この研究の成果は次回の一斉更新の時にお披露目したいと
思っていますので、ぜひぜひその絶妙なタイミングを体感して下さいね~!

mugen00510
web拍手 by FC2

| mugen | 23:55 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント:

TRACKBACK URL

http://puppukukoubou.blog.fc2.com/tb.php/151-8fce6711

TRACKBACK

<< PREV | PAGE-SELECT | NEXT >>