PlayDrop があなたのゲームに加えるもの
SDK、catalogue.json、ホスティングで PlayDrop ゲームにできること、各機能が使える場所、それぞれのガイド:セーブ、ランキング、パーティー、サーバー、収益など。
PlayDrop のゲームとは、PlayDrop がホストして掲載し、ウェブサイトと、iOS、Android、Windows、macOS 向けの PlayDrop アプリで動かすウェブゲームです。アプリでは、ブラウザのバーなしの全画面でゲームを遊べます。別のネイティブビルドではなく、同じウェブゲームがアプリのゲーム画面で動いています。このページでは、PlayDrop が加えられるものと、それぞれのドキュメントの場所を紹介します。
2つの方法
| シンプルな HTML | パッケージ | |
|---|---|---|
| 送るもの | 最大 10 MiB の自己完結した HTML ファイル1つ | catalogue.json 付きのビルド済みフォルダー、ZIP、.play |
| PlayDrop SDK | なし | あり。以下のすべての機能 |
| 掲載用の画像と動画 | なし | あり |
| ホスト型ゲームサーバー | なし | あり |
| ガイド | シンプルな HTML ゲーム | パッケージ化 |
どのゲームもシンプルな方法で始めて、あとから同じ名前とリンクのままパッケージにできます。
プレイヤーが得るもの
| 機能 | プレイヤーにもたらすもの | ガイド |
|---|---|---|
| ホストのライフサイクル | きれいな一時停止と再開、プレイヤーのミュートに従うオーディオ、すばやい最初のフレーム | 読み込み、一時停止、オーディオ |
| 全画面レイアウト | 画面の端から端まで使ったプレイと、ノッチや PlayDrop のボタンに隠れない HUD | 全画面とセーフエリア |
| クラウドセーブ | デバイスをまたいで引き継がれる進行状況 | クラウドセーブ |
| ランキング | 上位スコアとプレイヤーの順位 | ランキング |
| 実績 | アイコンと進行状況付きの目標 | 実績 |
| 共有と招待 | 画像やクリップ付きの共有シート、フレンドの招待、チャットでのゲームカード | 共有、フレンド、招待 |
| オンラインパーティーと音声 | 友達が一緒に同じルームに参加。ルーム音声も選べる | オンラインパーティーと音声 |
| ローカルパーティーとコントローラー | 1つの画面でゲームパッドやスマホをコントローラーとして使える | ローカルパーティーとコントローラー |
| リアルタイムサーバー | ゲームごとの MongoDB データベース付きの Colyseus ルーム | リアルタイムゲームサーバー |
| レビュー、チップ、購入、広告 | プレイヤーがゲームを応援する方法と、クリエイターへのクレジット | 収益化 |
| アセットと AI 生成 | 共有アセット、生成メディア、プレイヤーの作品 | ゲームアセット、AI アセット生成、独自形式 |
掲載情報で得られるもの
catalogue.json はゲームのページを作ります。タイトル、説明、ジャンルとタグ、アイコン、キービジュアル、スクリーンショット、動画、翻訳、インスタントの対象かどうかです。誰が開けるかは公開範囲で決まります。テスト用の非公開、リンクを知っている人向けの限定公開、PlayDrop で見つけてもらうための公開(検索エンジンにも開かれます)です。公開すると見つけてもらえるチャンスが生まれますが、プレイヤーが保証されるわけではありません。
各機能が使える場所
ウェブサイトとアプリは同じゲームを同じ SDK で動かしますが、ホストの機能の中にはデバイスに左右されるものがあります。
- 振動フィードバックはネイティブアプリでしか動きません。
sdk.haptics.supportedで確認できます。 - 動画クリップの共有はホストによります。対応していないホストは、普通のリンクの共有に切り替えるのではなく、拒否します。
- オフラインプレイとファイルの事前読み込みは、それらを宣言したゲームに対してネイティブアプリで行われます。ウェブサイトはゲームをオンラインで読み込みます。
- ルーム音声とパーティーは、ホストのビルド、サインイン、プラットフォームの提供状況によります。
- 広告は、ホストと利用できる広告在庫によります。準備できた広告がないときは
load()が知らせます。
任意のサービスがなくても、ゲームを遊べるように設計してください。
まずは SDK から
SDK を読み込み、ホストの状態を読み取り、意図した最初のフレームが画面に表示されたら準備完了を伝えます。
<script src="https://assets.playdrop.ai/sdk/playdrop.js"></script>
<script type="module">
const sdk = await playdrop.init();
// Set up pause, audio and HUD from sdk.host, then render the first frame.
sdk.host.ready();
</script>続きは読み込み、一時停止、オーディオへ。すべての名前空間はクライアント SDK リファレンスに載っています。
コネクタにできないこと
AI アプリは、ビルド済みのゲームを公開し、あなたのアカウントを読み取ります。PlayDrop Studio で作ったゲームを開いたり変更したり、ソースコードを返したり、実行可能な 3D モデルのコードをアップロードしたりはできません。これらはコネクタの制限で、プラットフォームの制限ではありません。Studio と PlayDrop 独自のツールなら、引き続きこれらを行えます。