MUGEN sm10406813  ■参考  ニコニコMUGENwikiの超反応のページ ( 「動かない超反応」のことを。 )  ■今更  そういえば0,Time反応とかそういうことについて触れてなかった。  やっぱり[sm7206992]の続編だわ。  ■簡単な説明 >「フレーム」とは  >処理の単位です。1フレームに処理が一周分行われています。  システムから画像の処理まで全てをプログラム通りに行うのが一周分。  MUGENなどゲームは基本的に約1秒60フレーム。(60F/sec)  約1秒間に60週分の処理を繰り返すことで1秒60コマの映像を作り、   人間に対して「動いている・動かしている」ように見せているのです。  AIなどはそれらのフレームで毎回条件を確認して動作をしています。   その為、超反応と呼ばれる「1〜0フレームでの反応」ができるわけです。  しかし、人間は認識するまでに数フレーム分、   反応にもさらに数フレーム分の時間を必要とするため   AIに反応で勝ることは不可能です。「予測」は別ですが。 >0F反応 0,Time反応とは  >相手の始動と同時の反応のことです。  >反応を同じフレームで行っているため、同時に始動します。  以下、原理について。  プレイヤーの処理は「基本処理→1P→2P→(次F)」という順番で行われています。   そして処理をした時点で状態の情報も反映されます。  1P側の処理が終わったあと2P側の処理の順番が来る為、   2P側は同じフレームで1P側の情報を元に処理を行う事ができ、   反応でありながら始動が同時という0F反応、0,Time反応が可能なのです。  一方1P側が処理につかえる2P側の情報は1フレーム前の情報なので、   どうしても1フレーム処理が遅れてしまうことになります。  またコマ送りでフレームを確認しながら手操作でコマンドを入力したとしても、   画面上に写っているのは1フレーム前の状態なので、0フレーム反応は無理です。 >人間の超反応  >AIとは原理が違います。  まずほぼ同時に行う行動については、キャラや相手を研究した上で   観察力・洞察力を駆使し相手の動作を予測する「読み」の極限です。   それがあまりにも正確無比の時、超反応とも呼ばれます。  次に確認できる動作に対しての反応は、キャラや相手を研究した上で、   するべき動作をあらかじめ意識しておくことで反応を早めているものです。   半分は「読み」ですが、もう半分は反応からの「入力速度」でしょうか。  また、どちらも人間である場合「失敗」はつきものですので、   「読み」が外れた場合にあらぬ行動を行ってしまうこともあります。  ■動画超反応の資料の記述について  Commandの記述を、以下の条件に差し替えただけです。 美鈴 攻撃に対して>雷震掌 美鈴 接近に対して>対空虐殺脚 ;対空,3080虐殺 ;P2Statetype=A&&P2Dist X-(EnemyNear,Vel X*6) < 50; ;対地,3020雷震 ;P2MoveType=A; 草 攻撃に対して>回避ステップ(+投げ)・バックステップ 草 接近に対して>対地投げ・対空椿 ;760,回避ステップ ;InGuardDist 直後投げPrevStateNo=760 && P2BodyDist X < 5 && P2Statetype!=A; ;105,バックステップ;InGuardDist || Enemy,HitDefAttr=SCA,AT; ;1120,B椿 ;P2Statetype=A&&P2Dist X-(EnemyNear,Vel X*6) < 70; ;1100,X椿 ;P2MoveType=A; ;800,投げ ;P2BodyDist X < 5 && P2MoveType!=H && P2Statetype!=A ; 動画未収録 ;40,ジャンプ Enemy,HitDefAttr=SCA,AT; 動画未収録 花 攻撃に対して>シールド 花 接近に対して>対空クレマチス ;701,シールド ;P2Movetype=A && StateNo!=702 ;2210,クレマチス ;P2StateType = A && P2Dist X < 45 && P2Dist Y =[-80,-1]  ■動画超反応の資料にない重要なもの。  対地投げ・当て身投げ  ■超反応に限らないメモ >AIのCommandについて  Commandには入力制限があり、特定の動作の後は一定時間入力が反映されません。  ですがAIの場合Command入力の制限が無いため、手操作では不可能な動作をできます。  場合によっては「AI専用の永久」なんてものがあるくらいです。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 13:34 2010/04/17追記  ■動画の制作動機  AIにできる超反応というものはどういったものであるのかを知って欲しくて。  超反応はキャラの性能差や相性を顕著にする上、何もしなければ超反応になります。  じゃあ、どういう動作なのか「同時始動」や「1F反応」という言葉だけで説明しても、   上手く伝わるわけがないと、動画で「0F反応」を伝えようと思ったのが以前の動画。  今回の動画は、1Pと2Pの差で起こる反応の違いを伝えたくて、   以前作った作り直しのつもりで作りました。内容としては続編でしたが。  ■超反応の良し悪し  何度も言ってますが、別に超反応そのものが悪いわけではありません。  私流のこととして何度も言っているのが単調単純、単一極端を嫌うことで、   超反応をさせることで試合の流れが一方的になり「流動性」が失われたり、   超反応を前提にすることで行動や動作が制限されて「多様性」が失われたり、   超反応によって、一定の動作の繰り返しでハメられるほど「攻略性」が失われたり、   そうした「流動性・多様性・攻略性」といった魅せ要素が欠けることを嫌っているのです。  もちろん、これはあくまで私流の話です。  それにそれらが維持されるか欠如するかは相手にもよります。  魅せ要素は相手との戦闘の上で成り立つわけですから、   相手によってより良くなることもあれば、全く欠如してしまうこともあるのです。  超反応前提 対 超反応前提 であればそれこそ最善の戦いを見られるわけですし、   相手の超反応を考慮しない超反応同士であれば、目まぐるしい戦いを見られたりします。  ですが 前提 対 制限 などは「 超一流 対 アマチュア 」のようなもので、   良い試合ができればいい方、封殺が当然になってしまうこともありうる組み合わせです。  ■確定要素について  しかしながら、   超反応前提を基本とした場合、今度は勝てる人やキャラが限られてしまいます。  超反応による性能差や相性の顕著化は、最初から勝てるかどうか決まってしまい、極端な話   「勝てる相手には勝てるが、負ける相手には負ける」という事が多くなってしまいかねません。  例えば不確定要素の無いAI同士では何度試合を繰り返しても全く同じ試合をしますが、   それと同様に運の要素を可能な限り排除した末「結果が分かっている」ような状態です。  果たしてそれでいいのか、と強い疑問を持っているのが私流のこと。  強さの極限を追求した末に娯楽が無くなっては意味がありません。  かといってMUGEN本体のAIが楽しいわけもありませんが、   その丁度良いところを模索するべきだという、私流の話です。  あくまで私流の話です。  まったく考えなしの超反応ではなく、条件や確率を調整した超反応であれば、   相手によって100か0かという事は起きにくくなり、   超反応での相性が悪い(=超反応をすると負ける)相手に勝てたり、   超反応での相性が良い相手に負けたりすることもできます。  確率をつけて別の行動も行わせるようにしておけば「ハメ」を脱出することも。  ■私流の話・魅せ要素について [魅せ要素に関するまとめ/Neat.txt]  個人個人で違うから一まとめにできないとも言われますが、私流では大きく四つと考えています。  「エフェクト」と「流動性」「多様性」「攻略性」の4種類。詳しい話はtxtを。  簡単に説明すると、   「エフェクト」は演出効果に限らずキャラからネタまで幅広くを指し、   「流動性」は試合において有利不利が移り変わることを指し、   「多様性」は単調な動作にせず様々な動作を試みることを指し、   「攻略性」は困難に見えるようなことをやってのけることを指します。  もちろん、これらのどれに感動するかは個人個人で異なりますが、   超反応も攻略性を感じさせてくれる要素の一つです。  ■低確率のこと  ただ単純にRandom<500といったものをつけても毎フレーム50%ですから、   7フレーム経てば99%に達するので、数フレーム反応が遅れる程度です。  0F~1F反応が50%になり、1~2Fまでが75%、2~3Fまでに87.5%。  ちなみに一般人の反応速度は早くてもおよそ12F(0.2秒)ぐらいで、   6F(0.1秒)になると人体として不可能だと、短距離走ではフライング扱いです。  Random<100(10%)でも7フレーム経てば50%を超えますので   明確に遅延としてつかえるのはRandom<50( 毎F5% )くらいからでしょう。 ( それでも7Fで30%もありますが。 Random<10( 毎F1% )なら7Fで6%程度。 ) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 20:54 2010/05/09追記 いまさら  ■R氏へ >ダッシュ後すぐのガードも〜  それは超反応というよりコマンド制限がないというAI特権では?   前ジャンプガードなども同様。  それを含めると(レバーを倒し続ける分だけ走るタイプの)ダッシュ中から   昇龍コマンド以外の必殺技を出すことも超反応に含まれかねませんが。  あとダッシュ後すぐというのは、始動直後とか最中とかですよね。   一応AI用にCtrlを制御してしまうという方法もありますけど。 ( AIでの始動直後にCtrlを0へ変え、時間経過で1に戻す形で、   Ctrlが戻るまでダッシュだけを持続させるという感じ。ジャンプも同様 ) >「勝つためだけのAI」が〜  私の意図をご理解していると思いますが一応書いておきます。  それ自体が悪いとは書いておらず、『しかし、「勝つためだけの〜』で   言われているような弊害が起こりやすくなるのに加えて、   単一による弊害(作業的なイメージに属する)を書いているだけです。  ニュアンスを含めれば「ファンタジスタ」も含まれますが。 ( 『AIの仕事は「勝った!」と思わず〜』→勝ちが当然でないさま )  あと私流を総合した話になりますけど、   確かにエフェクトを考慮すると、自重しない方が良いようなキャラもいますが、   それはあくまで『「エフェクト」を目的としての「強さの追求」』   という言い回しもできます。単なる言い回しですが。  あるいは楽しさの為にある最低限の強さがそのラインとかいう言い回しも。 >大目に〜  とまあ結局、使い方次第ですよね。  あと相手次第。 >個人的に目指したいのは〜  あとその域は「AI制作者という一プレイヤーとしての挑戦」として、   あんまり珍しくなく持っているかと思います。私にも薄い志としてありますし。  それは「プレイヤーがいないから」でも「プレイヤーではダメだから」でもなく、   「代わりにプレイヤーとして戦ってもらう」という考えの基に生まれるもので、   どちらかというと育成ゲームに近い感覚かもしれません。  AIというペットをいかに上手く育てるかというプログラミングゲーム。  もちろんただ単純な強さだけよりも、好みに寄りやすいでしょうが。