# ゲーバフでゲームを公開する ゲーバフ(by AIGameDeck)は、ブラウザゲームをアップロードすると、**ランキング・シェア・プレイ記録・リアルタイム対戦**つきで遊べるようになるサイトです。 この資料は、人と AI(コーディングエージェント)の両方に向けて書いています。**AI にはこのページ()をそのまま渡してください。** ## 1. 公開までの流れ 1. https://gebuff.com/login/ でログインする(Google アカウントかメールアドレス) 2. https://gebuff.com/dashboard/ の「新しいゲーム」で、URL に使う名前(例: `tanetori`)とタイトルを決める 3. ゲームのファイルをアップロードする - HTML 1 枚、またはフォルダを zip にしたもの(中に `index.html`) - 画像・音・JS などは相対パスで読み込む(例: `./img/hamster.png`) 4. `https://gebuff.com/play/<名前>` で遊べるようになる。アップロードし直すと新しいバージョンになる(前のバージョンに戻すこともできる) ### AI やコマンドからアップロードする ダッシュボードの「AI やコマンドからアップロード」でトークンを作り、次のコマンドを使います。 ```sh # zip の場合 curl -X POST --data-binary @game.zip \ -H "Content-Type: application/zip" \ -H "Authorization: Bearer <トークン>" \ https://gebuff.com/api/games/<名前>/upload # HTML 1 枚の場合 curl -X POST --data-binary @index.html \ -H "Content-Type: text/html" \ -H "Authorization: Bearer <トークン>" \ https://gebuff.com/api/games/<名前>/upload ``` 返事の `url` が遊ぶページです。ゲームの作成も API でできます: `curl -X POST -H "Authorization: Bearer <トークン>" -H "Content-Type: application/json" -d '{"id":"<名前>","title":"<タイトル>"}' https://gebuff.com/api/games` ## 2. ゲームの紹介文とサムネイル(検索に出すために必要) ゲームを載せる前に、ダッシュボードで一度だけ「運営がゲームのプレイ動画・紹介動画を作り、本サイトや YouTube などで公開すること」への同意が必要です(トークンでのアップロードも同じ)。 ゲームページは検索エンジンの入口になります。**説明と遊び方がそれぞれ 20 文字以上ないページは、検索に出しません**(中身の薄いページはサイト全体の評価を下げるため)。 アップロードするときに、次のどちらかでゲームの情報を入れてください(ダッシュボードの「設定」からも書けます)。 zip の場合は、`index.html` と同じ場所に `aigamedeck.json` を置きます。 ```json { "title": "タネ取り合戦", "description": "ハムスターになって、ひまわりのタネを友達と取り合う 45 秒の対戦ゲーム。", "howToPlay": "ステージに落ちているタネに触れると 1 こゲット。45 秒でいちばん多く集めた人の勝ち。招待リンクで友達を呼べます。", "controls": "矢印キー/WASD、スマホは行きたい場所をタッチ", "tags": ["action", "versus", "kids"], "thumbnail": "thumbnail.png", "video": "https://youtu.be/xxxxxxxxxxx" } ``` HTML 1 枚の場合は、`` の中に同じ内容を書きます。 ```html ``` - `description`: 検索結果に出る紹介文(1〜3 文、300 文字まで) - `howToPlay`: ルール・目的・コツ(1000 文字まで) - `controls`: 操作方法(200 文字まで) - `tags`: ジャンル(5 つまで)。`action` アクション / `puzzle` パズル / `shooting` シューティング / `racing` レース / `rhythm` 音ゲー・リズム / `quiz` クイズ / `board` ボード・カード / `rpg` RPG / `adventure` アドベンチャー / `simulation` シミュレーション / `sports` スポーツ / `brain` 脳トレ / `neta` ネタ・バカゲー / `versus` オンライン対戦 / `kids` 子ども向け - `video`: 紹介動画(なくてもよい)。YouTube の動画 URL か、`"omakase"`(運営が動画を作ります) - `thumbnail`: サムネイル画像(1200×630 の PNG・JPEG・WebP がおすすめ)。`thumbnail.png` という名前なら書かなくても使われます。無い場合は自動で作ります ## 3. SDK サイトにアップロードしたゲームには、SDK が**自動で読み込まれ**、`window.aigamedeck` として使えます。 何も書かなくても、プレイ回数・遊んだ時間・どこから来たかは記録されます。 手元で試すときにも動くように、ゲームのスクリプトの先頭に次の 1 行を入れるのがおすすめです(サイト上では同じものが使われます)。 ```js const aigamedeck = window.aigamedeck ?? (await import("https://gebuff.com/v1/aigamedeck.js")).aigamedeck; ``` `