🛠️ 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仕様やプロトコルについては、以下の公式ドキュメントを参照してください。