Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
Hexfrontier — 3Dで遊ぶヘックスの島の開拓ゲーム Vanilla JavaScript + Three.js で 1 から作った、ブラウザで動く六角タイルの開拓ゲーム。 CPU 相手の 1 人プレイでも、合言葉を共有した友達とのオンライン対戦でも遊べる。 ルールは基本・都市と騎士・漁師たち・航海者たちと、 オリジナルのドラゴンの島の5種類。 ビルド工程なし・依存はベンダリング済みの Three.js のみ。 ▶ 今すぐ遊ぶ: https://junia2009.github.io/hexfrontier/ (スマホ推奨。PWA なのでホーム画面に追加すればアプリのように起動できる) いわゆる標準カタン。開拓地と都市を建て、道を伸ばし、サイコロの出目で資源を集めて 銀行交易・港交易・プレイヤー間交易で回す。発展カード(騎士・街道建設・収穫・独占・勝利点)、 最長交易路、最大騎士力もすべて実装。まずはここから。 公式拡張「Cities & Knights」の主要システムを一通り実装した本命モード。Read the full README ↗
Vanilla JavaScript + Three.js で 1 から作った、ブラウザで動く六角タイルの開拓ゲーム。 CPU 相手の 1 人プレイでも、合言葉を共有した友達とのオンライン対戦でも遊べる。 ルールは基本・都市と騎士・漁師たち・航海者たちと、 オリジナルのドラゴンの島の5種類。 ビルド工程なし・依存はベンダリング済みの Three.js のみ。
▶ 今すぐ遊ぶ: https://junia2009.github.io/hexfrontier/ (スマホ推奨。PWA なのでホーム画面に追加すればアプリのように起動できる)
| タイトル | 都市と騎士(昼) | 夜 | 🐉 ドラゴンの島 |
|---|---|---|---|
いわゆる標準カタン。開拓地と都市を建て、道を伸ばし、サイコロの出目で資源を集めて 銀行交易・港交易・プレイヤー間交易で回す。発展カード(騎士・街道建設・収穫・独占・勝利点)、 最長交易路、最大騎士力もすべて実装。まずはここから。
公式拡張「Cities & Knights」の主要システムを一通り実装した本命モード。
盗賊の代わりにドラゴンが島に棲むオリジナルルール。
公式の小拡張「Fishermen of Catan」。基本ルールに魚という第2の通貨が加わる。
公式拡張「Seafarers」。盤が広がり、海と船が入る。
ルールの正確な仕様と公式から簡略化した点は docs/RULES.md に明記。 アプリ内でも「📖 あそびかた」からいつでも読める。
対戦で使う島の上を棒人間で歩き回れるモード。島ごとに遊びが乗っている。
import しているので、ルール実装はクライアントと共通の1つだけ?seed=123)。同じシードは同じゲームになり、
バグ報告・テスト・リプレイに使える。ダイスの公正性は χ² 検定で統計監査済みES Modules を使っているため、ローカルサーバー経由で開く:
npm run serve # または python3 -m http.server 8000
# → http://localhost:8000/ を開く
インストールもビルドも不要(npm install すら要らない)。
オンライン対戦も試す場合は、別ターミナルでサーバーを立てる:
npm install # wrangler(開発用)を入れる
npm run server # http://127.0.0.1:8787
localhost で開いたページは自動でこのローカルサーバーを見る。
npm test # 単体テスト + セルフプレイ検証(Node のみ、ブラウザ不要)
npm run selfplay # CPU 4体の自動対戦ゲート(node scripts/selfplay.js 1000 等)
node scripts/dice-audit.mjs # ダイス乱数の統計監査(χ²検定バッテリー)
ルールエンジンは DOM に依存しない純粋関数の集まりなので、Node だけで全ルールが検証できる。 最重要の不変条件は保存則(銀行+全手札 = 資源19×5・商品12×3)と、 セルフプレイ数百ゲームの完走。
main に push すると GitHub Actions がテストを通してから GitHub Pages にデプロイする
(.github/workflows/pages.yml)静的サイトとは別に、一度だけ Cloudflare へ配置する(無料枠で動く)。 GitHub Actions 経由なら、ブラウザだけで設定できる(PCがなくても可):
Settings → Secrets and variables → Actions に登録する
CLOUDFLARE_API_TOKEN … 1 で作ったトークンCLOUDFLARE_ACCOUNT_ID … Cloudflare のアカウントIDActions → Deploy game server → Run workflow を実行する以降は server/ や src/ を変更して main に push すると自動でデプロイされる
(ルールエンジンはサーバーも同じコードを取り込むため、ルール変更時も再デプロイが要る)。
手元にPCがある場合は以下でもよい:
npx wrangler login # ブラウザで Cloudflare アカウントを認証
npm run deploy:server
デプロイ後に出た URL を src/net/client.js の DEFAULT_SERVER に設定する。
アプリの「🌐 オンライン対戦」画面でも、接続に失敗したときに接続先を変更・保存できる。
This is the beginning of the README. Read the rest at the original. Read the full README ↗