見出し画像

【連載】格ゲー択理論 #01 「簡単な起き攻めの期待値を計算してみよう」

この連載では、格闘ゲームの「択」について、理論的にきちんと扱っていきたいと思います。数式メインではなく、スト6の具体例をもとに、なるべく感覚的に書くつもりです。

今回の#01は、ある前提のもとで択(起き攻め)をした時に、予想される結果(ダメージ)の平均値、つまり「期待値」の算出方法についてです。択の構造の理解に役立ちます。


期待値とは?

択はじゃんけんですから、その結果は確率に応じてさまざまに分岐し、またそれぞれの結果で与えられるダメージはバラバラです。
読み(?)が通って大ダメージを与えられる場合もあれば、逆に読まれてダメージゼロだったり、場合によっては逆にダメージを喰らう場合もあるでしょう。

こういう時、択の強さを評価するには、一喜一憂せず、「1回の択で得られるダメージの『平均値』」を調べるべきですよね。

1回の試行で得られる値の平均値のことを「期待値」と言います。
例えば、こちらが起き攻めを仕掛けたとき、「平均してこのくらいダメージを与えられるよね」って値が期待値です。

ということで、今回は期待値の計算方法を紹介します。

期待値の計算方法がわかると、「択の中身・構造」がわかるようになります。これが今回の記事が提供できる最大の利点ですかね。
また、択に役立つ具体的な情報は、今後この期待値を用いて導出していきますで、今回はその前提知識になります。

実際に期待値を計算してみよう

では、実際に択のダメージの期待値を計算してみましょう。
まずは状況を限定した簡単なケースから始めて、その後、徐々に複雑な状況にしていきたいと思います。

大前提

一応、下記の通り前提を決めておきます。
・ゲームは「ストリートファイター6」(2023年10月14日のバージョン)!
・自分の使用キャラは「リュウ」!相手も「リュウ」!
・互いに体力Max!ドライブゲージもMax!一方、SAゲージはゼロ。
・択の後の状況は、全て五分五分!(現実は、有利フレームや、再度起き攻めに行ける状況などがありますが、今回は無視します。)

簡単な起き攻め①

こちらが密着起き攻めを仕掛けます。

こちらの選択肢は、まずは「立中P重ね」のみとします。

相手の選択肢は、「ガード」と「投げ暴れ」の2つのみとします。
そして、相手は「ガード」を70%、「投げ暴れ」を30%の確率で行うとします。

※補足
確率は「パーセント表示」と「割合表示」があります。
パーセント表示で言う100%は、割合表示で言う1.0です。%を100で割れば割合になると考えればOKです。
計算時は割合表示を使いますので、以後は基本的に割合表示で書きます

この択の結果は2つあります。

A:こちらが「打撃重ね」、相手が「ガード」してきた場合
こちらの立中Pはガードされて、相手に与えるダメージは0(ゼロ)。

B:こちらが「打撃重ね」、相手が「投げ暴れ」してきた場合
打撃重ねと投げが合わさると、打撃が勝ちますね。よって、立中Pが当たり、「立中P→屈中P→中竜巻旋風脚」のコンボで相手に1920ダメージを与えるとします。

この時の起き攻めの期待値を計算してみましょう。

期待値の計算方法は、「全ての結果に対し、それが起こる確率とダメージをかけたものを計算し、最後にそれらを全て足し合わせる」です。

まず、それぞれの結果について、確率×ダメージを計算します。

A:こちらが「打撃重ね」、相手が「ガード」してきた場合

$$
\frac{70}{100}×0 = 0 
$$

B:こちらが「打撃重ね」、相手が「投げ暴れ」してきた場合

$$
\frac{30}{100}×1920 = 576
$$

よって、期待値は、

$$
0 + 576 = 576 
$$

です。

これの意味するところは、『密着起き攻めの際に、相手が「ガード」を0.7、「投げ暴れ」を0.3の確率で行ってくるときに、自分が打撃重ねを1.0の確率で行った場合(つまり毎回行った場合)、平均で576のダメージを与える』ということです。

10回に3回通って、通ったら1920ダメージ与えるんだから、期待値576って、まあそんなもんかな、って感じですね。

