# PlayDrop があなたのゲームに加えるもの

SDK、catalogue.json、ホスティングで PlayDrop ゲームにできること、各機能が使える場所、それぞれのガイド：セーブ、ランキング、パーティー、サーバー、収益など。

Source: https://www.playdrop.ai/ja/create/learn/playdrop-games

PlayDrop のゲームとは、PlayDrop がホストして掲載し、ウェブサイトと、iOS、Android、Windows、macOS 向けの PlayDrop アプリで動かすウェブゲームです。アプリでは、ブラウザのバーなしの全画面でゲームを遊べます。別のネイティブビルドではなく、同じウェブゲームがアプリのゲーム画面で動いています。このページでは、PlayDrop が加えられるものと、それぞれのドキュメントの場所を紹介します。

## 2つの方法

| | シンプルな HTML | パッケージ |
|---|---|---|
| 送るもの | 最大 10 MiB の自己完結した HTML ファイル1つ | catalogue.json 付きのビルド済みフォルダー、ZIP、.play |
| PlayDrop SDK | なし | あり。以下のすべての機能 |
| 掲載用の画像と動画 | なし | あり |
| ホスト型ゲームサーバー | なし | あり |
| ガイド | [シンプルな HTML ゲーム](https://www.playdrop.ai/ja/create/learn/html-games) | [パッケージ化](https://www.playdrop.ai/ja/create/learn/packaging) |

どのゲームもシンプルな方法で始めて、あとから同じ名前とリンクのままパッケージにできます。

## プレイヤーが得るもの

| 機能 | プレイヤーにもたらすもの | ガイド |
|---|---|---|
| ホストのライフサイクル | きれいな一時停止と再開、プレイヤーのミュートに従うオーディオ、すばやい最初のフレーム | [読み込み、一時停止、オーディオ](https://www.playdrop.ai/ja/create/learn/lifecycle) |
| 全画面レイアウト | 画面の端から端まで使ったプレイと、ノッチや PlayDrop のボタンに隠れない HUD | [全画面とセーフエリア](https://www.playdrop.ai/ja/create/learn/viewport) |
| クラウドセーブ | デバイスをまたいで引き継がれる進行状況 | [クラウドセーブ](https://www.playdrop.ai/ja/create/learn/cloud-saves) |
| ランキング | 上位スコアとプレイヤーの順位 | [ランキング](https://www.playdrop.ai/ja/create/learn/leaderboards) |
| 実績 | アイコンと進行状況付きの目標 | [実績](https://www.playdrop.ai/ja/create/learn/achievements) |
| 共有と招待 | 画像やクリップ付きの共有シート、フレンドの招待、チャットでのゲームカード | [共有、フレンド、招待](https://www.playdrop.ai/ja/create/learn/social) |
| オンラインパーティーと音声 | 友達が一緒に同じルームに参加。ルーム音声も選べる | [オンラインパーティーと音声](https://www.playdrop.ai/ja/create/learn/online-party) |
| ローカルパーティーとコントローラー | 1つの画面でゲームパッドやスマホをコントローラーとして使える | [ローカルパーティーとコントローラー](https://www.playdrop.ai/ja/create/learn/local-party) |
| リアルタイムサーバー | ゲームごとの MongoDB データベース付きの Colyseus ルーム | [リアルタイムゲームサーバー](https://www.playdrop.ai/ja/create/learn/game-servers) |
| レビュー、チップ、購入、広告 | プレイヤーがゲームを応援する方法と、クリエイターへのクレジット | [収益化](https://www.playdrop.ai/ja/create/learn/monetization) |
| アセットと AI 生成 | 共有アセット、生成メディア、プレイヤーの作品 | [ゲームアセット](https://www.playdrop.ai/ja/create/learn/game-assets)、[AI アセット生成](https://www.playdrop.ai/ja/create/learn/ai-assets)、[独自形式](https://www.playdrop.ai/ja/create/learn/custom-assets) |

## 掲載情報で得られるもの

catalogue.json はゲームのページを作ります。タイトル、説明、ジャンルと[タグ](https://www.playdrop.ai/ja/create/learn/tags)、[アイコン、キービジュアル、スクリーンショット、動画](https://www.playdrop.ai/ja/create/learn/listing-assets)、[翻訳](https://www.playdrop.ai/ja/create/learn/localization)、[インスタント](https://www.playdrop.ai/ja/create/learn/instant-games)の対象かどうかです。誰が開けるかは[公開範囲](https://www.playdrop.ai/ja/create/learn/distribution)で決まります。テスト用の非公開、リンクを知っている人向けの限定公開、PlayDrop で見つけてもらうための公開（検索エンジンにも開かれます）です。公開すると見つけてもらえるチャンスが生まれますが、プレイヤーが保証されるわけではありません。

## 各機能が使える場所

ウェブサイトとアプリは同じゲームを同じ SDK で動かしますが、ホストの機能の中にはデバイスに左右されるものがあります。

- 振動フィードバックはネイティブアプリでしか動きません。`sdk.haptics.supported` で確認できます。
- 動画クリップの共有はホストによります。対応していないホストは、普通のリンクの共有に切り替えるのではなく、拒否します。
- オフラインプレイとファイルの事前読み込みは、それらを宣言したゲームに対してネイティブアプリで行われます。ウェブサイトはゲームをオンラインで読み込みます。
- ルーム音声とパーティーは、ホストのビルド、サインイン、プラットフォームの提供状況によります。
- 広告は、ホストと利用できる広告在庫によります。準備できた広告がないときは `load()` が知らせます。

任意のサービスがなくても、ゲームを遊べるように設計してください。

## まずは SDK から

SDK を読み込み、ホストの状態を読み取り、意図した最初のフレームが画面に表示されたら準備完了を伝えます。

```html
<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>
```

続きは[読み込み、一時停止、オーディオ](https://www.playdrop.ai/ja/create/learn/lifecycle)へ。すべての名前空間は[クライアント SDK リファレンス](https://www.playdrop.ai/ja/create/learn/sdk)に載っています。

## コネクタにできないこと

AI アプリは、ビルド済みのゲームを公開し、あなたのアカウントを読み取ります。PlayDrop Studio で作ったゲームを開いたり変更したり、ソースコードを返したり、実行可能な 3D モデルのコードをアップロードしたりはできません。これらはコネクタの制限で、プラットフォームの制限ではありません。Studio と PlayDrop 独自のツールなら、引き続きこれらを行えます。

## 関連ガイド

- [シンプルな HTML ゲーム](https://www.playdrop.ai/ja/create/learn/html-games): upload_game で最大 10 MiB の自己完結した HTML ファイル1つを公開します。対象となるゲーム、ミニカタログ、公開範囲、更新、パッケージに切り替えるタイミングを説明します。
- [パッケージ化と .play](https://www.playdrop.ai/ja/create/learn/packaging): ルートに catalogue.json を置いたビルド済みのフォルダー、ZIP、.play を用意し、掲載メディアとサーバーを宣言して、prepare_catalogue_upload でアップロードします。
- [読み込み、一時停止、オーディオ](https://www.playdrop.ai/ja/create/learn/lifecycle): PlayDrop SDK を初期化し、最初の遊べるフレームで準備完了を伝え、きれいに一時停止・再開し、ホストのオーディオポリシーに従い、アプリとオフライン用にファイルを事前読み込みします。
- [クライアント SDK](https://www.playdrop.ai/ja/create/learn/sdk): PlayDrop ブラウザ SDK のリファレンス：初期化、ホストのライフサイクル、プレイヤー情報とセーブ、デバイスとコントローラー、ソーシャル、マルチプレイヤー、ショップ、広告、ランキング、実績、アセット、AI。
