『月華』 ~ ある無限製作者の奔放な庭園

MUGENの防御力補正について

今日はメールやコメントなどで質問があった防御力に関する質問にお答えします。


Q.デフォルトの防御力補正とdefencemulsetについて詳しく教えて欲しい。

以前に防御力補正の話題を少し出した時に、
中途半端にちょっとだけ書いていたので、誤解を招いたり、理解しにくかったようです。
そこで、今回は詳しく説明させていただきます。
(自分調べなので、確実という保障はありませんが、多分これで良いと思います。)

まず、デフォルトの超必補正というのは、
mugen.cfg 内にあるSuper.TargetDefenceMul という項目で設定されているものを指し、
超必に対する補正というよりは、超必に限らずsuperpauseを使用した後に掛かる補正です。
なので、逆にsuperpauseを用いない技には、超必であっても補正は掛かりません。

ここで、superpauseってそもそもなんですかという話ですが、
分かりやすくいうと、暗転・停止の演出です。
超必を使用したときに、最初に画面が停止して暗転するものがあるでしょう?
あの演出に用いられるのが、superpause の代表的な使用法です。
ということで、結果的に超必に用いられることが大半であるため、超必補正と便宜上私は呼んでいます。
(なので、見た目上同じような暗転・停止の演出をしても、superpauseではなくpauseを使用して停止させ、
 画面のカラーを別のコマンドで暗転させれば、見た目上ほぼ同じに見えても、この補正は適応されなくなります。)

話を進めると、このsuperpause の処理を行われた後、superpauseが解けた直後からこの防御力補正は適応されます。
(superpause中に動けるタイプの技が当たった場合は、superpause中は防御力補正は適応されていません。)
デフォルトの設定値は防御力1.5倍であり、結果的にダメージは2/3となります。
また、それ以後の攻撃にはこの補正後の防御力が適応されるため、
超必のあとに更に追撃できるタイプの技の場合は、この追撃に用いた技もダメージが2/3となってしまいます。

例を挙げると、50ダメージの通常技、150ダメージの超必、60ダメージの超必後の追撃技があったとします。
この時に、超必の前にsuperpauseの演出が入り補正がかかった場合と、補正がない場合で計算すると、

・補正なし 50+150+60=260ダメージ
・補正あり 50+(150+60)÷1.5=190ダメージ

と、かなり大きな開きが出てきます。
また、直感的にも分かりやすいですが、補正後のコンボが長いほど影響は大きくなるわけです。

更にいうと、この防御力の補正は一定条件になるまではリセットされず、
さらにどんどん上書きされるという特徴があります。
どういうことかというと、一度superpauseがかかって、防御力が1.5倍になっているキャラに、
もう一度superpauseをかけて技をヒットさせると、1.5倍の補正がかかってる上に、更に1.5倍の補正がかかり、
結果的に防御力は2.25倍にもなり、ダメージは半分以下となります。
更に、このあとも防御力補正はかかり続け、3.375倍、5.0625倍となっていき、
普通のキャラではまず行えないですが、superpauseの処理を行う超必を4回含む連続技を行えば、
最終的な防御力は5倍を越え、ダメージは1/5以下となるというわけです。

そして、どういう時にこの防御力補正がリセットされるかというと、
ダウン後の起き上がり始動開始のモーション(state5120)や空中受身復帰後(state5200)、
その他にはstate0に戻った瞬間にもリセットがかかり、元に戻ります。


では次に、以前に連続技に組み込んだら補正がかかるというような書き方をしましたが、
今日の説明だと、「superpauseを用いる技なら連続技とか関係なく補正は適応されるんじゃないの?」って思うでしょう?
これがそうではないのです。
詳しく説明すると、mugenの特徴ともいえるのですが、
実はdefencemulによる防御力の値の変動は、キャラがくらいモーション中(movetype=Hである時)にしか適応されないという、
なんともいえないヘンテコな仕様があります。
さらに言うと、Super.TargetDefenceMulの補正がかかるタイミングは、superpauseが解けた直後であるため、
このタイミングにおいて、対象が非くらい状態であった場合には、補正は一切かかりません。

なので、結果的に非連続技状態で使用すると言うことは、相手がくらい状態では無いといも言い換えられますので、
Super.TargetDefenceMulによる防御力補正は、連続技に組み込んだ場合でないと補正がかからないわけです。
このため、連続技に組み込んだらという書き方をしているわけです。
代表的な例外は、タッグ時に相方がコンボを決めているときに超必で追撃する時ですね。
使用したキャラにとっては連続技ではなくても、相方の攻撃で対象はくらい状態になっているのですから、
ここでsuperpauseのかかる超必で追撃すれば当然補正の対象となります。


では、defencemulsetについての詳しい説明に移ります。
これは、決められたデフォルトのdefenceの値を試合中に変動する命令であり、
一般的には根性値やコンボ補正に組み込んだり、モード限定での防御力変動などに用いられます。
そして、前述のSuper.TargetDefenceMulの時にも説明しましたが、
このdefencemulsetによる防御力変動は、くらいモーション中にしか作動しません。

