自分のゲームを動かす
カスタムゲームは、マーケットプレイス のゲームの代わりに Caputchin のウィジェットで使う、あなた が作ってホストするゲームです。ほかの誰もそれをインストールできず、GitHub のトピックも公開のステップもなく、あなたがコードを保ちます。このセクションは、そのパスの、詳細で自分で作るガイドです。(誰でも 埋め込めるゲームを出荷したいなら、それは マーケットプレイスゲーム開発、別のパスです。)
カスタムゲームを届ける方法は 2 つあり、それらは本当に異なる、異なる限界を持つ面です。必要なもので選んでください:
手動モード:自分の DOM、ゲートなし
手動モード は軽量な選択肢です。<caputchin-game> に trigger="manual" を設定し、その中に自分のマークアップを置き、訪問者が成功または失敗したときに、自分のコードから要素の pass() / fail() メソッドを呼びます。iframe もゲーム SDK もありません。ウィジェットは、そのレイアウトのシェルと、あなたのマークアップの周りの検証の配管を渡すだけです。
トレードオフ:手動モードのラウンドは サーバーでリプレイできない ので、手動モードのゲームは ゲームゲート を満たせません。それは、ゲートされていないキー(proof-of-work の検証、あなたのインタラクションは UX として)でのみ、または検証なしのゲームのみで動きます。リプレイが必要なセキュリティゲートのためではなく、ブランド化されたインタラクションのために使ってください。
セルフホストの iframe ゲーム:ゲートできる
セルフホストのゲーム は、本物のサンドボックス化されたゲームです。ウィジェットの iframe で走り、SDK のブリッジ越しにホストと話し、サーバーが再実行できる トレース を報告する、@caputchin/game-sdk パッケージに対して作られた JavaScript のバンドルです。あなたがバンドルを自分でホストし、game-src 属性でウィジェットをそれに向けます。
ラウンドがリプレイ可能なトレースを生むので、セルフホストのゲームはサイトキーを ゲートできます。ただし、Caputchin に リプレイアーティファクト、つまりサーバーが判定を再導出するために走らせる、ゲームロジックの小さなヘッドレスビルドを渡したときだけです。そのアーティファクトがアップロードされてセルフチェックを通るまで、カスタムゲームは リプレイ不可 と表示され、ゲートできません。
ダッシュボードが加えるもの
マーケットプレイスのゲームは、そのカスタマイズフィールドを宣言する caputchin.json マニフェストを出荷します。カスタムゲームにはマニフェストがないので、あなたがそれらのフィールドをダッシュボードで宣言します。あなたが選ぶ id で カスタムゲームを登録 し、軸(言語、スキン、構成)ごとにそのフィールド スキーマ を定義し、それに対してプリセットを作ります。そこから、マーケットプレイスのゲームとちょうど同じように、同じプラン階層で解決されて適用されます。
なので、完全なカスタムゲームの面は:
| 部品 | 場所 | 何に必要か |
|---|---|---|
| ゲームそのもの | あなたのコード、あなたのホスト | 常に |
| 配信 | trigger="manual" スロット、または game-src iframe | 常に |
| フィールドスキーマ + プリセット | ダッシュボード(あなたがスキーマを定義) | 言語 / スキン / 構成のカスタマイズ |
| リプレイアーティファクト | ダッシュボードのアップロード | 検証をゲートする(セルフホストのみ) |
あわせて読む
- 手動モード:自分の DOM をスロットし、pass/fail を駆動する。
- セルフホストのゲーム:SDK でリプレイ可能な iframe ゲームを作る。
- リプレイとゲート:カスタムゲームをゲートさせるアーティファクトをアップロードする。
- ダッシュボードスキーマリファレンス:カスタムゲームのために定義するフィールドスキーマ。
- カスタムゲーム:顧客側からの、登録とホスティング。