1試合3分のつもりが、気づけば1日1〜2時間。私にとってクラロワ(クラッシュ・ロワイヤル)は、そういうゲームでした。
一度は距離を置きました。それでも、あの「何を・いつ・どこに出すか」で勝ち負けが決まる感じは、今でも好きです。だから今度は、遊ぶ側ではなく作る側に回ることにしました。
作っているのは、Claude CodeとGodotで作るオリジナルの対戦ゲーム「召喚士たちの戦場」(仮)です。この記事は、その制作ログの1回目です。

どんなゲームか|3分でタワーを壊し合う
キャラクターを召喚して、相手のタワーを壊したほうが勝ち。制限時間は3分です。召喚したキャラクターは自分で戦い、プレイヤーはカード・スキル・秘術で戦いを支えます。

いちばんこだわっているのは、レベル・装備・強化を一切入れないことです。全員が同じ性能のキャラクターを使うので、勝ち負けを分けるのは「何を・いつ・どこに出し、どう支えるか」だけ。タイトル画面には「育てるのではなく、使いこなせ。」と書きました。
レベルや装備をなくしたのは、課金で強さに差がつくゲームにしたくなかったからです。お金をかけた人ほど強くなるのではなく、読み合いがうまい人が勝つ。そこだけは最初から決めていました。

今の規模
| 項目 | 数 |
|---|---|
| キャラクター | 52人 |
| ステージ | 40 |
| イベント | 8 |
| 秘術(召喚士の切り札) | 5 |
| デッキ | 8人(3つまで保存) |
| GDScript | 約67ファイル・約2万6千行 |
エンジンはGodot 4.7、言語はGDScriptです。3Dモデルは画像を読み込まず、図形の組み合わせとBlenderのスクリプトで作っています。効果音も、ゲームの起動時にプログラムで合成しています。

好きだけど、似せない
好きなゲームを手本にすると、気づかないうちに似てきます。作り始めて3日目の9月28日、キャラクターの一覧を見直して、クラロワを思わせる3つを作り替えました。
| 最初の案 | 作り替えた後 |
|---|---|
| ゴブリン隊 | 見習い戦士隊 |
| コウモリの群れ | 鬼火の群れ |
| 骸骨兵団 | さまよう鎧 |
手本にするのは「3分で読み合う」という遊びの芯だけ。見た目と名前は自分のものにする。ここは、これからも守るつもりです。
Claude Codeで、バランスを数字で直す
対戦ゲームでいちばん難しいのは、バランスです。自分で遊んで「なんとなく強い」を直していると、きりがありません。
そこでClaude Codeに、CPU同士を自動で戦わせて、キャラクターごとの成績を集計する道具を作ってもらいました。全ステージのCPUデッキを戦わせ、キャラクターごとに「1コストあたり、タワーにどれだけダメージを入れたか」を出すものです。
結果は極端でした。タワーをまともに削れるのは、全キャラクターのうち3人だけ。そして当時あった20ステージのうち11ステージで、CPUのデッキにその3人が1人もいませんでした。お互いに守り合ったまま、時間切れになっていたわけです。
タワーを攻める役のキャラクターを1人増やし、全ステージのCPUデッキに必ず1人入れました。決着しなかった試合は、84試合中45試合から37試合に減りました。
ほかにも、ルールの単体テスト・自動対戦・画面の撮影と比較を、コマンド1つで回せるようにしてあります。GDScriptを書き換えるたびに、Claude Codeのフック(設定方法はhooksの使い方)で単体テストが自動で走り、0.3秒ほどで結果が出ます。今回この記事の画面写真も、その撮影の仕組みで47枚を17秒で撮りました。
Claude CodeとGodotの組み合わせ方は、Godot MCPの記事にまとめています。
ハマりすぎた側から、作る側へ
クラロワにハマりすぎて、1日20分までに減らした話はnoteに書きました。負けた直後に「次は勝てる」と思ってしまう仕組みも、そのとき自分なりに考えました。
作る側に回ると、その仕組みを今度は自分が設計することになります。どこで手に汗をかかせて、どこで手を止めてもらうか。遊ぶ人の生活を壊さない範囲で、そこを考えながら作っています。
次回は、自動対戦でバランスを直していく流れを、もう少し詳しく書きます。
私の場合は「何を・いつ・どこに出すかで決まる3分」でした。その1行があると、自分で作るときに何を真似て、何を変えるかがはっきりします。
続きを追う:X(@Tom_Java_Tech) / RSS
途中経過は、また書きます。

