mcpField
G
game-deploy

game-deploy

github.com/playableintelligenceクラウド・DevOps350910 回インストール22 週間前に更新
リポジトリ

game-deploy について

game-deploy は、Vite 製ブラウザーゲームを公開するスキルです。here.now による静的ホスティングを既定とし、GitHub Pages などの代替手段も案内します。

主な機能

  1. 01here.now へのビルド公開
  2. 02GitHub Pages によるデプロイ
  3. 03保存済み slug での更新
  4. 04package.json のデプロイスクリプト設定
  5. 05ビルドとホスティングの問題対応

活用シーン

  1. 01Vite 製ブラウザーゲームの公開
  2. 02既存の here.now デプロイの更新
  3. 03Git ベースのデプロイに GitHub Pages を選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/playableintelligence/game-creator --skill game-deploy

インストール後、Claude Code で/game-deployを入力して読み込まれたか確認します。

詳細

ゲームのデプロイ

ブラウザーゲームをデプロイして、一般に公開します。here.now がデフォルトです。設定不要ですぐに利用できる静的ホスティングです。Git ベースのデプロイが必要な場合は、代替手段として GitHub Pages を利用できます。

here.now へのデプロイ(デフォルト)

前提条件
  • here-now スキルがインストールされていること(npx skills add heredotnow/skill --skill here-now -g)
  • オプション:永続的なホスティング用の $HERENOW_API_KEY または ~/.herenow/credentials
クイックデプロイ
npm run build
~/.agents/skills/here-now/scripts/publish.sh dist/

スクリプトから、https://<slug>.here.now/ のような公開 URL が出力されます。

here.now がデフォルトである理由
  • 設定不要 — base パス、Git リポジトリ、GitHub CLI は必要ありません
  • 即時公開 — サイトはすぐに公開されます(反映を待つ必要はありません)
  • base パスの問題なし — コンテンツはサブドメインのルートから配信されます(base: '/' またはデフォルト)
  • どこでも動作 — curl、file、jq だけで利用できます
Vite の base パス

here.now はサブドメインのルートから配信するため、デフォルトの base パスを使用します。

export default defineConfig({
  base: '/',
  // ... rest of config
});
重要:24 時間以内にサイトの所有権を取得してください

API キーがない場合、公開は匿名扱いとなり、24 時間後に期限切れになります。公開スクリプトから所有権取得 URL が返されます。サイトを永続的に利用するには、ユーザーは必ずこの URL にアクセスして、無料の here.now アカウントを作成する必要があります。所有権取得トークンは一度しか表示されず、再取得できません。 所有権を取得しない場合、サイトは消失します。

匿名で公開するたびに、ユーザーに 24 時間の期限と所有権取得 URL を必ず伝えてください。 これは必須です。

機能匿名認証済み
有効期限24 時間(その後削除されます!)永続
最大ファイルサイズ250 MB5 GB
レート制限5/hour/IP60/hour/account

永続的なホスティング用の API キーを設定するには(24 時間の期限を完全に省略できます):

まず、キーがすでに存在するか確認します。 test -f .env && grep -q '^HERENOW_API_KEY=.' .env && echo "found" 見つかった場合は、set -a; . .env; set +a でエクスポートし、入力を求めずに続行します。

見つからない場合:

  1. ユーザーにメールアドレスを尋ねます
  2. マジックリンクを送信します:curl -sS https://here.now/api/auth/login -H "content-type: application/json" -d '{"email": "[email protected]"}'
  3. ユーザーはリンクをクリックし、ダッシュボードから API キーをコピーします
  4. ユーザーは次のようにキーを貼り付けます:HERENOW_API_KEY=their-key-here(.env に保存され、自動的に秘匿されます)
  5. 認証情報ファイルにも保存します:mkdir -p ~/.herenow && grep '^HERENOW_API_KEY=' .env | cut -d= -f2- > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials
デプロイの更新
npm run build
~/.agents/skills/here-now/scripts/publish.sh dist/ --slug <slug>

公開するたびにスラッグが .herenow/state.json に保存されるため、スクリプトは更新時に自動で読み込みます。

デプロイスクリプト

package.json に追加します。

{
  "scripts": {
    "deploy": "npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/"
  }
}

既存のスラッグを更新する場合:

{
  "scripts": {
    "deploy": "npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/ --slug <slug>"
  }
}

GitHub Pages へのデプロイ(代替手段)

Git ベースのデプロイが必要な場合や、すでに GitHub リポジトリを設定している場合は、GitHub Pages を使用します。

