inani_waonの日記

コンテスト覚書

CodinGame Spring Challenge 2021 日本語訳ルール

2021/05/06より、CodinGameにてSpling Challenge 2021が開催されています。

www.codingame.com

この記事は、同コンテストのルールを日本語に訳して紹介するものです。*1個人が作成したものなので、間違いがあっても責任は負えません。ルール原文を読む補助に使うことを推奨します。

また、攻略情報は掲載しません。CodinGameではソースコード公開以外の情報共有は許可されているので、情報が欲しい方はCodinGame内のチャットやTwitter等で探してみてください。

 

1. ゲーム概要

2人同時着手ゲームで、HEX(6角形)フィールド上で木を育てて枯死させるゲームです。最終的にポイントを多く稼いだ方が勝利です。*2

リーグ制になっていて、Wood1,Bronzeになると段階的にルールが開放されます。

f:id:inani_waon:20210507023025p:plain

ちなみに、ボードゲームのPhotosynthesisがモチーフのようです。

 

2. 用語

2.1 森

37個の小さなセル(HEX)を繋げて大きな6角形を作ったものが森です。

ゲーム盤といったところでしょうか。

2.2 土壌

セル毎に土壌の品質があり、0~3の値が設定されています。Woodリーグは1~3のみです。

これはゲーム中は常に同じ値で、ゲーム開始時に1回だけ入力を受け取ります。

ゲーム盤の上に置くタイルといったところでしょうか。

品質1~3は得られる枯死ボーナス値(後述)が違うだけですが、品質0は種を植える(後述)ことができません。 

2.3 木

成長段階に応じてsize0~3の値を持ちます。

Wood2リーグは3のみ、Wood1リーグは1~3のみです。

毎ターン状態が変わる可能性があるので、毎ターン入力を受け取ります。

ゲーム盤の上に置く駒といったところでしょうか。 

2.4 SUN(太陽)ポイント

一言で言うと行動力で、行動するときに消費します。

 

3. ゲーム進行

3.1 ゲーム全体の流れ

1日を24回繰り返します。

ただしWood1リーグは6回、Wood2リーグは1回です。

それが終わるとゲーム終了です。

3.2 1日の流れ

1. 毎日の初めに、各プレイヤーはSUNポイント(行動力)を受け取ります。

2. 各プレイヤーは同時に行動を行います。SUNポイントが続く限り何回でも行動でき、両プレイヤーが行動終了するまで繰り返します。

3.3 SUNポイントの受け取り

木ごとにsizeと同じ量のSUNポイントを受け取れます。

ただし、Bronzeリーグ以上では、影の影響を受けた木はSUNポイントを発生させません。

影は日光が木に当たるとその木のsize分の長さだけ発生し、その木"以下"のsizeの木に影響を与えます。影になっている場所の木も影を発生させます。

日光は最初の日は左から当たっていて、毎日反時計回りに60度ずつ回転します。

3.4 行動の内容

GROW、SEED、COMPLETE、WAITの4つのコマンドがあります。

WAIT以外のコマンドは対象を指定しますが、同じ木を1日に2度以上対象にすることはできません。(ゲームルール上では休眠状態と表現)

WAIT

何もしません。両者がこれをすると1日が終了します。

COMPLETE

size=3の木(大きい木)を枯死させます。SUNポイントを4消費します。

得点を得て、対象の木は消滅します。

得られる得点は森の栄養価 + (土壌の品質-1) * 2ポイントです。

森の栄養価は最初20ポイントで、いずれかのプレイヤーがCOMPLETEコマンドを使うたびに1ポイント減少します。両者が同時使用した場合は2減少します。栄養価が0未満になることはありません。

COMPLETEを行った後の空き地は休眠状態ではないので、同一日に後述のSEEDコマンドの対象にできます。

GROW

指定した木のsizeを1上昇させます。消費するSUNポイントは、サイズと既存の木の数により異なります。

0→1 : 1 + 既存のsize1の木の数(自分の木のみ)

1→2 : 3 + 既存のsize2の木の数(自分の木のみ)

2→3 : 7 + 既存のsize3の木の数(自分の木のみ)

SEED

size=0の木(種)を発生させます。

既に持っている種の数と同じだけのSUNポイントを消費します。

種の発生源として既存の木を指定する必要があり、種とその木は次の日まで休眠状態になります。

種を発生させることができるセルは、発生源の木からそのsizeの距離までです。この距離は直線である必要はありません。また、土壌の品質が0のセルには種を発生させることができません。

このコマンドのみ対戦相手と衝突することがあり、その場合種は置かれずにSUNポイントは返還されますが、各発生源の木は休眠状態になります。

3.5 ゲーム終了

ゲーム全体の流れが全て完了するとゲーム終了で、より勝利点を持っているプレイヤーが勝利します。勝利点はCOMPLETEで得た得点に、ゲーム終了時に余ったSUNポイント3ポイントごとに1点を足したものです。勝利点が同点の場合は木が多い方が勝利で、それも同じなら引き分けになります。

ただし、ゲーム中に無効なコマンドを出力したり制限時間をオーバーした場合はその場で負けとなります。

 

4. その他情報

公式

コンテストのルール(規約)

サンプル的なもの

サーバソースコード

コドゲフォーラム:バグ報告、質問スレッド 解説動画(英語)もあり

非公式

CodinGameデバッグ補助手法

 

5. 終わりに

間違いや補足すべき事項があればTwitterかコドゲ内チャットでお知らせください。可能な限り修正します。

 

*1:いつもはhttps://twitter.com/tsukammoさんが書いてくださるのですが、体調不良とのことで代わりに書かせていただきました。

*2:枯死で点を得るという表現が直感的でないなら、ドングリの木を育てて木ごと収穫するという認識でも良いと思います。