ShortPlay developer docs
ShortPlay is a lean-back discovery feed for short (1–5 min) web games — a vertical feed you browse the way you'd browse a video feed, except every card is a real, playable game. This site is the central home for publishing a game on ShortPlay: it houses the game SDK and, as it lands, the makers API. If you're a maker who wants your game in the feed, start with Getting started.
Hosted vs link tier
ShortPlay carries games in two tiers:
- Hosted — your game's zip is uploaded to ShortPlay, runs inside a sandboxed iframe on ShortPlay's own games origin, and is playable directly in the feed (including, if your manifest declares it, as an inline preview before anyone taps in). Hosted games play inline in the feed, can be previewed before a tap, get the SDK and the version/rollback tooling, and are covered by the contract on this site. Link games reach the same feed as cards that open the host page, and you can also publish a hosted build of the same game from your studio.
- Link — your game lives on itch.io; ShortPlay links to it. Tapping the card opens the game's ShortPlay page first; a second tap ("Play on itch.io") opens the host page in an in-app browser — it's never inline play. See Link games for the submission flow.
The quality bar
Every hosted upload goes through a published entry gate before it's eligible for the feed. Checked in order; a fail states its reason in one public line, and fixing it and resubmitting is always an option:
- Loads clean — boots with no errors to an interactive first frame.
- Mobile-real, not mobile-claimed — plays start-to-loop on a phone with touch only; no keyboard dependency, no dead taps.
- Instant start — the game is interactive within about a second of loading; no splash sequence or menu maze before play.
- No crash in a 2-minute session.
- Honest listing — creator-written title/description/cover matching the game; the cover renders acceptably on the card (no page-screenshots-as-covers; an accent fallback is always offered and is never by itself a rejection reason).
- Content + provenance — no NSFW, actually a game, publicly playable, and you own or have the rights to what you're submitting.
Every game, hosted or link, additionally has to clear the platform-wide catalog floor: playable in the browser (not download-only), not NSFW, actually a game, public, an honest creator-written hook (no ghostwriting), and a cover that renders acceptably (an accent fallback covers bad or missing art).
What the feed does with your manifest
Every hosted game ships a capability manifest — the platform reads it to decide who sees your game and how it's presented, before ranking runs:
- Device-fit filtering happens before ranking. The feed only shows your game to a device that
can actually play it — a device satisfies a declared input if it can provide at least one of the
tokens you list (e.g. a mouse satisfies
tap/hold/drag/swipe). This keeps ranking honest: a game never gets penalized in the ranker for reaching an audience it was never shown to in the first place. orientationshapes how your game's stage is presented — portrait, landscape, orany— on both mobile and desktop.previewPlayabletells the feed whether your game can be truly played, inline, in a portrait feed cell with the inputs you declared. Only set ittrueif that's actually true — this is a first-impression promise, not a marketing flag.
The full field-by-field manifest reference — generated straight from the schema that validates every upload — is on Hosted-game contract.
Where the SDK fits
ShortPlay ships an optional, pre-1.0 JavaScript SDK (ShortPlay.game/score/event + a small set of
lifecycle callbacks) for authors who want tighter integration than the zero-integration baseline
(an unmodified HTML5 bundle already runs fine — see
Hosted-game contract). It is never required to publish. Details on
SDK.