簡易AIテンプレ等

「簡易AIテンプレ等」の編集履歴(バックアップ)一覧に戻る
簡易AIテンプレ等」を以下のとおり復元します。
まずはこれらのサイトを見て回ることをお薦めします。

-名の無限 一からのAI作成講座(名無し/Nanashi氏のサイト)&br()[[>>http://nanomugen644.blog54.fc2.com/blog-entry-157.html]] &br()[[>http://nanomugen644.blog54.fc2.com/blog-category-6.html]] &br()※完全初心者からAI作成に挑戦される方にオススメ

-㍻㌢氏製作のAI説明書&br()[[>>https://onedrive.live.com/?authkey=%21AHiQCBHj6az5zwg&id=495747B6F9328805%21167&cid=495747B6F9328805]]

-厨忍氏のAI作成に関するQ&A集&br()[[>>http://www7b.biglobe.ne.jp/~tsuyoshishiki/QA/index.html]]

-夢幻回廊のAI講座(⑨氏のサイト)&br()page.freett.com/mugen9/から※&bold(){移転済}&br()諸事情により、現在のページのアドレスは伏せておく。

-ステートコントローラー一覧&br()[[>>http://homotaro.s44.xrea.com/scr.htm]]

-トリガー索引&br()[[>>http://homotaro.s44.xrea.com/tr.htm]]

-[[>>AIガードテンプレ]](wiki内リンク)

-ニコニコMUGEN視聴者うp主交流掲示板よりAI作成相談スレ&br()[[>>http://jbbs.livedoor.jp/bbs/read.cgi/internet/1117/1232180149/l50]]&br()[[>>http://jbbs.livedoor.jp/bbs/read.cgi/internet/1117/1279433137/l50]]

-MUGEN初心者用簡易AI講座(外部wiki)&br()[[>>http://wikiwiki.jp/simple-ai/]]
&nicovideo(sm26590233)

-ADIのMUGENメモ&br()[[>>http://mugen.niza.nobody.jp/index.html]]

-MUGEN-AI講座&br()[[>>http://www.nicovideo.jp/tag/MUGEN-AI講座]]
----
掲示板より引用

#region([[MUGENについて語るスレpart10>>http://bbs.nicovideo.jp/test/read.cgi/question/1195749036/]]より)
>537 名前:&font(#057cbe){&b(){&font(#057cbe){&b(){no name}}}}[sage] 投稿日:2007/11/25(日) 13:20:51 ID:/+KHwFpW
>AI動画上げたら、AIうp希望者が多くて吹いたw
>強AI程度なら、慣れたら2~3時間で簡単に作れるんだが・・・・・・最果てとかを参考にしながらw
>
>某動画でうpられたKFMとかは、良AIで、製作者のセンスが出てるから、欲しがる理由も分かるが、
>簡易~狂AI程度なら、誰が作っても大差ないだろうにww
>
>独断と偏見による、AIの定義
>
>簡易AI :特定の条件下で、特定の技を一定確率で繰り出す。
>(対空に昇竜拳、離れてたら波動拳、立ち大パンチ→強昇竜拳など)
>強AI  :上記の条件指定を厳しくして、高確率~100%で繰り出す
>(間合いに入ったら即投げ。小足見て昇竜拳、ウメハラ・ブロッキングなど)
>狂AI  :強AIに加えて、ステータスが変化する
>(攻撃力や防御力上昇。ゲージの自動回復など)
>良AI  :簡易AIに加えてチャーンコンボやエアリアルなどを一定確率で入れてくる
>(下段弱キック2発→下段中キック→波動拳など。目押しコンボやオリコンも含む)
>凶AI  :狂AI+良AI。さらに、通常では不可能なコンボや、CPU専用技などを使ってくる
>(歩きサマー、メガロマニアなど)
>
>AI作成難易度
>↑ 低い
>↓ 高い
>
>簡易、強、狂の製作は簡単。0からはじめても三日もあればできるようになるはず
>つっても、良AI、特にオリコンとかは、かなり複雑で、ちゃんと繋がるようにするのはかなり面倒だがw
>
>ちなみに、リトライ前提なら、簡易AIでも十分見られる試合を撮れると思われ

>541 名前:&font(#057cbe){&b(){no name}}[sage] 投稿日:2007/11/25(日) 14:00:01 ID:/+KHwFpW
>statetype = *  自分の体勢。A:空中 S:立ち C:屈み L:ダウウン
>p2statetype = * 敵の体勢。↑と同じ
>p2movetype = * 敵の状態。A:攻撃中 H:やられ中(ガードも含む) I:その他(棒立ち、パワー貯め、挑発など)
>p2bodydist X = [*,*] 敵との相対距離。-5,5:ほぼ密着。10,20:打撃距離。80,160:端から真ん中くらい。160,320:真ん中から画面端
>InGuardDist ガード可能範囲にいる状態。= 0で攻撃範囲外も検出可
>Random <= * 0~999の範囲。300~700くらいが妥当
>RoundState = 2 戦闘中のみ。これがないと延々と死体殴りしたり、やられたはずなのに起き上がったりする
>BackEdgeBodyDist <= * 20~50で、画面端に追い詰められた状態
>FrontEdgeBodyDist <= * 20~50で、画面端に追い詰めた状態
>MoveContact キャンセル用。statenoと併用しないと認識しないっぽい。攻撃が当たった時(ガードも含む)
>! ~以外
>&& ~と同時に
>|| ~もしくは、~
>
>簡易なら、とりあえずこれだけ覚えればおk 詳しくはググれw
>
>注意点としては、MoveContactとctrl = 1を一緒に使わないこと
>statetype != Aは、SとCだけでなく、Lも含むので、ctrlと併用しないと起き上がりキャンセル暴発してしまうこと
>【】を使った後は、()で括らないと、&&や||を置いても、エラーが出ること。
>「p2bodydist X = [*,*] && statetyep = *」だとエラー。「(p2bodydist X = [*,*]) && statetyep = *」ならおk
>空白スペースでも、全角だと、エラーがでること
>!は=の前に置くこと 「=!」ではなく「!=」


>542 名前:&font(#057cbe){&b(){no name}}[sage] 投稿日:2007/11/25(日) 14:04:27 ID:8urY39hy
> >>541
>P2BodyDist X = [*,*] && StateType = *
>の部分は
>StateType = * && P2BodyDist X = [*,*]
>という風に順番を変えるだけでもいける。
>既に知っているだろうとは思うけど補足として。


>543 名前:&font(#057cbe){&b(){no name}}[sage] 投稿日:2007/11/25(日) 14:21:20 ID:/+KHwFpW
>手順としては、cmdファイルをコピーしてバックアップ。
>codを開く→statedef -1のステートの,、command ="****"を含むtriggerに「;」をつけて無効化
>全「ctrl」に&& random <=**を追加
>
>あとは、各種条件をtriggerに振って完成
>ただし、これだとCPU専用になるので、それが嫌なら、var(**)を併用すること。詳しくは「最果て」でおk
>
>;三烈カンフー突き手(ゲージレベル1)
>[State -1, Triple Kung Fu Palm]
>type = ChangeState
>value = 3000
>triggerall = command = "TripleKFPalm"
>triggerall = power >= 1000
>trigger1 = statetype = S
>trigger1 = ctrl
>trigger2 = statetype != A
>trigger2 = hitdefattr = SC, NA, SA
>trigger2 = movecontact
>
>↓ 近くに居る倒れてない、何もして無い相手、または、何らかの攻撃が当たった相手に超必殺技を使用
>
>;三烈カンフー突き手(ゲージレベル1)
>[State -1, Triple Kung Fu Palm]
>type = ChangeState
>value = 3000
>;triggerall = command = "TripleKFPalm"
>triggerall = power >= 1000
>trigger1 = statetype = S || statetype = C
>trigger1 = ctrl && random <=100 && (p2bodydist X = [0,10]) && p2statetype = S && p2movetype = I
>trigger2 = statetype != A
>trigger2 = hitdefattr = SC, NA, SA
>trigger2 = movecontact
>trigger3 = ctrl && (p2bodydist X = [0,10]) && p2statetype != L && p2movetype = H

>558 名前:&font(#057cbe){&b(){no name}}[sage] 投稿日:2007/11/25(日) 15:33:14 ID:/+KHwFpW
>とりあえず、簡単な奴を置いとくぜ?w
>共通テンプレ
>trigger1 = ctrl && random <=700
>対空用テンプレ
>trigger1 = statetype != A && p2statetype = A
>trigger1 = p2movetype = I ;対空技が無敵時間ありなら「A」でおk
>trigger1 = p2bodydist X = [10,30] ;相手の高さの指定はしなくても、たいていの場合は普通に機能する
>trigger2 = p2movetype = H ;対空技が非キャンセルでも繋がるなら
>trigger2 = statetype != A && p2bodydist X = [0,10]
>飛び道具用テンプレ
>trigger1 = statetype != A && p2movetype = I ;飛び道具が強力なら「A」でおk
>trigger1 = p2statetype = S || p2statetype = C
>trigger1 = p2bodydist X >= 60 ;飛び道具の出が遅いなら80~160で、逆に早いなら削除
>trigger2 = p2movetype = H && p2bodydist X <= 80 ;出が遅いなら削除
>小足用テンプレ
>trigger1 = statetype != A && p2movetype = I ;判定が強力なら「A」でおk
>trigger1 = p2statetype = S || p2statetype = C
>trigger1 = p2bodydist X <= 10 ;リーチが長いなら、20~30でもおk
>小足からの連携用テンプレ(statenoとMoveContactを併用すれば、簡単なコンボなら設定可能)
>trigger1 = statetype != A && p2movetype = I ;判定が協力なら「A」でおk
>trigger1 = p2statetype = S || p2statetype = C
>triggerall = p2bodydist X = [10~20] ;小足と重ならないように
>trigger2 = p2movetype = H && p2statetype != L ;繋ぐのが下段技なら、(p2statetype = S || p2statetype = C)でおk

>562 名前:&font(#057cbe){&b(){no name}}[sage] 投稿日:2007/11/25(日) 15:42:17 ID:/+KHwFpW
>ガード用テンプレ(テレポートや緊急回避にも応用可能)
>value = Ifelse(EnemyNear,StateType = C,131,130) ;デフォの場合。131が屈み、130が立ちガードに当たる
>triggerall = ctrl && StateType != A
>trigger1 = Random <= 700 && P2BodyDist X <= 50
>trigger1 = Enemy, HitDefAttr = SCA, AA, SA ,HA ,AP, SP, HP ;うまく機能して無い気もするが一応w
>&nowiki(){trigger1 = MoveType = I && ((EnemyNear, MoveType = A || p2movetype = A) || (Enemy, NumProj >= 1))}
>trigger2 = InGuardDist = 1 && p2movetype = A || (Enemy, NumProj >= 1) :&&を ||に変えると、より硬くなるが、固まり易くなるw
>trigger2 = P2BodyDist X >= 50
>
>各種ステート(statedef)は、実行の優先順位があり、上から順番に高くなる
>条件がかぶってる場合、複雑なほうを↑に配置して、簡潔な奴を↓に配置する事
>テンプレはテンプレ、微調整は必須だぜ? あと、キャンセルできない技をキャンセルしないように、ctrlの適用範囲をちゃんと確認するように
>それと、全角が混じってるかもしれないから、コピペするときは要注意なw
//>
//> >>552
//>&nbsp;>敵が現在無敵かどうか、敵に当り判定があるかどうか。
//>画面全体を覆う、透明でダメージやヒットスパークの無い、0フレーム攻撃を行い。そのstatenoとMovehitをtriggerにすれば判別可能
//>ただし、当身系の技には無効。むしろ無効にしとかないと分身するがw
//>&nbsp;>打撃や投げなどは関係なく、敵の攻撃がガード可能かどうか。
//>常時ガードしてる、透明helperを用意。そのhelperのstatenoを監視して、それをtriggerにすればおk
//>ただし、旨く制御しないと、簡単にバグるww
//>
//>かなり反則で、AIと呼べるか怪しいが、一応方法はあるぜ?
//ほぼ確実にキャラクターの挙動に異常をきたす方法であるためコメントアウト。
#endregion

----

復元してよろしいですか?