Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證オリジナルボードゲームをブラウザで公開・プレイするサイト
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
ボドパッ! ブラウザで今すぐ遊べるボードゲームサイト。オリジナルと、商標を使わない伝統的なボードゲームを公開・プレイします。 ブラウザで http://localhost:3000 を開く。 • 本番: https://bodopa.com(正規 URL。DNS・Vercel・Resend・Search Console は docs/production-domain.md) • GitHub: https://github.com/YutaNakachi/BoardPlayground • Vercel: このリポジトリをインポート(Framework Preset は Next.js が自動検出) .env.example をコピーして .env.local を作成し、Supabase の値を設定します。 未設定の場合はローカルプレイのみ動作し、プレイ回数・ランキング・オンライン対戦は無効化されます。檢視完整 README ↗
ブラウザで今すぐ遊べるボードゲームサイト。オリジナルと、商標を使わない伝統的なボードゲームを公開・プレイします。
BoardPlayground/
├── app/ # Next.js App Router
│ ├── page.tsx # トップ(ゲーム一覧)
│ ├── about/ # 制作代行(ココナラ Phase 2)
│ ├── games/[slug]/ # ルール・詳細
│ └── play/[slug]/ # プレイ画面
├── components/ # UI・ゲームコンポーネント
├── lib/games.ts # ゲーム一覧(メタデータ)
├── lib/play-registry.ts # slug → プレイコンポーネント
├── lib/game-engine/ # シャッフル・勝者判定など共通処理
├── games/ # ルール仕様(Markdown)
└── docs/coconala/ # ココナラ出品用テンプレート
cd C:\Users\yutan\Projects\BoardPlayground
npm install
npm run dev
ブラウザで http://localhost:3000 を開く。
.env.example をコピーして .env.local を作成し、Supabase の値を設定します。
| 変数 | 用途 |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase プロジェクト URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | クライアント(Realtime)用 |
SUPABASE_SERVICE_ROLE_KEY | API Route(統計・部屋)用 |
未設定の場合はローカルプレイのみ動作し、プレイ回数・ランキング・オンライン対戦は無効化されます。
SUPABASE_DB_URL を設定して npm run db:migratesupabase/migrations/ 内の SQL を番号順に実行npm run db:check / 007_explicit_grants.sql).env.example の3変数を追加(Production / Preview / Development すべて)https://<your-domain>/api/status が { "stats": true, "online": true } を返すこと未設定のときはローカルプレイのみ利用でき、オンラインタブとプレイ回数は非表示になります。
Cloud Agent からマイグレーションを実行する設定: docs/cloud-agent-supabase.md
お問い合わせフォームを有効にするには、.env.example の Resend 関連変数を設定します。
| 変数 | 用途 |
|---|---|
RESEND_API_KEY | Resend API キー(サーバー専用) |
RESEND_FROM_EMAIL | Resend で検証済みの送信元アドレス |
CONTACT_TO_EMAIL | 問い合わせの受信先(サーバー専用・リポジトリにコミットしない) |
Vercel の Settings → Environment Variables(Production)に上記を追加し、Redeploy してください。未設定の場合は /contact で受付不可の表示になります。RESEND_FROM_EMAIL は Resend で認証したドメインのアドレス(例: [email protected])。CONTACT_TO_EMAIL は Secret にし、README や PR に書かない。
ドメイン認証・本番切り替えの手順: docs/production-domain.md。
送信者向けの受付確認メールは、運営宛送信成功後に lib/contact/auto-reply.ts の文面で自動送信する(From は RESEND_FROM_EMAIL)。
掲載するのはブラウザ実装済みのゲーム(オンライン部屋未対応のため、手札秘匿などは順次追加予定)。
/play/nebula-link) — オリジナル、2〜4人、約12分/play/reversi) — クラシック、2人、約10分/play/mancala) — クラシック、2人、約8分/play/gomoku) — クラシック、2人、約8分/play/checkers) — クラシック、2人、約10分/play/nine-mens-morris) — クラシック、2人、約12分同画面交代プレイ。リバーシ・三目並べ・五目並べ・チェッカーはオンライン対戦(部屋コード)にも対応。
プレイ回数はゲーム開始時にカウントされ、/ranking でランキングを確認できます。
lib/games.ts にメタデータを追加games/{slug}/rules.md にルール仕様components/play/{Name}Game.tsx を実装(専用実装。共通化は同じ処理が3本目で必要になったとき)lib/play-registry.ts でコンポーネントを紐付けAGENTS.md)listed: false で作り、掲載はオーナー判断