そして、ここからが本題ですが、何故defencemulsetを用いて防御力を変動しているキャラには、
デフォルトの防御補正であるSuper.TargetDefenceMulが働かないのかということです。
これには、次のような原因があります。

1.defencemulsetによる防御力の変動は、一度指定されれば、新しく設定されるまでその値が保持される。
  結果的に後から指定されたdefencemulsetの防御力が適応される。
2.システムのSuper.TargetDefenceMulによる防御力の補正は、最終的な防御力を1.5倍にするのではなく、、
  あくまで特定タイミングにおけるdefencemulによる防御力変動の一環でしかない。
3.キャラ側のdefencemulsetの防御力の変動させるタイミングは、
  特定の条件下(ライフが一定値以下、コンボ数が一定以上、特定のモードが使用されている)において、
  絶え間なく行われている。
4.Super.TargetDefenceMulが適応されるのはsuperpauseが解けた直後のみである。
5.結果的にシステム側のSuper.TargetDefenceMulによって設定された値は、
  直後にキャラ側のdefencemulsetによって上書きされてしまうため、見た目上は効果を挙げていないのと同じになる。

というわけで、デフォルトの補正であるSuper.TargetDefenceMulは働いてはいるのだが、
defencemulsetを行っているキャラでは、その効果を上げる前に上書きされてしまうので、
結果的に効果がなくなっているというわけです。

私のキャラの代表的なところで、鷲塚の最終狼牙で説明すると、
最終狼牙を連続技に組み込んだ場合は、
基本は「通常技→狼牙→直式→真狼牙→最終狼牙」とつなぐうち、
真狼牙と最終狼牙の前にそれぞれsuperpauseの処理が行われているため、
デフォルトの補正が働くキャラには、真狼牙の時は防御力1.5倍、最終狼牙の時は2.25倍となっているわけです。
この防御力2.25倍の状態で、135ダメージ程度はいるように設定してあるため、
補正が適応されていない状態では、300ダメージの追撃が入りとんでもない減り方をしてしまうというわけです。

状況として起こりやすいのが、一般的なdefencemulsetによるダメージ補正を行うキャラは、
HPが50%を切ったあたりから防御力が上昇することが多いのですが、
通常技→狼牙→直式→真狼牙までのダメージが丁度半分を超えない程度に当たった時に、
結果的に根性値が一切適応されずに最後の300ダメージが直撃し、7割強から8割弱というとんでもないダメージが入ります。
もっとも、ある程度HPが減った状態で根性値が適応されているのなら、
総合的なダメージはデフォルトの超必補正が掛かるより少なくなることもあるわけで、
その辺は残りHPと根性値の値次第ということになります。

上の例で7-8割減ってしまった場合でも、defencemulsetが根性値に適応されているキャラの場合なら、
この残ったHPは見た目上は2-3割であっても、根性値を適応していないキャラの4割分程度に当たることが多いため、
見た目のインパクトをのぞけば、まだ比較的マシといえるのですが、
defencemulsetを特定のモードにおける防御量変動にのみ用いた場合などは、
泣けるほど減る凶悪攻撃と化すわけです。

ここで、Super.TargetDefenceMulがかかっていないことを前提にダメージを設定すると、
補正が掛かるキャラに対してのダメージが少なくなりすぎますし、
現状ではdefencemulsetを用いていないキャラの方がまだ多く、
また、defencemulsetを設定しているためにSuper.TargetDefenceMulが働かないキャラでは、
減りすぎているように見えてもその後のライフが根性値の分、比較的粘れるケースが多いので、
どちらかといえば、デフォルトのSuper.TargetDefenceMulによる補正を考慮したダメージに設定した方が、
自分のキャラの場合は比較的問題が少ないと考えています。


さらにいうと、このdefencemulsetによる根性値の設定をしたときには、もう一個問題点があるのです。
それは、上でチラッと述べたstate5120など、特定のタイミングで強制的にdefencemulset=1にリセットされるのに、
くらい状態にならないと、次のdefencemulsetの設定を受け付けないので、
例えば体力1/4で防御力が1.5倍になるキャラがいたとしても、
ダウンして起き上がった直後は、システム側で防御力がリセットされ、かつくらい状態ではないので、
体力が1/4以下であるにもかかわらず、次の一回目の攻撃に関しては根性値が適応されていない状態で食らってしまうのです。

ただ、くらい状態になった直後から根性値が適応され始めるので、
勿論連続技なら最初の一撃以外は根性値はきちんと適応されますし、
多段技であっても、多段の一ヒット目以外は補正がかかりますので、それほど大きな問題はないのですが、
「連続技何それおいしいの?」的な単発高火力の一撃を直接食らった時には(サムスピの大斬りなど)、
結構泣けたりしますので、相性問題が発生するところでもあります。
(コンボキャラ同士ではまず問題にはならないと思いますが。)

