# Asset credits

## Migrated from the legacy Cumple project (same author/party)

- `mariokart/**` — SNES-style sprites and music used by the original pygame
  game, copied via `tools/copy-assets.ps1`.
- `quiz/**` — question images and Joy-Con button art from the original game.

## Downloaded (Super Mario Kart, for the Rainbow Road variant)

Nintendo's game, like the rest of `mariokart/**`: fan rips, used here for a
private party game.

- `mariokart/track/rainbow/*.png` — the Rainbow Road track, cut on 2026-10-03
  from the Super Mario Kart sheets at
  https://www.mariouniverse.com/sprites-snes-smk/ :
  `road.png` (one tile of each of the course's seven colours, in driving order)
  and `start.png` (the start line's checker) from the Rainbow Road tileset
  (`tiles-rainbow-road.png`); `sky.png` (the backdrop's gradient) and the soft
  stars of `stars.png` from the course sheet (`bg-rainbow-road.png`, ripped by
  White-Jet); the vivid star from the backgrounds sheet (`backgrounds.gif`,
  ripped by SuperMarioFan); `thwomp.png` (the Thwomp, 24×32) from the hazards
  sheet (`hazards.png`, ripped by QuadFactor) — the game tints it itself.
- `mariokart/audio/RainbowRoad.mp3` — *Rainbow Road* from the Super Mario Kart
  soundtrack (Nintendo, 1992): track 11 of the Internet Archive item
  `super-mario-kart-1992-ost`, cut to the intro and one pass of the loop
  (55.8 s), +2 dB, 160 kbps.
  https://archive.org/details/super-mario-kart-1992-ost

## Downloaded (KayKit)

- `characters/player.glb` — rigged, animated character from the **KayKit
  Character Pack: Adventurers** by Kay Lousberg (the Rogue, weapons/cape
  hidden, jerseys re-colored per team at runtime). 76 skeletal animations.
  Shared by every minigame that puts people on screen, loaded once through
  `public/js/screen/minigames/actor3d.js`. **CC0.**
  https://github.com/KayKit-Game-Assets/KayKit-Character-Pack-Adventures-1.0

  Clips in use: the penalty shootout takes Idle, Blocking, Running_A,
  Unarmed_Melee_Attack_Kick, Spellcast_Raise (the keeper's dive — both arms
  sweep up the body axis), Block, Cheer, Lie_Down and Hit_A; the dilemma
  reveal takes Idle, Walking_A, Running_A, Interact (the handshake),
  Unarmed_Melee_Attack_Punch_A, Unarmed_Melee_Attack_Kick, Hit_A, Death_A
  and Cheer; the character select (preview and line-up) takes Idle and Cheer.

  The character-select avatars (`public/js/avatars/`) reuse this same rig:
  its body texture is repainted per team, and every head, face, hat, back
  item and tail is **procedural three.js geometry and canvas drawing written
  for this project** — no extra models, textures or fonts. See docs/avatars.md.

## Downloaded (Wikimedia Commons)

- `casino/maple-leaf-rag.ogg` — *Maple Leaf Rag* (Scott Joplin, 1899),
  performance file "Scott Joplin - Maple Leaf Rag.ogg" from Wikimedia Commons.
  **Public domain.**
  https://commons.wikimedia.org/wiki/File:Scott_Joplin_-_Maple_Leaf_Rag.ogg
- `sfx/whistle.wav` — referee whistle,
  "218318 splicesound referee-whistle-blow-gymnasium.wav" from Wikimedia
  Commons. **CC0.**
  https://commons.wikimedia.org/wiki/File:218318_splicesound_referee-whistle-blow-gymnasium.wav

## RISK (Wikimedia Commons, Natural Earth, game-icons.net)

- `risk/music/grieg-mountain-king.ogg` — Grieg, *In the Hall of the Mountain
  King* (Peer Gynt), Musopen recording, "Musopen - In the Hall Of The Mountain
  King.ogg" on Wikimedia Commons. **Public domain.** Lobby and draft music.
  https://commons.wikimedia.org/wiki/File:Musopen_-_In_the_Hall_Of_The_Mountain_King.ogg
- `risk/music/holst-mars.ogg` — Holst, *Mars, the Bringer of War* (The
  Planets), "Holst- mars.ogg" on Wikimedia Commons. **Public domain.** Battle
  music.
  https://commons.wikimedia.org/wiki/File:Holst-_mars.ogg
- `risk/music/wagner-valkyries.ogg` — Wagner, *Ride of the Valkyries*,
  "Richard Wagner - Ride of the Valkyries.ogg" on Wikimedia Commons. **Public
  domain.** Victory ceremony.
  https://commons.wikimedia.org/wiki/File:Richard_Wagner_-_Ride_of_the_Valkyries.ogg
- `risk/sfx/drum-roll.ogg` — "Drum Roll Intro.ogg", Wikimedia Commons. **CC0.**
  https://commons.wikimedia.org/wiki/File:Drum_Roll_Intro.ogg
- `risk/sfx/explosion.ogg` — "Explosion-LS100155.ogg", Wikimedia Commons.
  **Public domain.**
  https://commons.wikimedia.org/wiki/File:Explosion-LS100155.ogg
- Board geometry (`public/js/risk/maps/classic-art.js`) is generated by
  `tools/risk-build-map.js` from **Natural Earth** 1:110m country outlines
  (public domain), as packaged by world-atlas (`tools/geo/countries-110m.json`,
  ISC). https://www.naturalearthdata.com · https://github.com/topojson/world-atlas
- The physical geography drawn over the Classic and Europe boards — mountain
  ranges, deserts, forest basins, rivers and lakes, and the countries beyond
  each board — is **Natural Earth** 1:110m / 1:50m physical vectors (public
  domain), trimmed into `tools/geo/natural-earth-physical.json` by
  `tools/risk-maps/natural-earth-source.js`.
  https://github.com/nvkelso/natural-earth-vector
- Card symbols and interface icons (`public/js/risk/icons.js`) are from
  **game-icons.net**, by Lorc (crested helmet, horse head, cannon, crossed
  swords, world, crown, laurels, skull and crossed bones, checked shield, black
  flag, castle, trophy, two shadows, spears) and Delapouite (card joker, dice
  six faces five, star medal). **CC BY 3.0.** https://game-icons.net
- Commander crests reuse the team crests in `teams/` (see above).
- Barcelona board geometry (`public/js/risk/maps/barcelona-art.js`) is adapted
  from **Ajuntament de Barcelona**, *Unitats administratives de la ciutat de
  Barcelona*, **CC BY 4.0**. Official gran-barri areas group 73 neighborhoods
  into 40 game territories. Coordinates were rounded to 0.1 metre, rotated,
  stretched horizontally and compressed at the mountain/port edges for the game;
  shared borders and district membership are preserved. Source metadata and the
  offline extract are in `tools/geo/barcelona-neighborhoods.json`.
  https://opendata-ajuntament.barcelona.cat/data/es/dataset/20170706-districtes-barris
  https://creativecommons.org/licenses/by/4.0/
- Barcelona's surroundings on that board — the coastline and port, the Besòs and
  the Llobregat, the neighbouring towns, parks and woods, the street grid, the
  avenues and ring roads, the beaches — are **© OpenStreetMap contributors**,
  **ODbL 1.0**, fetched through the Overpass API by
  `tools/risk-maps/barcelona-context-source.js` and stored, simplified, in
  `tools/geo/barcelona-context.json`. The board itself carries the credit line.
  https://www.openstreetmap.org/copyright
- The landmark icons on every board (`tools/risk-maps/landmarks.js`: the
  Sagrada Família, the castle of Hyrule, the Los Santos skyline…) and the
  terrain glyphs (`tools/risk-maps/scenery.js`) are **original drawings made
  for this game** as vector code; no third-party artwork is traced or included.
- Hyrule board (`public/js/risk/maps/hyrule-art.js`) — **original
  vector artwork** generated from hand-authored regions and landmark positions
  in `tools/risk-maps/hyrule.gen.js`. Inspired by the surface of *The Legend of
  Zelda: Breath of the Wild* and *Tears of the Kingdom* (Nintendo); no Nintendo
  map images, textures or logos are included. Spanish place names reference
  [Nintendo's settlement guide](https://www.guiasnintendo.com/2c-switch/zelda-breath-of-the-wild/guia-zelda-breath-of-the-wild/lugares-aldeas.html)
  and [regional inventory references](https://www.guiasnintendo.com/2c-switch/zelda-breath-of-the-wild/guia-zelda-breath-of-the-wild/inventario-modulos.html).
  Geographic context: Nintendo's [Hebra](https://www.nintendo.com/ph/zelda/botw/discovery/hebra.html)
  and [Lanayru](https://www.nintendo.com/sg/zelda/botw/discovery/lanayru.html) guides.
  Boundaries, proportions and reinforcement regions are adapted for this game.
- Los Santos board (`public/js/risk/maps/los-santos-art.js`) — **original
  schematic vector artwork** generated from `tools/risk-maps/los-santos.gen.js`.
  Inspired by the city and harbor of *Grand Theft Auto V* (Rockstar Games);
  no Rockstar map images, textures or logos are included. Place names reference
  the [Cfx.re/FiveM zone documentation](https://docs.fivem.net/docs/game-references/zones/).
  Geographic orientation references GTA Wiki's [Los Santos](https://gta.fandom.com/wiki/Los_Santos_(HD_Universe)),
  [Elysian Island](https://gta.fandom.com/wiki/Elysian_Island) and
  [Terminal](https://gta.fandom.com/wiki/Terminal) entries. Neighborhood borders,
  scale and reinforcement regions are adapted for this game.
- Dice, marching drums, troop thuds and stings are synthesized with WebAudio
  (`public/js/risk/screen/audio.js`); the dice tray and the figurines are
  procedural three.js geometry.

## Generated at runtime

Every other sound effect (stings, ticks, crowd, kicks, roulette ball…) is
synthesized in the browser with WebAudio (`public/js/sfx.js`) — no files.

## Generated (OpenAI image model)

- `titlecards/*.webp` — the minigames' title cards, painted by OpenAI's
  `gpt-image-2.5-sunburst` on 2026-10-01 from the descriptions in
  `tools/title-cards/prompts.js`, with reference sheets of this project's own
  characters (`tools/title-cards/cast/`). Rebuild with
  `tools/build-title-cards.js` — see docs/minigames.md → Title cards.
  `bowling` and `chapas` were painted on 2026-10-03.

## Casa Llafranc (`llafranc/**`)

- `llafranc/house.glb`, `llafranc/lm/*` — the house, modelled and baked in Blender for this
  project from the owner's photos and the reform plans (`tools/llafranc/blender/`).
- `llafranc/site/*` — terrain, orthophoto and tree heights from the **Institut Cartogràfic i
  Geològic de Catalunya** (relief, LiDAR 2021-23, vegetation heights, orthophoto; CC BY 4.0,
  icgc.cat); building footprints and heights from the **Dirección General del Catastro** (INSPIRE
  WFS). Built by `tools/llafranc/surroundings.py`.
- `llafranc/tex/*` — textures from **Poly Haven** (CC0): clay_roof_tiles_02, leafy_grass,
  forrest_ground_03, old_stone_wall, coated_pine, oak_veneer_01, dark_wood, old_wood_floor,
  leather_white, cotton_jersey (as `linen.jpg` and the neutral `fabric.jpg`), hessian_230; the rest
  are procedural drawings (`tools/llafranc/textures.py`).
- `llafranc/tex/painting_*.jpg` — the paintings on the walls, painted by OpenAI's
  `gpt-image-2.5-sunburst` on 2026-10-19 from the descriptions in `tools/llafranc/paintings.mjs`.
- `llafranc/site/roads.json` — the streets of Llafranc, **© OpenStreetMap contributors**,
  **ODbL 1.0**, fetched through the Overpass API by `tools/llafranc/roads.py` (which also carves the
  ICGC relief under them). The level's credits carry the line.
  https://www.openstreetmap.org/copyright
- Your body in the mirrors and your shadow: `characters/player.glb` (KayKit, CC0, see above).
- `public/vendor/rapier3d-compat.mjs` — Rapier physics 0.19.3 (Dimforge, Apache-2.0);
  `public/vendor/postprocessing/`, `public/vendor/shaders/` — three.js 0.185 examples (MIT).
- Every sound in the level is synthesized (`public/js/llafranc/audio.js`).

