【連載】格ゲー択理論 #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が決めていること)を説明したいと思います。
この記事が気に入ったらサポートをしてみませんか?