tsukammoの収穫記

上下左右の更地にアルゴリズムを

codingame:Spring Challenge 2021 問題予想

これはなに?

お題のゲームを解くプログラムを各自が作成、サイト上に提出して順位を競い合うゲームAIコンテストCodinGame「Spring Challenge 2021」について、公開されている情報から問題を予想しようという遊びです。
コンテストページ:https://www.codingame.com/contests/spring-challenge-2021
コンテスト期間:5月6日~5月17日 f:id:tsukammo:20210403052500p:plain

なお、コンテストが始まっていないので、この記事を読んで得られる情報は特にありません。

おことわり

本記事はコンテスト開催が待ち切れない沼先案内人の妄想を書き起こしたものです。筆者は本コンテスト関係者と一切の関わりを持ちません。また、CodinGameではコンテスト内容や自身のアイディアに関する言及が許されており、本記事が万が一当たってたとしても問題は無いという考えの元、公開しております。 もし本記事によりコンテスト開催に支障が生じる場合、すみやかに削除いたします。

それでは早速はじめましょう。

手掛かり

コンテストのtopページを見るに、ルールはいつも通り11日間、コンテスト名も記号的な「Spring Challenge」のため、top画像が唯一の手掛かりです。 この画像から、モチーフがスタジオジブリ制作の映画「となりのトトロ」であることがわかります。
CodinGameはゲームAIコンテストサイトなので、過去にぷよぷよボンバーマンなどがコンテスト化されましたが、トトロはそもそも映画なのでそのままコンテストにはなり得ません。そこで、"トトロ ゲーム"で検索をかけるとこんな商品がヒットしました。

item.rakuten.co.jp

2~4人用のボードゲームのようです。奇しくもCodinGameのプラットフォームの仕様と同じです。ボードゲームといえば、前回のコンテストのFall Challenge 2020では、下記のボードゲームがモチーフとなっていました。

item.rakuten.co.jp

センチュリースパイスロードの日本販売元は株式会社アークライトで、トトロのどんどこゲームのゲームデザイン会社と同じなのですが、センチュリースパイスロード自体はカナダの Plan B Games という会社が開発したものなのであまり関係は無さそうです。 とはいえ他に選択肢が無いので、このボードゲームがモチーフになると仮定して問題を予想します。

コンピュータゲームに変換する

トトロのどんどこゲームのルールはこちらにインストが公開されていました。以下は、トトロのどんどこゲームのルールをご理解いただいているという前提で進めます。

プログラムはサイコロを振らない

人間がプレイするボードゲームでは、ゲーム性を高めるために確率的な事象の発生、つまりサイコロを振るという操作がなされます。トトロのどんどこゲームでは、所謂"すごろくゲー"と呼ばれるサイコロの出目で駒を進めるゲームデザインとなっています。ところが、明確に優劣を付けたいゲームAIコンテストにおいて、不公平な確率の介在はいたずらに必要な試行回数が増すだけです。私の記憶にある限り、過去のCodinGameにおいてアイテムやマップ生成など、互いのプレイヤーに公平に影響する要素に確率が介在することはあれど、提出された各botの出力内容自体に確率が介在するようなゲームデザインはありませんでした。

このような場合に、過去のコンテストでは同時着手ゲームにアレンジされることが多かったです。同時着手ゲームの場合、互いのプレイヤーの行動に差異が生まれるよう、じゃんけんの要素を入れる必要があります。前々回のコンテストでは、パックマンをモチーフとし、文字通りじゃんけんのグーチョキパーの属性に変わる行動が可能でした。これによりプレイヤー間の読み合いが発生し、ゲーム性が生まれます。
しかし、モチーフ上トトロにはそのようなじゃんけん要素が存在しません。小トトロ達がじゃれ合うのは微笑ましいですが、足を引っ張り合うのは見たくないものです。どうしたらよいでしょうか。

人類は愚か

人間は忘れる生き物です。トトロのどんどこゲームでも、得点となるどんぐりをたくさん得るため、相手プレイヤーの手札から神経衰弱のように目当ての探し物カードをめくる操作があり、記憶力が問われます。一方、プログラムはメモリの許す限り覚えておけるため、記憶力を問うても優劣は付かないでしょう。

さらに、トトロのどんどこゲームでは一度公開された探し物カードは全プレイヤーが利用可能です。そのため、もっともどんぐりの獲得数が多い探し物が決まってしまい、各プレイヤーは勝つためにそれしか選択しない状況が生まれます。探し物のひとつであるトウモロコシは、いくら劇中で物語のクライマックスに繋がる重要なアイテムとはいえ、ルール上高得点だからとそればかり選ばれてしまうと、もうひとつの探し物である傘を届けてもらえなかったお父さんは、雨の中一人寂しくずぶ濡れで帰ることになってしまいます。どうしたらよいでしょうか。

踊らにゃ損損