前提条件
  • GitHub CLI がインストールされていること(gh)
  • Git リポジトリが初期化され、GitHub にプッシュされていること
クイックデプロイ
npm run build && npx gh-pages -d dist
完全なセットアップ
  1. ゲームをビルドします:
npm run build
  1. サブディレクトリにデプロイする場合は、vite.config.js に正しい base パスが設定されていることを確認します:
export default defineConfig({
  base: '/<repo-name>/',
  // ... rest of config
});
  1. GitHub CLI でデプロイします:
gh repo create <game-name> --public --source=. --push
npm install -D gh-pages
npx gh-pages -d dist
  1. リポジトリの設定で GitHub Pages を有効にします(gh-pages ブランチが自動検出されるはずです)。

ゲームは次の URL で公開されます:https://<username>.github.io/<repo-name>/

自動デプロイ

package.json に追加します。

{
  "scripts": {
    "deploy": "npm run build && npx gh-pages -d dist"
  }
}

Play.fun への登録

デプロイ後、収益化のためにゲームを Play.fun に登録します。連携方法の詳細については、/game-creator:playdotfun スキルを使用してください。

登録時、デプロイした URL を gameUrl として指定します。

await client.games.register({
  name: 'Your Game Name',
  gameUrl: 'https://<slug>.here.now/',  // or GitHub Pages URL
  maxScorePerSession: 500,
  maxSessionsPerDay: 20,
  maxCumulativePointsPerDay: 5000
});

その他のホスティングオプション

  • Vercel:npx vercel --prod(Vite を自動検出します)
  • Netlify:リポジトリを接続し、ビルドコマンドを npm run build、公開ディレクトリを dist に設定します
  • Railway:デプロイには Railway スキルを使用します
  • itch.io:dist/ フォルダーを HTML5 ゲームとしてアップロードします

使用例

デフォルト(here.now)
/game-deploy

結果:dist/ をビルド → here.now 経由で公開 → 数秒でゲームが https://<slug>.here.now/ に公開されます。今後、1つのコマンドでデプロイできるように、npm run deploy スクリプトを追加します。

GitHub Pages
/game-deploy github-pages

結果:適切なベースパスを設定してビルド → gh-pages ブランチにプッシュ → 1~2分でゲームが https://<user>.github.io/<game>/ に公開されます。

トラブルシューティング

here.now の 429 レート制限

原因: 短時間にデプロイしすぎています。匿名でのデプロイには here.now のレート制限があります。 対処方法: 数分待ってから再試行してください。頻繁にデプロイする場合は、代わりに GitHub Pages または Vercel の利用を検討してください。

匿名の here.now サイトの有効期限切れ

原因: 匿名での here.now デプロイは一時的なもので、一定期間利用がないと有効期限が切れます。 対処方法: npx here.now で再デプロイしてください。継続的にホスティングする場合は、有効期限のない GitHub Pages(gh-pages ブランチ)または Vercel を使用してください。

デプロイ後に GitHub Pages で 404 が発生する

原因: Vite のベースパスが GitHub Pages の URL 構造(/<repo-name>/)と一致していません。 対処方法: vite.config.js で base: '/<repo-name>/' を設定してください。リポジトリの Pages 設定で、ソースとして gh-pages ブランチが選択されていることを確認してください。GitHub の CDN に反映されるまで、1~2分お待ちください。

デプロイ後にページが空白になる(アセットのパス)

原因: アセットのパスに絶対 URL(/assets/...)を使用しているため、デプロイ先で正しく解決されません。 対処方法: 相対パス(./assets/...)を使用するか、Vite の base オプションをデプロイ URL に合わせて設定してください。デプロイ前に、ローカルで npm run build を実行し、ローカルサーバーで dist/ フォルダーをテストしてください。

gh-pages へのプッシュが拒否される

原因: リモートの gh-pages ブランチとの履歴が分岐しているか、ブランチ保護ルールによって強制プッシュがブロックされています。 対処方法: リポジトリの所有者で、ブランチ保護が設定されていない場合は、git push origin gh-pages --force を使用してください。保護されている場合は、最初にリモートの gh-pages ブランチを削除してください:git push origin --delete gh-pages を実行してから、再デプロイしてください。

デプロイ前チェックリスト

  • npm run build がエラーなく成功する
  • npm run preview で本番ビルドをテストする
  • console.log のデバッグ文をすべて削除する
  • すべてのアセットがビルドに含まれていることを確認する
  • 該当する場合は、モバイルやレスポンシブ表示での動作を確認する
  • index.html に適切な <title> とメタタグを設定する

コメント