60 lines
4.1 KiB
JSON
60 lines
4.1 KiB
JSON
{
|
|
"_readme": [
|
|
"Drop-in artwork manifest for Super Kart. Entries with path:null render",
|
|
"procedurally (tinted kart silhouettes, painted terrain) until art is",
|
|
"supplied - set the path once the PNG exists and the game uses it with no",
|
|
"code changes. Loaded lazily on game entry via src/data/assetManifest.js.",
|
|
"",
|
|
"racerSheets - one spritesheet per racer, 18 frames of 64x64 in a single row",
|
|
" (1152x64 png). Frames 0..15 are the kart seen from 16 view angles:",
|
|
" frame 0 = viewed square from BEHIND, rotating CLOCKWISE (seen from above)",
|
|
" in 22.5-degree steps - frame 4 = kart's left side, frame 8 = head-on,",
|
|
" frame 12 = right side. Frames 16/17 are optional player-view lean frames",
|
|
" (16 = leaning left, 17 = leaning right); if the sheet is only 16 frames",
|
|
" wide the game reuses frame 0 with a tilt instead.",
|
|
" Transparent background, kart centered, wheels touching the frame bottom.",
|
|
"",
|
|
"themeSheets - one 8-frame sheet per location theme, 64x64 frames in a row",
|
|
" (512x64 png): frame order matches the theme's decor list in",
|
|
" data/superkart-rules.json (frame 0 = first decor sprite, etc.); trailing",
|
|
" frames are spare. Drawn perspective-scaled beside the track.",
|
|
"",
|
|
"backdrops - one wide horizon strip per theme, 1024x300 png, tiles",
|
|
" horizontally (left and right edges must match). Drawn above the horizon",
|
|
" and parallax-scrolled as the camera rotates. The bottom edge color should",
|
|
" blend toward the theme's fog color in superkart-rules.json.",
|
|
"",
|
|
"itemSheet - 48x48 frames in a single row, one frame per item in",
|
|
" data/superkart-rules.json items order (bolt, seeker, oil, turbo,",
|
|
" overdrive, emp, coins), then frame 7 = item box, frame 8 = coin."
|
|
],
|
|
"racerSheets": {
|
|
"mario": { "key": "superkart-kart-mario", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"kona": { "key": "superkart-kart-kona", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"fireball": { "key": "superkart-kart-fireball", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"smasher": { "key": "superkart-kart-smasher", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"croc": { "key": "superkart-kart-croc", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"gerome": { "key": "superkart-kart-gerome", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"blackwind": { "key": "superkart-kart-blackwind", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"dv-8-2303": { "key": "superkart-kart-dv-8-2303", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 },
|
|
"zanthor": { "key": "superkart-kart-zanthor", "path": null, "frameWidth": 64, "frameHeight": 64, "angles": 16 }
|
|
},
|
|
"themeSheets": {
|
|
"beach": { "key": "superkart-theme-beach", "path": null, "frameWidth": 64, "frameHeight": 64 },
|
|
"volcano": { "key": "superkart-theme-volcano", "path": null, "frameWidth": 64, "frameHeight": 64 },
|
|
"scrapyard": { "key": "superkart-theme-scrapyard", "path": null, "frameWidth": 64, "frameHeight": 64 },
|
|
"swamp": { "key": "superkart-theme-swamp", "path": null, "frameWidth": 64, "frameHeight": 64 },
|
|
"speedway": { "key": "superkart-theme-speedway", "path": null, "frameWidth": 64, "frameHeight": 64 },
|
|
"nightcity": { "key": "superkart-theme-nightcity", "path": null, "frameWidth": 64, "frameHeight": 64 }
|
|
},
|
|
"backdrops": {
|
|
"beach": { "key": "superkart-backdrop-beach", "path": null },
|
|
"volcano": { "key": "superkart-backdrop-volcano", "path": null },
|
|
"scrapyard": { "key": "superkart-backdrop-scrapyard", "path": null },
|
|
"swamp": { "key": "superkart-backdrop-swamp", "path": null },
|
|
"speedway": { "key": "superkart-backdrop-speedway", "path": null },
|
|
"nightcity": { "key": "superkart-backdrop-nightcity", "path": null }
|
|
},
|
|
"itemSheet": { "key": "superkart-items", "path": null, "frameWidth": 48, "frameHeight": 48 }
|
|
}
|