ルール
AI用にルール他資料一式をまとめてコピペしたい方はクリック:
『CODE BATTLER』は、JavaScript のコード同士で対戦する戦略バトルゲームです。2人のプレイヤーがそれぞれ3体のロボットを操り、9×9のマス目フィールドで戦います。
プレイ方法
プレイヤーは、 Javascript 関数 planActions
を実装します。コードはゲームの進行中には修正できません。
planActions
は、行動可能な味方botの情報、フィールド全体の情報 (すべての敵、味方の位置を含む) を引数として受け取ります。
生存している各味方botのそれぞれに対して最大2つのアクションをプランとして return してください。
現在対応しているアクションは move
のみです。今後増えていく予定です。
botが移動すると、マスがチームカラー(red/blue)に塗り替えられます。これにより、フィールド上に自チームの勢力を広げていくことが可能です。
敵botのいるマスに移動しようとした場合は体当たりによってダメージを与えることができます。botには一定の耐久性があり、一度の攻撃では撃破されません。
敵味方の全てのbotがアクションを実行すると1ラウンドが終了します。移動の失敗、攻撃成功、被ダメージなどの情報とともに、再び planActions
がコールされます。
ラウンドの進行
敵チームも同様に planActions
のコードを内部に持っており、全く同じ条件でアクションプランを立ててきます。
2チーム双方から提出されたアクションプランをゲームエンジンは次のように処理します。
- 各botにはあらかじめ
speed
パラメータがあります。これは不変です。 - ゲームエンジンは
speed
の大きな bot から順にプランの2つのアクションを連続で処理します。 - チーム内の bot は異なる
speed
を持ちます。 - 敵チームに同じ
speed
を持つ bot がいた場合、奇数ラウンドでは blue、偶数ラウンドでは red が先に動きます。
移動しようとした先が wall
もしくは味方botの存在するマスだった場合、 move_failed
となります。敵botだった場合はダメージを与えます。移動は発生せず、次のアクションがあれば実行されます。
敵チームに塗られたセルに第一アクションで移動した場合、そのbotの第二アクションは無効となります。第二アクションで敵陣に踏み込んだ場合はペナルティはありません。この特性を活かした妨害や読み合いも戦略の重要な要素となります。
勝利条件
ゲームは30ラウンドで終了します。それまでにすべての敵botを撃破すれば勝利となりますが、双方生存している場合はより多くのマスを塗っていたプレイヤーが勝者となります。
勝利したらSNSにシェアしよう!
バトルにはそれぞれ固有の URL が割り振られます。どのような作戦で敵チームに勝利したかを SNS でシェアしましょう。
そこから、他のプレイヤーがあなたのコードへ挑戦することもできます。
ハッシュタグ #codebattler
をご使用ください。
ゲーム進行にはランダム要素はありませんので、何度実行しても必ず同じ結果になります。
コードを編集する挑戦者はblueチーム、挑戦を受ける側はredチームとなりますが、redチームには盤面反転処理が入りますのでblue前提のコードで問題なく挑戦を受けることができます。
MCP サーバ
AIでのコーディングを支援するMCP サーバをご用意しています。
- Streamable HTTP https://code-battler.heartrails.com/mcp
- SSE (旧仕様) https://code-battler.heartrails.com/mcp/sse
登録後、「code battler を始めたい」と指示することで、 AI が MCP サーバにアクセスし、基本ルール、コードサンプル等を取得できます。
upload tool も用意しておりますので、AIと協働で実装したコードを「アップロードして」と指示するだけで code battler へ反映させることもできます。
関連記事
プレイヤー向けの記事
CODE BATTLER で俺のコードと勝負だ! - HeartRails Tech Blog
実装に関する詳しい記事
CODE BATTLER を支える技術 - Zenn