4.2 KiB
4.2 KiB
Super Kart — spritesheets needed
Everything below renders procedurally (tinted silhouettes, painted horizons)
until real art is dropped in, so none of this blocks the game working — but
here's the full list of what to paint, sized and ordered exactly as the code
expects. Drop-in paths are wired through data/superkart-artwork.json (set
path there once a PNG exists — no code changes needed) except for the menu
background, which is a single fixed file.
All racer/theme/item art needs a transparent background.
1. Racer karts — one sheet per racer
9 sheets, one per entry in data/superkart-racers.json:
| id | display name |
|---|---|
mario |
Mario |
kona |
Kona |
fireball |
Fireball |
smasher |
The Smasher |
croc |
Croc |
gerome |
Gerome |
blackwind |
Blackwind |
dv-8-2303 |
DV-8-2303 |
zanthor |
Zanthor |
- Frame size: 64×64
- Layout: 18 frames in a single row → 1152×64 px
- File: set
racerSheets.<id>.pathindata/superkart-artwork.json - Frames 0–15 — the kart viewed from 16 angles, rotating clockwise as
seen from above, in 22.5° steps:
- frame 0 = dead-on from behind
- frame 4 = kart's left side
- frame 8 = head-on (facing the viewer)
- frame 12 = kart's right side
- Frames 16–17 — optional player-view lean frames (16 = leaning left, 17 = leaning right), used only for the player's fixed on-screen kart while steering. If the sheet is only 16 frames wide, the game reuses frame 0 with a programmatic tilt instead — fine to skip.
- Kart centered horizontally in each frame, wheels touching the bottom edge (world sprites are anchored a bit above the frame's bottom, not dead center, so keep the kart's visual weight low in the frame).
2. Theme decor — one sheet per track theme
6 sheets, one per theme in data/superkart-rules.json:
| theme id | decor order (frame 0, 1, 2 — frames 3–7 spare) |
|---|---|
beach |
palm, umbrella, rock |
volcano |
boulder, vent, spire |
scrapyard |
tirepile, crane, wreck |
swamp |
cypress, reeds, log |
speedway |
grandstand, billboard, flagpole |
nightcity |
tower, neon, lamppost |
- Frame size: 64×64
- Layout: 8 frames in a single row → 512×64 px (only the first 3 are currently used per theme; the rest are free for future decor)
- File: set
themeSheets.<theme>.pathindata/superkart-artwork.json - Drawn perspective-scaled beside the track, anchored near the bottom of the frame like the karts above.
3. Backdrops — one horizon strip per theme
6 images, same theme ids as above.
- Size: 1024×300 px
- File: set
backdrops.<theme>.pathindata/superkart-artwork.json - Must tile horizontally — left and right edges need to match, since it's scrolled as the camera rotates through a full 360°.
- Drawn above the horizon line; the bottom edge's color should blend toward
that theme's
fogcolor indata/superkart-rules.jsonso the seam into the 3D ground plane is invisible.
4. Item icons — one shared sheet
- Frame size: 48×48
- Layout: 9 frames in a single row → 432×48 px
- File: set
itemSheet.pathindata/superkart-artwork.json - Frame order (matches
itemsindata/superkart-rules.json, plus two extras): 0. bolt- seeker
- oil
- turbo
- overdrive
- emp
- coins
- item box (the question-mark-style box karts drive through)
- single coin (the pickup, distinct from the "coins" item icon in frame 6)
5. Main menu background — single image
- File:
assets/images/superkart-background.png(already exists — registered directly insrc/data/assetManifest.js, not through the drop-in artwork JSON) - Size: ~1920×1080 (16:9); current art is 1928×1088 and gets stretched to fill the canvas, so keep close to that aspect ratio for future updates or revisions
- Shown behind the menu, class/racer select, cup/track select, results, and podium screens (anywhere that isn't an active race — the Mode 7 ground fully covers it during racing). The game draws a ~45%-alpha dark scrim over it for text contrast, so avoid relying on fine detail or very light colors in areas where UI text sits (title/top band, center column).