★☆ キャラ制作奮闘記 ☆★
(2003.07.14)
リバーサル・アタック?
mugenをPLAYしていて、
どんなにシビアなタイミングで起きあがりに無敵技を繰り出しても、潰されてしまうのは何故だろう?
・・・なんて疑問を抱いたことはないですか?
「それがmugenの仕様だから仕方がない」と諦めてしまうのも手ですが、折角キャラ作りをやってるんですし、足掻いてみようじゃないですか。
・・・てな訳で、今回のお題です。
なんか既に誰かがやってそうですが、まぁ小ネタということで。^-^;
まずはmugenで起きあがり無敵技がリバーサル足り得ない理由を考えてみましょうか。
その理由は、恐らくは少しでもキャラ作成をかじった事がある御仁ならすぐに思い至ることでしょうけど、 mugenにコマンド入力の受付、その仕様にあると言えるでしょう。
周知のように、コマンド入力を受け付けてくれるのは(特殊なキャンセルを除いて)自キャラがコントロール可能な状態の時のみです。
これの意味するところは、例えば起きあがりモーション中などにコマンド入力を行っても、起きあがり中はコントロール不可状態であるため、コマンドが有効となりません。
従って、現仕様にて起きあがりリバーサルを行うには、起きあがりモーションが終了して STATE 0 に移行した瞬間に、コマンド入力を完成させる必要があることになりますね。
・・・んなもん、物理的に不可能であることは、今更論ずるまでもないですよね。
要するに、現仕様では許されていないコマンドの先行入力ができれば、何とかなりそうな気がしません?
ちゅう訳で、うちの「拳」でやってみた内容を以下に解説いたします。
通常cmdファイルを記述する場合、
; 昇龍拳 [State -1, 1] type = ChangeState value = 1100 triggerall = command = "623x" trigger1 = statetype = S trigger1 = ctrl
;昇龍拳(小) [State -1, 1] type = Varset trigger1 = Command = "623x" v = 0 value = 1100 ;必殺技発動(地上技) [State -1, 0] type = ChangeState value = Var(0) triggerall = Var(0) > 999 trigger1 = statetype = S || statetype = C trigger1 = ctrl
・・・・が、実はこれだけでは、「リバーサル」にはならないことに、後になって気づきました・・・^-^;
例えばいわゆる「着地昇龍拳」であれば、前述の細工でOKでしょう。
が、起きあがり中の無敵〜リバーサル技の無敵をつなぐためには、もう一工夫必要でした。
先行入力したコマンドが発動するのは、自キャラがコントロール可能な状態です。
この「コントロール可能な状態」というのがくせ者だったりする訳で。
「コントロール可能な状態」とは(殆どの場合) STATE 0 を意味しており、
ダウン状態 −> 起きあがりモーション −> STATE 0 −> 無敵技 (無敵) (無敵) (無敵解除) (無敵) (ctrl = 0) (ctrl = 0) (ctrl = 1) (ctrl = 0)
なので、前述のcmdファイルに、以下を追加してみます。
;必殺技発動(地上技) [State -1, 0] type = ChangeState value = Var(0) triggerall = Var(0) > 999 trigger1 = statetype = S || statetype = C trigger1 = stateno = 5001 ; 喰らい回復 trigger1 = HitOver trigger2 = statetype = S || statetype = C trigger2 = stateno = 5011 ; 屈喰らい回復 trigger2 = HitOver trigger3 = stateno = 5120 ; 起きあがり trigger3 = AnimTime = 0
見た目に派手さはないですが、たったこれだけのことでも随分と操作感が違ってくるでしょう。
起きあがりの攻防を楽しみたい方、お試しになられてはいかがでしょう?
というところで、今回はこれにて。