トトロのどんどこゲームは、あるプレイヤーがどんどこ踊り行ってクスノキを7段登るとゲーム終了となります。サイコロによる確率的な事象であればよいのですが、自由にマス目が選べる状況ではどんどこ踊りは踊り得となってしまい、ゲーム性を失ってしまいます。かといって、どんどこ踊りよりどんぐりの獲得数が多い行動とのトレードオフとなるようなデザインにしてしまうと、どんぐりの多さで勝敗が決まるというルール上、どんぐり集めに傾倒しクスノキを一切登らない無敗戦略が生じてしまいます。

前回のコンテストでは、モチーフとして素材を集めて完成品を作るゲームとなっており、スコアを稼ぐにはポーションを作成する必要がありますが、同時に6本目のポーションが完成した時点でゲーム終了となります。そのため、勝敗条件とスコア獲得が連動しており、スコアの低くて簡単に作れるポーションを作るか、簡単には作れないがスコアが高いポーション作るかのトレードオフが発生しました。どんぐりを集めつつ、クスノキを登ることを避けられないようにするには、どうしたらよいでしょうか。

item.rakuten.co.jp

歩こう歩こう東海道

これまでの考察から、トトロのどんどこゲームはゲームAIコンテストにするには根本的なゲームデザインが不向きであることがわかりました。正直とても困りました。しかし、遊びとはいえここで投げ出すわけにはいきません。モチーフを尊重しつつ、ゲーム性が生まれるデザインにするため、他のボードゲームについて頑張って調べました。すると、サイコロを振らない"すごろくゲー"を見つけました。

store.steampowered.com

Tokaidoというこのゲームは、各プレイヤーが自駒を任意のマスに進めることができます。ゲーム性を生むため、以下のような工夫がなされています。

  • 最大マス数が決まっており、ゴールに着いたらそれ以上駒を進めることができない。
  • 全プレイヤーがゴールに着いた時点でスコアが高いプレイヤーが勝利する。
  • スコアを上げるためなるべく多くのマスに止まりたいが、各マス毎に決められた数しか駒が止まれない。
  • ターン制ではなく、現在最もゴールから遠いプレイヤーから駒を動かす。(後ろにいると有利)
  • 特定のマスに連続で止まると獲得スコアが増えていく。(空きマスを飛ばしてでも狙ったマスに飛ばしたい)

このルールをトトロのどんどこゲームに当てはめてみると、モチーフを活かしたまま、ゲーム性を生むことができます。

  • ゴール地点がクスノキのてっぺんと見なせる。
  • 探し物カードの種類が、Tokaidoのマスの種類と同じものと見なせる。
  • 得点の高い探し物マスは奪い合いになり、得点の低い探し物マスを独占する選択とトレードオフが生じる。

やったぜ。

ゲームサイズ

コンピュータゲームは、人間によるプレイに比べて非常に高速に行動の処理を行えます。 そのため、元のゲームでは12マス・6種類の探し物・7段のクスノキ・中トトロ1匹でしたが、特にゲーム盤のマス目や中トトロの数に関しては拡大の余地が大きいと考えます。また、事前にすべてのマスが公開されてしまうとゲーム性が薄れるため、一定マス以上は公開されず、近付くことでマスの種類がわかるようなデザインも可能です。

完成したゲームルール

以上より、Spring Challenge 2021 の問題を以下のように予想します。

小トトロを操作しなるべく多くのどんぐりを集める4人ゲームです。各プレイヤーは、自分のターンに小トトロをいくつ進めるか出力して下さい。ただし、止まる先のマスに定められた定員を超えてしまう場合はエラーとなります。 勝利条件は、すべての小トトロがゴールに到達した時点でゲーム終了となり、最も多くのどんぐりを持っているプレイヤーが勝者となります。

マスについて

マスの種類は先頭の小トトロから5マス先まで確認することができ、全部で6種類のマスが存在します。小トトロがそのマスに止まった際、そのプレイヤーは予め定められた探し物カードを入手し、すでに獲得した同種のカードに記載された獲得どんぐり数との合計値だけどんぐりを入手します。
各マスには種類の他に、同時に止まれる定員が定められています。定員を超えてそのマスに止まることはできません。

ターンについて

ゴールに対し最も遠いプレイヤーが操作を行えます。操作後もゴールに対して最も遠い場合、連続して操作を行います。同一マスに複数のプレイヤーがいる場合、そのマスに訪れたターンが遅いプレイヤーから先に操作を行います。ゲーム開始時の順番はランダムに定められます。

リーグ毎の特徴やルール開放

  • bronze:4人ゲームです。
  • wood1:2人ゲームです。マスの種類が6つになります。
  • wood2:2人ゲームです。マスの種類は1つしかありません。

おわりに

ゲームAIコンテストが大好きで、過去色々なコンテストに参加してきましたが、実際に競技性のあるゲームを考えるとなると非常に難しいことがよくわかりました。毎回コンテストの題材を準備していただいているCodinGameと作成者の方に改めて感謝を。

今回考えたゲームについて、まだまだ要素が少なくプレイするには少々物足りないと感じています。とはいえ、モチーフをあまりに逸脱したゲームデザインを考えるのは本来の趣旨から逸脱するため、実際のコンテスト内容がどのようになるのか、ますます期待が高まりました。

それではまた、コンテストでお会いしましょう。