# Instantgames en gewone games op PlayDrop

Wat een PlayDrop-game Instant maakt: staand spelen, gasttoegang, maximaal 10 MiB startbestanden, start binnen twee seconden, en het verschil met een gewone game.

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

Instantgames zijn de korte, staande games van de Instantfeed in de PlayDrop-apps voor telefoons: spelers swipen en de volgende game speelt al. Elke andere game is een gewone game, die je opent via zijn pagina, zoekresultaten of een link. Beide worden op dezelfde manier gepubliceerd; Instant is een eigenschap van een versie.

## Instant of gewoon

| | Instant | Gewoon |
|---|---|---|
| Waar hij speelt | Instantfeed, plus overal waar gewone games spelen | Home, zoekresultaten, gamepagina, links |
| Oriëntatie | Eerst staand | Elke gedeclareerde weergave |
| Inloggen | Gasten kunnen spelen | Elke `authMode` |
| Start | Speelbaar binnen 2 seconden | Geen limiet, maar sneller is beter |
| Startbestanden | Maximaal 10 MiB | Geen startlimiet |
| Badge | Bliksembadge | Geen |

Een game die niet aan de eisen voor Instant voldoet, wordt toch gepubliceerd als gewone game.

## Vereisten

```json
{
  "primarySurface": "MOBILE_PORTRAIT",
  "surfaceTargets": { "desktop": true, "mobileLandscape": false, "mobilePortrait": true },
  "authMode": "OPTIONAL",
  "instant": true,
  "prefetch": { "required": ["game.js", "atlas.png"], "optional": ["music.mp3", "levels/world-2.json"] }
}
```

- `primarySurface` is `MOBILE_PORTRAIT` en de game ondersteunt telefoons in staande stand.
- `authMode` is `OPTIONAL` of `NONE`, zodat gasten kunnen spelen.
- De startbestanden zijn samen maximaal 10 MiB: de startpagina plus `prefetch.required`, of alle geüploade bestanden als er niets is opgegeven.
- `instant: true` claimt de status.

De upload controleert de grootte, en `instant` en `instantReason` in het uploadbewijs melden het resultaat. Na de release meet PlayDrop echte starts in de apps: zodra een versie 20 starts vanuit gedownloade bestanden heeft en meer dan een kwart 2 seconden of langer duurt, verliest hij de badge. Een nieuwe versie kan opnieuw in aanmerking komen.

## Snel starten

- Zet latere levels, muziek en extra's in `prefetch.optional` en laad ze na `ready()`.
- Compileer shaders en warm de game op voordat je `ready()` aanroept, zodat de eerste frames niet haperen.
- Toon meteen gameplay: geen titelscherm, geen menu en geen inlogmuur vóór de eerste zet.
- Laat de eerste seconden zichzelf uitleggen zonder tekst.
- Neem een staande gameplayvideo op voor de gamepagina; de feed gebruikt die.

Zie [laden, pauzeren en audio](https://www.playdrop.ai/nl/create/learn/lifecycle) voor vooraf laden en [schermvullend en veilige zones](https://www.playdrop.ai/nl/create/learn/viewport) voor een staande lay-out.

## Gerelateerde gidsen

- [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.
- [Schermvullend en veilige zones](https://www.playdrop.ai/nl/create/learn/viewport): Laat een PlayDrop-game het scherm vullen en houd de HUD binnen de CSS-veilige zones en vrij van de hostknoppen met de gemeten reservedCorners van de SDK.
- [Afbeeldingen en video voor de gamepagina](https://www.playdrop.ai/nl/create/learn/listing-assets): Welke afbeeldingen en video's een PlayDrop-gamepagina kan hebben, met paden, formaten en oriëntaties, en beelden die werken in feeds, zoeken en linkvoorbeelden.
- [catalogue.json](https://www.playdrop.ai/nl/create/learn/catalogue-json): De catalogue.json-velden die games gebruiken: identiteit, gamepagina, speelwijzen, weergaven, inloggen, Instant, vooraf laden, media, vertalingen, scores en servers.
