# Listing icon, hero art, screenshots and video for PlayDrop games

The listing images and videos a PlayDrop game can have, their paths, formats and orientations, and how to make art that works in feeds, search and previews.

Source: https://www.playdrop.ai/create/learn/listing-assets

The listing is what players see before they play: on Home, in search, in the Instant feed and when a link is shared. Good art does more for a game's first plays than any description.

## The media a game can have

| Catalogue field | Use | Format |
|---|---|---|
| `icon` | Square app icon in lists, search and Chat | PNG |
| `heroLandscape` | Wide 16:9 key art with the game's title | PNG |
| `heroPortrait` | Tall 9:16 key art with the title, for phones | PNG |
| `socialLandscape` | Optional wide image for link previews | PNG or JPEG |
| `screenshotsLandscape`, `screenshotsPortrait` | Real gameplay screenshots | PNG |
| `videosLandscape` | Gameplay trailer | MP4 |
| `videosPortrait` | Portrait teaser for phones and the Instant feed | MP4 |

Declare them in the app's `listing` object with paths relative to catalogue.json:

```json
{
  "listing": {
    "icon": "listing/icon.png",
    "heroLandscape": "listing/hero-landscape.png",
    "heroPortrait": "listing/hero-portrait.png",
    "screenshotsLandscape": ["listing/shot-1.png", "listing/shot-2.png"],
    "videosLandscape": ["listing/trailer.mp4"],
    "videosPortrait": ["listing/teaser.mp4"]
  }
}
```

Screenshot and video entries may also be objects with `path`, `title`, `alt` and `caption`. A file under `listing/` that the catalogue does not reference is not used as listing media. Listing media needs a [package](https://www.playdrop.ai/create/learn/packaging); the simple HTML path has none.

## Make art that works

- **Icon:** one bold shape or character, readable at 48 pixels, no small text, no screenshot shrunk down.
- **Hero art:** the title in the art, the main character or action, and space around the edges, because feeds crop differently on each device.
- **Screenshots:** real gameplay at the game's native resolution, showing different moments. No mockups of devices.
- **Trailer:** start with gameplay in the first second, keep it short, and do not rely on sound: listing videos play muted.
- **Portrait teaser:** for phone games and [Instant](https://www.playdrop.ai/create/learn/instant-games) reach, record portrait gameplay first; a landscape trailer can come later.

Show only features, modes and languages the game really has.

## Translated art

Art with text can be translated per language: reference the translated files from that language's entry in `listingLocalizations`, for example `"fr": { "displayName": "Saut lunaire", "listing": { "heroLandscape": "listing/locales/fr/hero-landscape.png" } }`. See [localization](https://www.playdrop.ai/create/learn/localization).

## Updates

Every upload is a complete snapshot: include the listing again with every version, or the new version has no listing media. Unchanged files can be reused from a retained version instead of uploaded again.

## Related guides

- [Packaging and .play](https://www.playdrop.ai/create/learn/packaging): Lay out a built game folder, ZIP or .play with catalogue.json at its root, declare listing media and servers, and upload it with prepare_catalogue_upload.
- [Localization](https://www.playdrop.ai/create/learn/localization): Read the player's language with sdk.host.language, choose which of PlayDrop's 20 languages to support, and translate the listing and its art.
- [Instant games](https://www.playdrop.ai/create/learn/instant-games): What makes a PlayDrop game Instant: portrait play, guest access, at most 10 MiB of startup files and a two-second start, and how it differs from regular games.
- [Genres and tags](https://www.playdrop.ai/create/learn/tags): The required genre, optional subgenre, play mode, theme and mood tags a PlayDrop game can use, and how they place a game in browsing and search.
