# Wat PlayDrop aan je game toevoegt

Wat een PlayDrop-game kan met de SDK, catalogue.json en hosting, waar elke functie werkt en de gidsen: saves, ranglijsten, groepen, servers, inkomsten en meer.

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

Een PlayDrop-game is een webgame die PlayDrop host, vermeldt en draait op de website en in de PlayDrop-apps voor iOS, Android, Windows en macOS. In de apps speelt een game schermvullend, zonder browserbalk eromheen; het is dezelfde webgame die in de gameweergave van de app draait, geen aparte native build. Deze pagina somt op wat PlayDrop kan toevoegen en waar elk onderdeel is beschreven.

## Twee manieren om binnen te komen

| | Eenvoudige HTML | Pakket |
|---|---|---|
| Wat je stuurt | Eén zelfstandig HTML-bestand, tot 10 MiB | Een gebouwde map, ZIP of .play met catalogue.json |
| PlayDrop-SDK | Nee | Ja, elke functie hieronder |
| Afbeeldingen en video voor de gamepagina | Nee | Ja |
| Gehoste gameserver | Nee | Ja |
| Gids | [Eenvoudige HTML-games](https://www.playdrop.ai/nl/create/learn/html-games) | [Verpakken](https://www.playdrop.ai/nl/create/learn/packaging) |

Elke game kan eenvoudig beginnen en later een pakket worden, met dezelfde naam en link.

## Wat spelers krijgen

| Functie | Wat het spelers geeft | Gids |
|---|---|---|
| Levenscyclus van de host | Nette pauze en hervatting, audio die het dempen door de speler volgt, een snel eerste frame | [Laden, pauze en audio](https://www.playdrop.ai/nl/create/learn/lifecycle) |
| Schermvullende lay-out | Spelen van rand tot rand, met de HUD vrij van notches en de knoppen van PlayDrop | [Schermvullend en veilige zones](https://www.playdrop.ai/nl/create/learn/viewport) |
| Cloudsaves | Voortgang die de speler volgt tussen apparaten | [Cloudsaves](https://www.playdrop.ai/nl/create/learn/cloud-saves) |
| Ranglijsten | Topscores en de positie van de speler | [Ranglijsten](https://www.playdrop.ai/nl/create/learn/leaderboards) |
| Prestaties | Doelen met iconen en voortgang | [Prestaties](https://www.playdrop.ai/nl/create/learn/achievements) |
| Delen en uitnodigingen | Deelvensters met een afbeelding of clip, uitnodigingen voor vrienden en gamekaarten in de chat | [Delen, vrienden en uitnodigingen](https://www.playdrop.ai/nl/create/learn/social) |
| Onlinegroepen en spraak | Vrienden komen samen in dezelfde kamer, met optionele kamerspraak | [Onlinegroepen en spraak](https://www.playdrop.ai/nl/create/learn/online-party) |
| Lokale groepen en controllers | Gamepads en telefoons als controllers op één scherm | [Lokale groepen en controllers](https://www.playdrop.ai/nl/create/learn/local-party) |
| Realtime servers | Colyseus-kamers met een MongoDB-database per game | [Realtime gameservers](https://www.playdrop.ai/nl/create/learn/game-servers) |
| Beoordelingen, fooien, aankopen en advertenties | Manieren voor spelers om de game te steunen; credits voor de maker | [Inkomsten](https://www.playdrop.ai/nl/create/learn/monetization) |
| Assets en AI-generatie | Gedeelde assets, gegenereerde media en creaties van spelers | [Game-assets](https://www.playdrop.ai/nl/create/learn/game-assets), [AI-assets](https://www.playdrop.ai/nl/create/learn/ai-assets), [Eigen formaten](https://www.playdrop.ai/nl/create/learn/custom-assets) |

## Wat de gamepagina krijgt

catalogue.json geeft de game zijn pagina: titel, beschrijving, genre en [tags](https://www.playdrop.ai/nl/create/learn/tags), [icoon, hoofdafbeelding, screenshots en video](https://www.playdrop.ai/nl/create/learn/listing-assets), [vertalingen](https://www.playdrop.ai/nl/create/learn/localization) en geschiktheid voor [Instant](https://www.playdrop.ai/nl/create/learn/instant-games). De [zichtbaarheid](https://www.playdrop.ai/nl/create/learn/distribution) bepaalt wie hem kan openen: privé om te testen, niet vermeld voor iedereen met de link, openbaar om ontdekt te worden op PlayDrop en toegankelijk voor zoekmachines. Een openbare vermelding schept kansen om ontdekt te worden; ze garandeert geen spelers.

## Waar elke functie werkt

De website en de apps draaien dezelfde game met dezelfde SDK, maar sommige functies van de host hangen af van het apparaat:

- Haptische feedback werkt alleen in de native apps; `sdk.haptics.supported` vertelt het je.
- Een videoclip delen hangt af van de host; hosts zonder die functie weigeren in plaats van een gewone link te delen.
- Offline spelen en bestanden vooraf laden gebeuren in de native apps, voor games die dat opgeven; de website laadt games online.
- Kamerspraak en groepen hangen af van de build van de host, het inloggen en de uitrol van het platform.
- Advertenties hangen af van de host en van beschikbare advertentieruimte; `load()` meldt wanneer er geen klaarstaat.

Ontwerp de game zo dat hij nog speelt als een optionele dienst ontbreekt.

## Begin met de SDK

Laad de SDK, lees de toestand van de host en meld daarna dat de game klaar is wanneer het eerste ontworpen frame in beeld is:

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

Ga verder met [laden, pauze en audio](https://www.playdrop.ai/nl/create/learn/lifecycle). De [referentie van de client-SDK](https://www.playdrop.ai/nl/create/learn/sdk) somt elke namespace op.

## Wat de connector niet kan

Je AI-app publiceert gebouwde games en leest je account. Hij kan geen games openen of wijzigen die in PlayDrop Studio zijn gemaakt, geen broncode teruggeven en geen code van uitvoerbare 3D-modellen uploaden. Die limieten horen bij de connector, niet bij het platform: Studio en de eigen tools van PlayDrop kunnen dit wel.

## Gerelateerde gidsen

- [Eenvoudige HTML-games](https://www.playdrop.ai/nl/create/learn/html-games): Publiceer één zelfstandig HTML-bestand tot 10 MiB met upload_game: wat past, de minicatalogus, zichtbaarheid, updates en wanneer je overstapt op een pakket.
- [Verpakken en .play](https://www.playdrop.ai/nl/create/learn/packaging): Richt een gebouwde gamemap, ZIP of .play in met catalogue.json in de hoofdmap, geef media en servers op en upload met prepare_catalogue_upload.
- [Laden, pauze en audio](https://www.playdrop.ai/nl/create/learn/lifecycle): Initialiseer de PlayDrop-SDK, meld klaar bij het eerste speelbare frame, pauzeer en hervat netjes, volg het audiobeleid en laad vooraf voor apps en offline.
- [Client-SDK](https://www.playdrop.ai/nl/create/learn/sdk): De PlayDrop-browser-SDK: init, host, speler en saves, controllers, sociaal, multiplayer, winkel, advertenties, ranglijsten, prestaties, assets en AI.
