Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ different kind of module.
| `schema` | yes | `1`. An instance refuses a schema it does not read. |
| `slug` | yes | `lower-case-with-hyphens`. An IGDB slug where one exists, so search enriches the same row instead of adding a second. |
| `name` | yes | What people call the game. |
| `igdbId` | no | The game's numeric IGDB id — the "IGDB ID" on its igdb.com page. A game a player picks from IGDB search is matched to this pack by it first, so the pill draws this pack's app icon even where IGDB's slug is not the pack's (`trackmania--2`, `deadlock--2`). Leave it out for a franchise pack or a game IGDB has no single entry for. Needs an instance that knows the field (older 3.0 betas refuse it). |
| `engine` | yes | The module that runs it. `manual-report` today. |
| `aliases` | no | Extra search terms. |
| `version` | no | Your own version string. Re-importing the same slug updates it. |
Expand Down Expand Up @@ -118,9 +119,10 @@ person can read and a reviewer can diff.
### index.json

Each entry repeats just enough for the app to draw a card before it downloads
anything: the slug, name, version, engine, a one-line description, the pack's
path, the tile's path *relative to this file* (`icons/<slug>.svg`, without
the `../`), and the app icon's the same way (`app-icons/<slug>.webp`).
anything: the slug, name, IGDB id (when the pack has one), version, engine, a
one-line description, the pack's path, the tile's path *relative to this file*
(`icons/<slug>.svg`, without the `../`), and the app icon's the same way
(`app-icons/<slug>.webp`).

```json
{
Expand Down Expand Up @@ -180,10 +182,10 @@ downloads only from `https://github.com/Auto-Tournament/`.

## Adding a game

1. Write `packs/<slug>.json`.
1. Write `packs/<slug>.json`, with the game's `igdbId` from its igdb.com page when IGDB has one entry for it.
2. Put its tile at `icons/<slug>.svg` and point `icon` at `../icons/<slug>.svg`.
3. If the game has a square app icon, put it at `app-icons/<slug>.webp` (128 × 128, at most 25 KB), point `appIcon` at `../app-icons/<slug>.webp`, and add a row to `app-icons/SOURCES.md`.
4. Add the game to `index.json` and to `packs` in `catalog.json`, with `icon` as `icons/<slug>.svg` (and `appIcon` as `app-icons/<slug>.webp`).
4. Add the game to `index.json` and to `packs` in `catalog.json`, with its `igdbId`, `icon` as `icons/<slug>.svg` (and `appIcon` as `app-icons/<slug>.webp`).
5. Open a pull request.

Please only add a game you would actually run a tournament for, with a tile
Expand Down
33 changes: 17 additions & 16 deletions app-icons/SOURCES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,24 @@ Sources, in order of preference — all public, no API key, nothing behind a
login:

1. **Steam client icon.** `https://api.steamcmd.net/v1/info/<appid>` →
`common.clienticon` → `https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/<appid>/<hash>.ico`;
the largest frame (256 or 512 px). The small `common.icon` JPEG is 32 px and
not used. Where the `.ico` is gone, `common.linuxclienticon` (a zip of PNGs).
`common.clienticon` → `https://shared.fastly.steamstatic.com/community_assets/images/apps/<appid>/<hash>.ico`
(the older `https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/<appid>/<hash>.ico`
path still answers for older games but 404s for newer ones, such as
Battlefield 6); the largest frame (256 or 512 px). The small `common.icon`
JPEG is 32 px and not used. Where the `.ico` is gone,
`common.linuxclienticon` (a zip of PNGs).
2. **App Store icon** for mobile-first games. `https://itunes.apple.com/lookup?id=<id>`
→ `artworkUrl512` (requested at 256 px, PNG).
3. **Nintendo eShop square image** for Nintendo-only games — the square
picture the Switch shows for the game. Nintendo of Europe's game search
(`searching.nintendo-europe.com`), field `image_url_sq_s`.
4. Otherwise, a square icon published by the game's own store page or
Wikimedia Commons, noted per game below.
4. Otherwise, a square icon published by the game's own store page, its
launcher or Wikimedia Commons, noted per game below. Where that is a mark
on a transparent background, it is set on the colour the game's launcher
tile uses, the way the launcher shows it.
5. **Chess** has no brand — it is a game, not a product — so its icon is ours:
a knight drawn in the same flat, faceted style and palette as the pack's
tile (`icons/chess.svg`).

