playdotfun について
playdotfunは、ゲームをPlay.funに接続する開発手順を案内するスキルです。認証、ゲーム登録、SDK統合、デプロイ、検証を段階的に扱います。
主な機能
- 01段階的な統合ワークフロー
- 02認証情報の設定と確認
- 03ゲーム登録とID管理
- 04SDKとスコア連携の案内
- 05デプロイ後のスコアとランキング確認
活用シーン
- 01新しいゲームをPlay.funに接続
- 02既存ゲームにPlay.fun SDKを追加
- 03デプロイ後にスコア送信を検証
MCP 対応
MCPツールでアクセスを確認し、ゲームの登録・更新、ゲーム一覧やランキングの確認を行います。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ playdotfun/ skills --skill playdotfunインストール後、Claude Code で/playdotfunを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
glossary.mdapi/authentication.mdreference.mdevals/trigger-negative.txttrigger-positive.txtevals/flows/01-browser-clicker.md02-phaser-hybrid.mdgithub-pages/deploy.mdmcp/quickstart.mdrules/api-authentication.mdgame-upload.mdscripts/image-to-base64.shplayfun-auth.jsREADME.mdsdks/best-practices.mdbrowser.mdfeatures.mdhybrid.mdserver.mdsnippets/browser-sdk.mdserver-sdk.md詳細
使用するタイミング
ユーザーがPlay.funとのゲーム連携や、Play.funからのデータ取得を必要としている場合は、いつでもこのスキルを使用してください。Play.funのさまざまなワークフローをユーザーに案内する場合にも、このスキルを使用できます。
使用方法
ユーザーからPlay.funとのゲーム連携を依頼された場合は、以下の連携ワークフローに必ず従ってください。手順を省略しないでください。各フェーズの進捗を追跡するためのタスクリストを作成してください。
連携ワークフロー
新規または既存のゲームをPlay.funと連携する場合は、以下のフェーズを順番に進めてください。各ステップのタスクを作成し、順次完了してください。
フェーズ 1:認証
認証が必要な操作を行う前に、認証情報が設定されていることを確認してください。
- 認証ステータスを確認 —
node skills/scripts/playfun-auth.js statusを実行し、認証情報が存在するか確認します - 認証情報がない場合は設定 — 認証設定ガイドに従います。コールバックサーバーを起動し、ブラウザーから認証するようユーザーに案内してください
- 認証情報が有効であることを確認 —
test_connectionMCP ツールを使用してアクセスを確認します。返されたユーザー ID を保存してください。これは、後で<meta name="x-ogp-key">タグに設定する API キー です
認証情報が確認できるまで、フェーズ 2 に進まないでください。
フェーズ 2:ゲームの構築
- ゲームを構築または変更 — ゲームコードを作成または更新します。この時点ではPlay.fun SDKとの連携を追加しないでください。まずゲーム本体を動作させてください。レイアウトにはセーフエリアのインセットを使用してください。背景とキャンバスはビューポート全体(
100vw × 100vh)に表示し、ゲーム UI(HUD、ボタン、コントロール)はすべて、余白またはパディングにvar(--ogp-safe-top-inset, 0px)とvar(--ogp-safe-bottom-inset, 0px)を使用してください。キャンバスゲームの場合は、JS でインセットを読み取り、UI の描画位置を調整します。セーフエリアのレイアウトを参照してください - ゲームが単独で動作することをテスト — ブラウザーで開き、SDK なしでゲームプレイが正しく機能することを確認します(セーフエリア変数のデフォルト値は
0pxです)
フェーズ 3:Play.fun へのゲーム登録
- ゲーム名と説明を決定 — ユーザーに尋ねるか、楽しく内容が伝わる名前を考えます
- ゲーム画像を準備 — 既存の画像を探すか、プレースホルダー画像を生成します。⚠️ 重要:画像の安全性ルールに必ず厳密に従ってください。従わない場合、クラッシュします。 概要:(1)画像ファイルをディスク上に用意または作成する、(2)
./skills/scripts/image-to-base64.sh <image> --data-uri --file /tmp/game_image_b64.txtを実行する、(3)Read ツールでテキストファイルを読み取る、(4)文字列をregister_gameに渡す。標準出力に Base64 を絶対に出力しないでください。Read ツールでバイナリ画像ファイルを絶対に読み取らないでください - 公開 URL を取得するためにゲームをデプロイ — ゲームのホスティングが必要な場合は、GitHub Pages デプロイガイドを使用します。ゲーム URL は公開アクセス可能である必要があります
- ゲームを登録 — MCP の
register_gameツールに、name、description、gameUrl、platform、base64Image、およびチート対策の制限値を渡します(ゲームの種類に応じた制限値の推奨については、ベストプラクティスを参照してください)。返されたid(ゲーム UUID)を保存してください。これは後でsdk.init({ gameId })に設定する ゲーム ID です - 登録を確認 — MCP の
get_my_gamesツールを使用し、ユーザーのゲーム一覧にゲームが表示されることを確認します
有効な gameId が登録によって取得できるまで、フェーズ 4 に進まないでください。
フェーズ 4:Play.fun SDK を統合する
- SDK の方式を選択する — ユーザーに尋ねるか、ニーズに応じて判断します:
- 実際の認証情報を使って SDK を追加する — 選択した SDK のリファレンスに従います。ブラウザー SDK を統合する場合:
- メタタグを追加します:
<meta name="x-ogp-key" content="your-api-key" />— 値はクリエイター API キー(ダッシュボードに表示されるユーザー UUID)です。gameId や gameKey ではありません - スクリプトを追加します:
<script src="https://sdk.play.fun"></script> OpenGameSDKクラスを使用します(PlayFunSDK ではありません)- 防御的なパターンを使用します:
typeofガード、sdkReadyフラグ、sdk && sdkReadyチェック、try/catch、score > 0 チェック(ブラウザー SDK スニペットを参照) - ゲーム ID を使って初期化します:
sdk.init({ gameId: 'your-game-id' })— これはregister_gameのレスポンスにあるidフィールドであり、API キーではありません
- メタタグを追加します:
- スコア処理を接続する — ゲーム中に
sdk.addPoints()を、ゲーム終了時にsdk.endGame()を(ブラウザー SDK の場合)、またはサーバー側のsavePoints()とsdk.refreshPointsAndMultiplier()を(ハイブリッドの場合)統合します - SDK の統合をテストする — ゲームを開き、Play.fun ウィジェットが表示されることを確認し、1 ラウンドプレイして、ポイントが送信されたことを確認します
フェーズ 5:デプロイと検証
- SDK 統合後に再デプロイする — 更新したコードをホスト済み URL にプッシュします
- URL が変わった場合はゲーム登録を更新する — ゲーム URL が変わった場合は、MCP の
update_gameツールを使用します - 最終確認 — 公開 URL でゲームをプレイし、ポイントが保存されることを確認して、MCP の
get_game_leaderboardでリーダーボードを確認します - Playcoin のローンチ(任意) —
launch_playcoinMCP ツールには Privy ウォレット認証が必要で、HMAC 認証情報では失敗します。代わりに、ユーザーには Play.fun ダッシュボードのゲームページからローンチするよう案内してください
クイックリファレンス
| リソース | 説明 |
|---|---|
| API リファレンス | API エンドポイントの完全なリファレンス |
| API 認証 | HMAC-SHA256 認証ガイド |
| SDK のベストプラクティス | SDK の選択とチート対策の設定 |
| サーバー SDK リファレンス | サーバー側 SDK のリファレンス |
| ブラウザー SDK リファレンス | ブラウザー SDK のリファレンス |
| ハイブリッド SDK リファレンス | ブラウザーとサーバーを組み合わせたリファレンス |
| 機能(連続記録と倍率) | 組み込みのエンゲージメント機能 |
| MCP クイックスタート | ゲームの登録と管理に使う MCP ツール |
| 用語集 | Play.fun の用語と概念 |
| 認証設定 | 認証情報の設定ガイド |
| GitHub Pages へのデプロイ | GitHub Pages を使った無料のゲームホスティング |
| ゲームのアップロード規則 | 必須フィールドと画像のガイドライン |
| サーバー SDK スニペット | コピーして使えるサーバーコードの例 |
| ブラウザー SDK スニペット | コピーして使えるブラウザーコードの例 |
コメント
Markdown 対応