出来るだけ公平なゲームマップを自動生成する「カタン・ボードジェネレーター」を作ってみた

2025/03/082025/03/08ツール開発

世界的に人気なボードゲーム「カタン(Catan)」をご存知ですか?

普段ボードゲームを遊ばない私ですが、年始に旧友らとプレイして、気がついたらドハマリしていました。

カタンは計19枚の資材タイルを組み合わせたボードの上で、各頂点にプレイヤーが拠点を配置し、毎ターン2ダイスを振って、その合計値に対応したタイルに隣接する拠点を持つプレイヤーが資材を獲得するというシンプルなルールです。

プレイヤーは資材を使用して「街道」をタイルの辺に設置することができ、その街道沿いに別の拠点を建てることができます。

拠点の数が増えると隣接するタイルも増えて、より多くの数字をカバーすることができるので、資材獲得のチャンスが増え、ゲームを有利に進められるという仕組みです。

ここで重要になってくるのが、タイルの配置方法と、対応数字の配分です。

同じ種類の資材が隣接していたり、期待値が高い数字(6と8)が隣接していると、特定プレイヤーが極端に資源を獲得してゲームバランスが崩れます。

より公平なゲームにするためには、確率が極端に偏らないように、慎重にタイルを配置する必要があります。

そこで今回は、数学的に「公平なタイル配置」を瞬時に生成できる「カタン・ボードジェネレーター」を作成してみました。

▶︎ Catan Board Generator


  1. カタン・ボードジェネレーターとは
  2. 特徴・主な機能
  3. 使用方法
  4. 配置ルール
  5. 実装のポイント
  6. まとめ

カタン・ボードジェネレーターとは

このツールは、カタン(Catan)のボードを自動で生成するWebアプリです。
一度に「資源タイル」と「数字チップ」をランダム配置できるほか、数字だけを再シャッフルすることも可能です。
公式ルールで推奨される「6と8が隣接しないようにする」「同じ資源が連続しすぎない」などを考慮しつつ、ある程度バランスを取った配置を目指しています。
自分好みの盤面ができたら、画像として保存しておくこともできます。

アクセスはこちらからどうぞ。

▶︎ Catan Board Generator

特徴・主な機能

  • 📖 資源タイル数字チップの自動シャッフル
  • 🔨 「数字だけシャッフル」で資源配置はそのまま保持
  • 🔄 6と8の隣接を極力回避
  • 📊 出現確率の偏りを抑えたバランス重視のランダム化
  • 🖼️ 画像として保存が可能

使用方法

  1. カタン・ボードジェネレーター へアクセス
  2. シャッフル」ボタンを押して、資源タイル+数字チップをランダム配置
  3. 資源配置は気に入ったまま、数字だけ変えたい場合は「数字だけシャッフル」ボタン
  4. 画像として保存したい場合は「画像を保存」ボタン

配置ルール

カタンの公式ルールで推奨される要素を考慮しつつ、以下のような配置を目指しています。

  • 同じ資源タイルが隣接しないよう自動配置
  • 6 & 8 が隣り合わないよう厳格チェック
  • 同じ資源タイプに同じ数字を二重割り当てしない
  • 出目確率が資源ごとにバランスよくなるよう分散調整
  • 高確率数字(6, 8)&中確率(5, 9)もできるだけ偏り回避
  • 数字チップの●印で出目の期待度を可視化(赤は高確率)

完全に公式の厳密ルールを再現するわけではありませんが、ゲームを始める上でそこそこ良い分散が得られるよう工夫しています。

実装のポイント

実装自体はGatsby(React)で構築しています。
サーバーレスで動作し、ブラウザのみで完結します。
詳細なロジックやコードはここでは割愛しますが、カタンボード用座標の定義資源シャッフル数字チップの再配置などの仕組みを組み合わせたシンプルな構成です。
また、ダウンロード機能ではCanvasに描画した内容をPNG形式に変換し、ユーザーが簡単に保存できるようにしています。

まとめ

この「カタン・ボードジェネレーター」を使えば、6と8が固まる問題資源タイルが同一に偏る問題をできるだけ回避しつつ、短時間でボードレイアウトを決めることができます。
実際のゲーム開始までの準備時間を大幅に減らし、いち早くプレイに集中したいときなどにおすすめです。
ぜひ下記リンクよりお試しください。

▶︎ Catan Board Generator

皆さんのカタンライフが、よりスムーズで楽しいものになるよう祈っています!

この記事をシェアする