Wikidata has no square-icon statement (P2910) for any of these games, and its
logo (P154) is the wide wordmark, so it is not a source except where the logo
Expand All @@ -32,8 +40,10 @@ is itself the square icon (osu!).
| --- | --- | --- | --- |
| age-of-empires-ii | `age-of-empires-ii.webp` | Steam client icon (app 813780, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/813780/7559e80083c6d4bd482aa61242300d0b32c65652.ico> |
| apex-legends | `apex-legends.webp` | Steam client icon (app 1172470, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1172470/8986dd626da56db5f3fe09bc1b8871739de8b00d.ico> |
| battlefield-6 | `battlefield-6.webp` | Steam client icon (app 2807960, 256px frame of `common.clienticon`; the old Cloudflare path 404s for it) | <https://shared.fastly.steamstatic.com/community_assets/images/apps/2807960/2a8344dc3c4b5d552cb0b6adec0f32fcd687308d.ico> |
| brawl-stars | `brawl-stars.webp` | App Store icon, "Brawl Stars" by Supercell Oy (iTunes Lookup id 1229016807) | <https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/ee/a7/00/eea700d3-6cec-f063-b86c-3dfd251c95bd/AppIcon-0-0-1x_U007epad-0-1-85-220.png/256x256bb.png> |
| call-of-duty | `call-of-duty.webp` | Steam client icon (app 1938090, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1938090/62d857e14896e4f7010ebedc8842b1e48898a18c.ico> |
| chess | `chess.webp` | Our own: a chess knight in the pack tile's flat, faceted style, on the tile's orange #FA632A | — |
| clash-royale | `clash-royale.webp` | App Store icon, "Clash Royale" by Supercell Oy (iTunes Lookup id 1053012308) | <https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/77/45/d0/7745d02a-8eac-2295-b062-73bb93e90506/AppIcon-0-0-1x_U007emarketing-0-7-0-85-220.png/256x256bb.png> |
| counter-strike-2 | `counter-strike-2.webp` | Steam client icon (app 730, 512px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/730/324b323045b09bace182f928f4104dfcd93cb7f3.ico> |
| deadlock | `deadlock.webp` | Steam client icon (app 1422450, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1422450/d84198725616ae43a74222f559e0fe710c3bb18b.ico> |
Expand All @@ -43,6 +53,7 @@ is itself the square icon (osu!).
| guilty-gear-strive | `guilty-gear-strive.webp` | Steam client icon (app 1384160, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1384160/9ba9925e7c37710a4e165916dd01e10c2eded18f.ico> |
| halo-infinite | `halo-infinite.webp` | Steam client icon (app 1240440, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1240440/f02816fc405709ccfa88ba3afa0943a190554486.ico> |
| hearthstone | `hearthstone.webp` | App Store icon, "Hearthstone" by Blizzard Entertainment, Inc. (iTunes Lookup id 625257520) | <https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/06/ba/fc/06bafcc9-e4a7-1f5b-51fd-2687232ab434/AppIcon-1x_U007emarketing-0-8-0-85-220-0.png/256x256bb.png> |
| league-of-legends | `league-of-legends.webp` | The League "L" crest from leagueoflegends.com's own site icon (SVG), set on League's dark blue #0A1428 — the tile the Riot Client shows. Not on Steam or the App Store; the Epic Games Store listing has only box art and the wordmark | <https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/d3b7bd9decb1e1672dcb80be4f8bc1aa05490dc1-110x70.svg> |
| mario-kart-8-deluxe | `mario-kart-8-deluxe.webp` | Nintendo eShop square image (Nintendo of Europe game search, `image_url_sq_s`) | <https://www.nintendo.com/eu/media/images/11_square_images/games_18/nintendo_switch_5/SQ_NSwitch_MarioKart8Deluxe_image500w.jpg> |
| marvel-rivals | `marvel-rivals.webp` | Steam client icon (app 2767030, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/2767030/bd22e45404f4ed4f3c549b575e23ce76fe03fb07.ico> |
| minecraft | `minecraft.webp` | App Store icon, "Minecraft: Play with Friends!" by Mojang AB (iTunes Lookup id 479516143) | <https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/6c/04/5b/6c045bf2-3400-f6cb-37e7-30b3f945b024/AppIcon-0-0-1x_U007emarketing-0-10-0-85-220.png/256x256bb.png> |
Expand All @@ -54,6 +65,7 @@ is itself the square icon (osu!).
| rainbow-six-siege | `rainbow-six-siege.webp` | Steam client icon (app 359550, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/359550/0f02b60c4e54a254f99ce6d38f16e6fadb504e54.ico> |
| rocket-league | `rocket-league.webp` | Steam client icon (app 252950, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/252950/3ea06e4358d60a692914fd961298de33ad4073b2.ico> |
| splatoon-3 | `splatoon-3.webp` | Nintendo eShop square image (Nintendo of Europe game search, `image_url_sq_s`) | <https://www.nintendo.com/eu/media/images/11_square_images/games_18/nintendo_switch_5/1x1_nswitch_splatoon3_old/1x1_NSwitch_Splatoon3_image500w.jpg> |
| starcraft-ii | `starcraft-ii.webp` | Battle.net shop game icon (SVG, the SC mark the Battle.net launcher lists the game with), set on dark blue #0C1524. Battle.net only, not on Steam | <https://blz-contentstack-images.akamaized.net/v3/assets/bltf408a0557f4e4998/bltcadd0c49e316fea2/60db86c9ce1eb95db45df71f/starcraft-ii.svg> |
| street-fighter-6 | `street-fighter-6.webp` | Steam client icon (app 1364780, 256px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1364780/1bad0a68346084e54d68a802f20aeab68c951f05.ico> |
| super-smash-bros-ultimate | `super-smash-bros-ultimate.webp` | Nintendo eShop square image (Nintendo of Europe game search, `image_url_sq_s`) | <https://www.nintendo.com/eu/media/images/11_square_images/games_18/nintendo_switch_5/SQ_NSwitch_SuperSmashBrosUltimate_02_image500w.jpg> |
| team-fortress-2 | `team-fortress-2.webp` | Steam client icon (app 440, 512px frame of `common.clienticon`) | <https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/440/f568912870a4684f9ec76277a1a404dda6bab213.ico> |
Expand All @@ -65,14 +77,3 @@ is itself the square icon (osu!).
`counter-strike-2.webp` is here for the record; the platform ships it with the
CS2 module (`client/public/games/counter-strike-2-app-icon.webp`), since CS2 is
a code module, not a pack.

## Games without an app icon

No public, key-free source has a square icon for these, so their packs have no
`appIcon` and the app falls back to the IGDB cover (when IGDB is set up), then
the game's initials:

- **Battlefield 6** — no Steam `.ico` (404), no App Store app; the Epic icon is the wordmark.
- **Chess** — a game, not a product; no one icon to use.
- **League of Legends** — not on Steam or the App Store; store listings only carry box art.
- **StarCraft II** — Battle.net only; store listings only carry box art.
Binary file added app-icons/battlefield-6.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app-icons/chess.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app-icons/league-of-legends.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app-icons/starcraft-ii.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading