公式記事
公開: 2026-09-08T15:00:00Z 執筆: ひつまぶし開発チーム

自作Webゲームを「ひつまぶし」に掲載・連携するためのHitsumabushi SDK活用法と、manifest.jsonの基本仕様を解説します。

🛠️ Hitsumabushi SDKを使った自作ゲーム開発・掲載ガイド

対戦ゲームポータル「ひつまぶし」では、クリエイターがHTML5/JavaScriptで制作した自作ゲームを簡単に統合できる Hitsumabushi SDK と、ゲーム特性を宣言する manifest.json の仕様を提供しています。


1. ゲームマニフェスト(manifest.json)の配置

ゲームのルートディレクトリ直下に manifest.json を配置することで、ゲームタイトル、プレイ可能人数、勝敗モデル、大会機能への適合状況をポータルへ伝達します。

{
  "gameId": "my-cool-game",
  "title": "マイ対戦ゲーム",
  "version": "1.0.0",
  "players": {
    "min": 2,
    "max": 2,
    "type": "fixed",
    "allowCpuFill": false
  },
  "resultModel": {
    "type": "single_winner",
    "allowTie": false
  }
}

🤖 AIを使って一撃生成したい場合:
ソースコードを渡すだけでマニフェストを自動作成できる公式AIプロンプトを用意しています。
👉 AIを活用してゲームマニフェストを一発自動生成するガイド


2. Hitsumabushi SDK の読み込みと初期化

ゲームのHTML内でHitsumabushi SDK(/sdk/hitsumabushi-sdk.js)を読み込み、ルーム接続・通信イベントを受信します。

<script src="/sdk/hitsumabushi-sdk.js"></script>
<script>
  window.Hitsumabushi.init({
    onCreateMatch: function (config) {
      // 最初の1回だけ呼ばれます。DOM構築やイベント登録などはこちらへ
    },
    onStartMatch: function (config) {
      console.log('対戦開始設定:', config);
      // プレイヤー情報の反映やOBS透過モードの初期化
      // ※再戦(リマッチ)時にも呼ばれるため、盤面・スコア・タイマー等のリセット処理はここに記述してください
    },
    onObsModeChange: function (isObsMode) {
      // 配信者向け透過スタイルの切り替え
    }
  });
</script>

3. 対戦結果(リザルト)の送信

ゲームが終了した際は、Hitsumabushi.sendGameOver() を呼び出すことで、ポータル親画面に勝者モーダルや紙吹雪演出を自動連動させることができます。

Hitsumabushi.sendGameOver({
  winnerPlayerId: 'p1',
  scores: { p1: 10, p2: 8 },
  isTie: false
});

4. 公式仕様書リンク

より詳細なAPI仕様やプロトコルについては、以下の公式ドキュメントを参照してください。