第五章 システムとバランスNo.037
三すくみ
Rock-Paper-Scissors別名 三竦み、じゃんけんの関係
概要
三つの選択肢のそれぞれが一つに強く一つに弱い関係。槍兵は騎兵に、騎兵は弓兵に、弓兵は槍兵に強いという関係で、強い側から弱い側へ矢印を引くと輪になる。どの選択肢にも苦手な相手がいるので一つが最善になることがなく、相手が何を選ぶかを読んで選ぶことに意味が生まれる。
使われる場面
- 兵の種類を組み合わせて戦う戦略ゲーム
- 槍兵、騎兵、弓兵のような兵の種類に三すくみの相性を付ける。相手の編成を見て自分の編成を変える意味が生まれる。一つの兵だけでそろえた編成はそれに強い兵で崩せる。
- 1 対 1 の近接戦の読み合い
- 打撃は投げに、投げは防御に、防御は打撃に強い関係にする。相手が次に何をするかを読んで手を選ぶ駆け引きが生まれる。
- 属性の相性
- 攻撃と敵の属性に三すくみを付ける。火は草に、草は水に、水は火に強くする。敵に合わせて武器や仲間を持ち替える理由ができる。
- 同時に手を出し合う対戦
- 両方が手を伏せて出して同時に開く。三すくみの相性で勝ち負けを決め、相手の出し方の癖を読む遊びにする。
判断基準
| こういうとき | こうする |
|---|---|
| 強い武器が一つあって、ほかを使う理由がない | 選択肢どうしが戦ったときの勝率を表にして、どの相手にも 50% 以上勝つ行がないかを見る。あればその選択肢に強い相手を一つ作り、強い側から弱い側への矢印が輪になるようにする。 |
| 相性のせいで選んだ時点で勝ち負けがほぼ決まってしまう | 相性が強すぎる。有利な側の勝率を下げ、不利な側にも 2〜4 割の勝ち目を残す(有利な側の勝率で 60〜80%)。 |
| 相性があるのに、どれを選んでも勝ち負けがほとんど変わらない | 相性が弱すぎる。有利な側の勝率を上げる。デモのモデルでは有利な側の勝率が 55% だと、今いちばん勝てる兵を選んでも勝率は平均 51% にとどまる。 |
| 相手の選んだ物を見てから選ぶといつも有利になる | 両方が選び終えてから同時に見せる。途中で選び直せる作りなら、選び直すのに時間や資源の代償を付ける。 |
| ある兵を強くしたら、その兵に強い兵ばかり使われるようになった | 三すくみで釣り合う割合はその兵が加わらない組の相性で決まる。割合を変えたい兵があるなら、残りの 2 つの兵のあいだの相性を変える。 |
| 選択肢を 4 つ以上に増やしたい | どの選択肢も強い相手と弱い相手を同じ数ずつ持つように並べる。数が偶数なら互角の組を入れてそろえる。 |
遊んでこう感じたら
指示の例
槍兵が騎兵にも弓兵にも強くて、ほかの兵を使う理由がない。兵の相性を三すくみにして弓兵を槍兵に強くし、有利な側の勝率はどの組も 70% くらいにそろえて
兵を選んだ時点で勝ち負けがほぼ決まってしまう。三すくみの有利な側の勝率を今の 90% から 70% くらいに下げて、不利な兵でも 3 割は勝てるようにして
属性の相性があるのに、どれを選んでも勝ち負けがほとんど変わらない。三すくみで有利な側のダメージの倍率を上げて、有利な組で戦わせると 7 割ほど勝つようにして
相手の手を見てから選べるので、後から出したほうがいつも勝つ。三すくみの手は両方が選び終えてから同時に見せる形にして
槍兵が騎兵に勝つ割合を上げたら、槍兵ではなく弓兵ばかり使われるようになった。三すくみの相性の表とそこから求めた釣り合う割合を出して、どの兵も 25〜40% に収まるように相性を直して
詳細
一つに強く一つに弱い三つの選択肢
兵の種類や武器や属性のように、プレイヤーが選ぶ選択肢どうしに強い弱いの関係を付ける場面がある。以下では、二つの選択肢が戦ったときに勝つ割合が 50% より高い側を強い側と呼ぶ。強い側が勝つ割合を有利な側の勝率と呼ぶ。
三つの選択肢のそれぞれが一つに強く一つに弱い関係を三すくみと呼ぶ1。デモでは槍兵は騎兵に、騎兵は弓兵に、弓兵は槍兵に強い。強い側から弱い側へ矢印を引くと輪になる。どの選択肢にも負ける相手がいるので、どれか一つがいつも最善になることはない。何を選べばよいかは相手が何を選ぶかで決まり、相手を読んで選ぶことに意味が生まれる。
三すくみの一つの相性だけを逆にすると、この性質は崩れる。弓兵が槍兵に強い所を逆にすると、槍兵は騎兵にも弓兵にも強くなる。強さは槍兵、騎兵、弓兵の順に一列に並ぶ。矢印は槍兵から一方向に流れる。この関係では相手が何を選んでも槍兵より勝てる兵はなく、騎兵と弓兵には選ぶ理由がない。一つの選択肢がどんな相手にも最善になる状態は「支配的な戦略」で扱う。
デモのモデル
デモの 2 つの段では同じ規則で動く 100 人のモデルが兵を選んで戦っている。
- 戦う:毎回全員をランダムに 2 人ずつ組にして 1 回ずつ戦わせる。勝ち負けは選んだ兵の組み合わせの勝率で乱数を引いて決める。同じ兵どうしなら 50% である。
- 乗り換える:負けた人のうち 20% が次の回から自分に勝った相手の兵を選ぶ。
- 選び直す:毎回全員のうち 2% の人が相性に関係なく 3 種類から選び直す。
選び直す人がいないと、ある兵を選ぶ人が偶然 0 人になったときにその兵はもう戻らない。乗り換える先は自分に勝った相手の兵だけで、0 人の兵に勝たれることはないからである。2% の選び直しは一つの兵が偶然に消えたまま戻らなくなるのを防ぐために置いている。
2 つの段は同じ乱数のシードを使う。同じ組み合わせで戦い、同じ乱数で勝ち負けと乗り換えを決める。2 つの段の差は相性の違いだけから生まれる。割合はこのモデルで数えた値であり、実際のプレイヤーの選び方を測ったものではない。
輪になる相性と一列の強弱
以下の数値は操作パネルが既定のとき(有利な側の勝率 70%、下の段は一列の強弱)のものである。自動再生では 3 種類をほぼ同じ人数(34 人、33 人、33 人)にして始め、150 回目を終えたところで弓兵を 30 人増やす。
下の段(一列の強弱)では 20 回目に槍兵を選ぶ人が 80% に達する。槍兵はどの兵と戦っても 50% 以上勝つので、乗り換えは槍兵へ向かう流れしか生まない。その後も槍兵は、弓兵を増やすまで 74〜94% を占める。
上の段(三すくみ)では、弓兵を増やす前の 150 回のあいだどの兵も 14〜53% を行き来する。ある兵が増えると、その兵に強い兵を選んだ人がよく勝つ。負けた人はそちらへ乗り換える。増えた兵ほど自分に強い兵を呼び込むので、一つの兵に集まり切ることがない。
150 回目の後に弓兵を 30 人増やしたときの動き方も 2 つの段で違う。上の段ではいちばん多い兵が騎兵、槍兵、弓兵の順に入れ替わっていく。弓兵が増えると弓兵に強い騎兵が勝ち、騎兵が増えると騎兵に強い槍兵が勝つからである。下の段では増やした弓兵が槍兵にも騎兵にも負けて減り、181 回目には槍兵が再び 80% に達する。
同じモデルをボタンを押さずに 2 万回進めると、上の段の割合は平均して 3 種類とも 33% になる。いちばん少ない兵が 5% を下回ったのは 2 万回のうち 0.1% の回だけで、0 人になった回はない。下の段では槍兵が平均 85% を占める。
相性の強さの決め方
有利な側の勝率は 1 回の勝負で選んだ兵がどれだけ結果を決めるかを表す。90% なら、不利な組み合わせで戦う側は 10 回に 1 回しか勝てない。勝ち負けは兵を選んだ時点でほぼ決まり、戦い方の腕で返せる分がほとんど残らない。反対に 55% では、有利な組み合わせでも勝ち負けはほとんど五分である。相性を覚えて選び分けても、結果はあまり変わらない。
デモの表の右端の列は、今の顔ぶれから相手を 1 人選んで戦ったときにその兵が勝つ割合である。この列のいちばん大きな値は今の流行を読んで兵を選んだ人がどれだけ得をするかを表す。上の段(三すくみ)を 2 万回進めて平均すると、この値は有利な側の勝率が 55% なら 51%、70% なら 54%、90% なら 59% になる。55% では流行を読んで選んでもほとんど得をしない。
有利な側の勝率は両極端を避けて決める。不利な側にも 2〜4 割の勝ち目を残す 60〜80% から試し、遊んで確かめる。戦い方の腕で結果が大きく変わるゲームなら低めに、選ぶこと自体を主な駆け引きにするゲームなら高めにする。勝率を直接決めずに与えるダメージの倍率などで相性を付けたときは、有利な組で何度か戦わせて勝つ割合を数える。
一つの相性だけを強くしたときの割合
操作パネルで下の段を「槍兵だけ強い三すくみ」にすると、槍兵が騎兵に勝つ割合だけが 10 ポイント上がる(既定では 70% から 80%)。槍兵を選ぶ人が増えそうに見えるが、増えるのは槍兵に強い弓兵である。
理由は三すくみで割合が釣り合う条件にある。今の顔ぶれに対する勝率が 50% より高い兵があると、その兵に負けた人が乗り換えてその兵が増える。割合が釣り合うのはどの兵も今の顔ぶれに対する勝率がちょうど 50% になるときである。有利な側の勝率から 50% を引いた値をその組の有利さと呼ぶ。騎兵は弓兵に勝って槍兵に負ける。騎兵の勝率が 50% になるのは、弓兵から得る分と槍兵に失う分が等しいときである。
騎兵が弓兵に持つ有利さ × 弓兵の割合 = 槍兵が騎兵に持つ有利さ × 槍兵の割合
槍兵と弓兵についても同じ式が立つ。3 つの式を解くと、各兵の割合はその兵が加わらない組の有利さに比例する。槍兵の割合は騎兵と弓兵の組の有利さに、騎兵の割合は弓兵と槍兵の組の有利さに、弓兵の割合は槍兵と騎兵の組の有利さに比例する。既定の有利さは槍兵と騎兵の組が 30 ポイント、ほかの 2 組が 20 ポイントである。割合は槍兵と騎兵が 7 分の 2(29%)ずつ、弓兵が 7 分の 3(43%)になる。槍兵が騎兵に強くなったので、騎兵が勝率 50% を保つには騎兵が勝てる弓兵が増えるか騎兵を負かす槍兵が減るしかない。
デモのモデルを 2 万回進めた平均は弓兵 41%、槍兵 32%、騎兵 27% である。弓兵がいちばん多く、強くした槍兵が増えていない点は式と同じである。式とのずれは毎回 2% の人がでたらめに選び直す分から生まれる。
三すくみの一つの相性を変えると、割合は直観と違う向きに動く。ある兵を強くすると、使われるようになるのはその兵に強い兵である。ある兵の割合を変えたいなら、その兵が加わらない組(残りの 2 つの兵のあいだ)の相性を変える。
選ぶ順番と相手に見せる情報
三すくみの駆け引きは相手が何を選ぶかを知らないまま選ぶことで成り立つ。相手の選択が選ぶ前に見えるなら、後から選ぶ側はその選択に強い兵を選べる。三すくみではどの兵にも強い兵があるので、後から選ぶ側はいつも有利な組み合わせで戦える。デモの既定なら後から選ぶ側は 1 回ごとに 70% の割合で勝つ。先に選ぶ側にはそれを避ける手がない。
後出しで決まらないようにするには、選ぶ順番と見せる情報を決める。
- 同時に選ぶ:両方が選び終えてから同時に見せる。
- 選び直しに代償を付ける:一度選んだ後でも変えられるが、変えるのに時間や資源がかかるようにする。兵を作り直すのに時間がかかる戦略ゲームがこの形になる。
- 一部だけを見せる:選ぶ前には相手の選択の手がかりだけを見せる。
1 対 1 の近接戦で打撃、投げ、防御を三すくみにしたときは、攻撃の出始めの構えが相手に選択を見せる情報になる。構えが長くて見てから防御や打撃を選び直せるなら、読み合いではなく見てからの対応になる。構えの長さは「予備動作」で扱う。
一強を避ける手段として
三すくみは一つの選択肢が常に最善になる状態(「支配的な戦略」)を避ける手段の一つである。どの選択肢にもそれに強い相手を一つ用意する。
AI に作らせたゲームでは、選択肢どうしの勝率を表にして出させる。デモの右の表と同じく、行の選択肢が列の選択肢に勝つ割合を並べる。どの列にも 50% を下回る値がない行があれば、その選択肢はどの相手にも負けない一強である。どの行にも 50% を超える値と下回る値が 1 つずつ以上あれば、どの選択肢にも強い相手と弱い相手がいる。
選択肢を 3 つより増やすときも同じ表で確かめる。5 つなら輪に並べ、どれも次の 2 つに強く前の 2 つに弱くすればよい。どれも強い相手と弱い相手を 2 つずつ持つ。4 つのような偶数では、どれにも同じ数の強い相手と弱い相手を持たせるには互角の組が要る。4 つなら輪に並べて隣に強くし、向かい合う 2 組を互角にする。どれも強い相手と弱い相手と互角の相手を 1 つずつ持つ。選択肢が n 個あると、覚える相性は n × (n − 1) / 2 組になる。3 つなら 3 組だが、5 つなら 10 組になる。増やすときはプレイヤーが覚えられる組の数かどうかを遊んで確かめる。
ほかの用語との関係
「リスクとリターン」は危険の大きさと報酬の釣り合いで選択肢を並べる。三すくみは相手の選択との相性で選択肢を並べる。どちらも一つの選択肢がいつも得になるのを避けるための作りである。
「コアループ」の輪の中に編成を整える行動があるなら、三すくみは相手を見て編成を変える理由になる。相手が変わらなければ、編成を変える理由もなくなる。相手の編成に幅を持たせ、選び直す機会を輪の中に作る。
脚注
-
三すくみはもともと、蛇は蛙に、蛙はなめくじに、なめくじは蛇に強いので三者がそろうとどれも動けなくなる(すくむ)という言い伝えから来た言葉である。英語ではじゃんけんになぞらえて Rock-Paper-Scissors と呼ぶ。強さが一列に並ばない関係という意味で intransitive(非推移的)とも言う。 ↩