この長い長い長い記事はプログラマーのオススメのゲームの話をする Advent Calendar 2019の12/13の記事です。
1988年から(休止などを挟みつつも)続いており、シリーズの累計出荷本数も1200万本を超えているというボードゲームのシリーズ「桃太郎電鉄」、きっとご存知の方も多いのではないでしょうか。
最新作「桃太郎電鉄2017」が約3年前に出され、来年には「桃太郎電鉄〜昭和、平成、令和も定番!〜」も控えているこの有名シリーズを、"プログラマ的観点から"ご紹介します。
ルールなどはWikipedia等々にありますので、そちらをご覧いただくとして、今回は攻略法につながる思考に重点を置いて記載します。
攻略法といっても、巷間に出回っている「貧乏神に取りつかれないように動く」だの「冬の赤マスN回以上の持ち金をキープ(Nはシリーズによって変わる)」だのといった基礎的な各論は、そちらにお任せします。
桃鉄のコンピュータは、「思考ルーチンがゲームシステムに追い付いていない」とWikipediaにも書かれており、基本的にはあまり強くありません。
強いとされるルーチンは、概ね「乱数先読み・乱数調整が公言されている」「絶好調の性能を人間に比べて強くする」という調整になっています。つまり、ルーチンの強さでは追いつけないことを表明しているようなものです。
コンピュータに勝つための糸口はあちこちありますが、まずはシリーズ全体を通してみた上で概ね次のような性格付けにより強弱が表現されています。
この特徴から、攻略法として手引きが必要なのは概ね上級者レベルのルーチンのみで、中級者レベルはゲームのかき回し役、それ以下は憂さ晴らし役といって差し支えないでしょう。
中級者以下のレベルは取るべき行動にランダム性が入るために突発的にかき回す楽しみこそあれど、ゲーム全体で見て勝負で競う楽しみとなることは稀だからです。
上級ルーチンを押さえるうえでのポイントは
問題は絶好調。このシステムが導入されている作品の場合、上級ルーチンの絶好調は大抵人間のそれより強力です。最強ルーチンの場合はこれが思い切り強力なので、為す術もない場合もままあります。
これはもう「運」の部分の問題なので、下手に相手して浪費するよりは、放置して浪費なしにしのぎ切るほうが良いです。特に、後に時間がある場合は、先の読みで確実に勝ちに行けます。
時間がない場合、とれる対策は限られます。地力で追うと確実に競り負けますので、追ってはいけません(傷が広がるだけ)。有効な一手が取れる場合に限りその一手をとり、抑え込むことよりカードか物件を優先しましょう。(とじこめ、行動封じ、絶好調崩しなどが有効な一手ですが、条件はそろいにくい)
上級ルーチンの場合、条件分岐が複雑になるような「先」は実装できないと、プログラマの方ならお判りでしょう。ここが漬け込むスキになります。どんなルーチンなのか、想像してみることが勝利への一歩です。
さて、対人戦です。対人戦の桃鉄は対コンピュータ戦と比較にならないほど難しいです。とはいえ、ゲームは楽しくやるもの、別にここで鬼の形相になる必要はありません。
毎日が桃太郎電鉄のような平和な日々でありますように…というのは、桃鉄のスタッフロールの決まり文句ですが、まさにこの通りで、あまり感情的にきついことをやってはいけません。
私自身も、これを心掛けている結果「平和の意味を取り違えているような見るも凄惨な戦場と化した桃鉄」と評していただきつつ、いつでもプレイできています。
…本題、桃鉄対人戦(とコンピュータにも共通する)の手引きですが、古く、徒然草110段にその記述があります。
双六の上手といひし人に、その手立てを問ひ侍りしかば、
「勝たんと打つべからず、負けじと打つべきなり。いづれの手か疾く負けぬべきと案じて、
その手を使はずして、一目なりともおそく負くべき手につくべし」といふ。
要約すると「勝とうと打つのではなく、負けまいと打て。早く負けそうな手を検討し、それをすべて除外して一手でも遅く負ける手を選べ。」と言うことです。これは、桃鉄における手を選ぶ際の評価関数の作り方を示しています。
桃鉄で自分が取れる行動は手持ちのカードを使うかサイコロを振るかです。したがって、検討すべき手の数はさほど多くありません。しかし、一手を選ぶのに検討すべき情報の量は多いのです。
桃鉄の対人戦で勝ちに行くなら、次のような点は押さえておくべきです。
さて、上記の手順で手1つ1つの手はできるのですが、まだ再評価を行います。
目先のプレイヤー(自分の手の評価を自分の番が来てからやっているとは限らない)から順に上記の条件で手を決めたとき(余裕があればサブシナリオまで考えておく)、リスクなどが変わることはないか、ということです。
これにより、必要に応じて(優先順位をかえず)手の再検討を行い、良さそうな一手を定めます。
勿論、期待値で考える以上、自他ともに、キングボンビーをぴったり擦り付けられた、ホールインワンされた…などのイレギュラーは起こりえます。しかし、イレギュラーの確率は、相手が次善以下の手を取る確率より低いとみなせるでしょう(みなせないほどなら、リスクヘッジが不十分)。
イレギュラーの時は改めて先の手順で手を更新する必要があるだけで、そうでなければ常に2手・3手先まで定めてプレイすることができます。他プレイヤーの手番は、休み時間ではなく、そのプレイヤーの動きを見ながら自分の次の数手を定めるための検討時間なのです。
この思考になれれば、強力な手をノータイムで繰り出し続けるような、そんなプレイスタイルが標準になることでしょう。(そして、そのレベルの人同士の対戦は、テンポが素晴らしく、楽しめる対戦となることでしょう。)
桃鉄で勝つための思考についてざっと書いてきました。文章に起こすと結構難しいなと思いながら追いかけた、自分の思考過程でした。
でも、大事なことは、「楽しくワイワイとやること」です。こんな思考のために面白くなってしまうような桃鉄はいけません。
存分に楽しんで、その中で勝ちたいときに、この思考を意識してみてください。そうなってくれば、強くもなりますし、きっとこういえるでしょう。
「桃鉄大好き!」