ちなみに、基本のdefenceの値は、このようなものに左右されずに、最終計算でのダメージを補正しますので、
defencemulsetとは根本的に違います。
よって、defenceの基本値が高いキャラというのは、常に安定した高い防御力を誇るのに対し、
defencemulsetで防御力を高めた場合には、デフォルトの超必補正の有無や単発火力のあるなしなどで、
意外と相性差が出安くなるのが特徴といえるでしょう。
(一般的に硬いと感じやすいキャラをみると、ヨハンのdef150や2k2ルガールのdef200などが代表的で、
 彼らが、どのようなキャラに対しても安定した硬さを誇るのは、基本のdefenceが高いことが大きいのです。)

最後にもう一つ小ネタですが、防御力のリセットはどうやらstate0に戻る瞬間にもかかっているようで、
なおかつ、くらい状態からこのstate0に戻る瞬間のフレームというのはガード不可であるために、
ぴったりstate0に戻る瞬間に攻撃を重ねるように連続技を行うと、
防御力がリセットされ補正を切ることができます。
これはdefencemulsetで防御力を設定しているキャラには、
その後のコンボの内、state0に重ねた初段のみが補正が適応されないだけなので、あまり意味がないのですが、
defencemulsetを使用していない、Super.TargetDefenceMulが働くキャラの場合は、
その後の超必のダメージや、超必後のダメージに本来かかるはずの防御力1.5倍が適応されずに、
連続技だけはつながるので、想定外のダメージを出すことが可能となります。
まぁ狙って出来るものではないですけどね・・・AI以外なら(-_-;)
AIだと狙ってこのstate0に戻る瞬間に重ねることも可能になるので、
それが決まって補正が切れると、もの凄いダメージが出たりして面白いですよ。
裏技みたいなもので、テクとしては面白いですよね。


防御力に関して今回は長々と述べてきましたが、大体こんな感じだと思います。
既にお気づきかと思いますが、今回述べてきた問題は、なによりもmugenの基本システムによるところであるため、
こればかりは仕方が無いと言うしかないですね。
非くらい状態でも防御力が変動でき、
デフォルトの超必補正がdefencemulの利用ではなく、基本のdefenceの値を一時的に変動するものであれば、
これらの問題はいずれも起きえない訳ですが・・・本当に残念ですね。

また、感想や疑問、間違いの指摘などありましたら、宜しくお願いします。

  1. 2009/01/16(金) 23:46:07|
  2. AIなど各種考察関係
  3. | トラックバック:0
  4. | コメント:4
<<更新予定について | ホーム | 宣言でもしないとやれなさそうなので、宣言してみました>>

コメント

MUGENの仕様ばっかりはどうしようもないですからね
そういえばDOS版MUGENは、ちゃんとくらい状態以外でも防御力が変わると聞きました
やっぱりバグなんでしょうね
とあるキャラは攻撃を受けるごとにライフを回復する(回復→ダメージ受ける)ことで防御力をあげてるように見せてましたけど、これでもいろいろおかしくなりますしね
いろいろと知れば知るほど、結構未完成な部分が多いですねMUGENは
まぁその限られた状況をなんとかして、自分の思い通りのものを作るのもまた楽しいのですが
10年も前のゲームエンジンで、今のゲームを動かせるわけですし
  1. 2009/01/17(土) 16:43:35 |
  2. URL |
  3. noHN #OUqKc1i.
  4. [ 編集]

はじめまして

全部読ませていただきました。
知らないことだらけで勉強になりました~。
今まで、PauseとSuperPauseがなんで別れているのか
考えたこともありませんでした・・・。
  1. 2009/01/17(土) 20:22:39 |
  2. URL |
  3. クモ丸 #c.KWENVk
  4. [ 編集]

>noHNさん

受けたダメージの一部を自動回復させるのは、一気に死んでしまったときや、
処理に1F使用するため、1Fごとのごく短い間隔で連続してダメージを受けたときなどは、
どうしても処理が上手くいかないんですよね。

なんにせよ、いろいろと不具合があったとしても、
それ以上に、これほど自由にいろいろ出来るフリーのエンジンは素晴らしと思います。
限られた条件でやりくりすること自体も楽しいですしね。

>クモ丸さん

はじめまして。お役に立てたようで何よりです。
実際良く分からないシステムとかがかなり多いと思うので、
ちょくちょく自分が分かる範囲で質問に答えてみようかなと思っています。
  1. 2009/01/17(土) 23:42:37 |
  2. URL |
  3. Ildanaf #-
  4. [ 編集]

承認待ちコメント

このコメントは管理者の承認待ちです
  1. 2012/09/01(土) 02:49:38 |
  2. |
  3. #
  4. [ 編集]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://ildanaf.blog94.fc2.com/tb.php/68-55575ba2
この記事にトラックバックする(FC2ブログユーザー)