簡単な起き攻め②

こちらの選択肢が一つだけだとつまらないですよね。
次に、こちらの選択肢として「投げ重ね」を追加します。
相手の選択肢は「ガード」と「投げ暴れ」の2つのまま。

この択の結果は前述のA、Bに加えて、次のD、Eがあります。
(Cはどうした!?と思うかも知れませんが、Cは次回出てきます)

D:こちらが「投げ重ね」、相手が「ガード」してきた場合
投げはガード不能ですから、こちらの投げが通り、1200ダメージを与えます。

E:こちらが「投げ重ね」、相手が「投げ暴れ」してきた場合
投げと投げがかち合った場合、グラップが起こり、ダメージは0(ゼロ)です。

で、こちらは「打撃重ね」を0.5、「投げ重ね」を0.5で行うとしましょう。
そして、相手は相変わらず、「ガード」を0.7、「投げ暴れ」を0.3の確率で行うとします。

では、さっきと同じく、それぞれの結果について、確率×ダメージを計算します。

A:こちらが「打撃重ね」、相手が「ガード」してきた場合

迷うのは、Aが発生する確率です。
こちらが「打撃重ね」をする確率は0.5(50%)。
そこから先、更に相手が「ガード」してくるのは、その更に0.7(70%)です。
50%の更に70%ですから、確率は0.5×0.7で0.35(35%)です。
要は、互いの選択肢の確率をかければいいわけですね。

結果Aのダメージは0(ゼロ)ですから、確率×ダメージは、

$$
0.5×0.7×0 = 0 
$$

頑張って確率を計算しましたが、ゼロでしたね。

B:こちらが「打撃重ね」、相手が「投げ暴れ」してきた場合

同じように、互いの選択肢の確率をかけて、さらにダメージをかけましょう。

$$
0.5×0.3×1920 = 288
$$

D:こちらが「投げ重ね」、相手が「ガード」してきた場合

$$
0.5×0.7×1200 = 420
$$

E:こちらが「投げ重ね」、相手が「投げ暴れ」してきた場合

$$
0.5×0.3×0 = 0
$$

最後に全部足して、期待値を計算します。

$$
0+288+420+0=708
$$

これの意味するところは、『密着起き攻めの際に、相手が「ガード」を0.7、「投げ暴れ」を0.3の確率で行ってくるときに、こちらが「打撃重ね」を0.5、「投げ重ね」を0.5の確率で行うと、平均で708のダメージを与える』ということです。

ここまでで言えること

ここまで構造が簡単な択を例に、2つ紹介しました。

1つ目の例の期待値は576に対し、2つ目は708です。つまり、2つ目の方が1回の択でダメージを与えられる平均値が高く、お得ということですね。
ここで、1つ目と2つ目の違いを見ていくと、実は相手の行動は同じです。違うのはこちらの行動のみです。

よって、こちらの行動次第で択の期待値は変わります。
どうせなら期待値が高くなる行動を選びたいですよね?
もっと言えば、相手の行動に対して、「最も期待値が高くなるこちらの行動」があるはずで、それを選びたいですよね!?

それさえしてりゃ、勝率、激上がりな気がしますよねェッ!!?

それの算出方法は#03くらいで書きます。
(ちなみに、それを「最適反応」と言い、この例の場合は「投げ1.0」です。格ゲーの場合、最適反応は極端な行動になりがちです)

ですが・・・

実は、それはあんまりおススメの方法ではないんですよね。

期待上げておいて落としたくないので、先に言おうと思いますが、この連載で最終的におススメしたいのは別の方法です。

次回予定

次回#02は、もう少し択を複雑にするために、お互いにもう一つ選択肢を増やしてみます。
攻める側がやられて一番腹が立つ「無敵技暴れ」を追加します。それに対となる攻め側の選択肢として、「後ろ下がり(シミーも兼ねる)」も入れます。

そうなると分岐が複雑でわかりにくくなるので、それを表でまとめる方法も示します。

その上で、択がどんな構造になっているか(こちらで決めることが出来ること、相手が決めること、実はCAPCOMが決めていること)を説明したいと思います。



この記事が気に入ったらサポートをしてみませんか?