125 lines
7.3 KiB
JSON
125 lines
7.3 KiB
JSON
{
|
|
"_readme": "Master of Vega — drop-in artwork manifest. Every sheet starts with path:null, which means VegaArt.js paints a procedural stand-in at exactly the same frame geometry. To use real art, drop the PNG in assets/images/vega/ and set its path here — no code changes. Frame layouts are documented in src/games/mastervega/sprites.md and are APPEND-ONLY.",
|
|
"_kindReadme": "kind selects the procedural painter in VegaArt.PROC_PAINTERS. Painters are keyed by kind, never by sheet name, so adding a sheet later needs no code change.",
|
|
|
|
"_portraitVideosReadme": "Species portraits are looping muted videos rather than spritesheet frames, 256x256. All ten are present. NOTE: cerebrai's file is spelled 'char-cerebai.mp4' on disk (missing the r) — the path below points at the real filename, so rename the file and this one line together if you want the spelling fixed. To add or replace one: drop the file and set its path here; nothing else changes.",
|
|
"portraitVideos": {
|
|
"human": { "key": "vega-char-human", "path": "assets/videos/vega/char-human.mp4" },
|
|
"kestrelli": { "key": "vega-char-kestrelli", "path": "assets/videos/vega/char-kestrelli.mp4" },
|
|
"ursaal": { "key": "vega-char-ursaal", "path": "assets/videos/vega/char-ursaal.mp4" },
|
|
"umbrix": { "key": "vega-char-umbrix", "path": "assets/videos/vega/char-umbrix.mp4" },
|
|
"kkrix": { "key": "vega-char-kkrix", "path": "assets/videos/vega/char-kkrix.mp4" },
|
|
"mekhan": { "key": "vega-char-mekhan", "path": "assets/videos/vega/char-mekhan.mp4" },
|
|
"rrashaa": { "key": "vega-char-rrashaa", "path": "assets/videos/vega/char-rrashaa.mp4" },
|
|
"cerebrai": { "key": "vega-char-cerebrai", "path": "assets/videos/vega/char-cerebai.mp4" },
|
|
"ssakar": { "key": "vega-char-ssakar", "path": "assets/videos/vega/char-ssakar.mp4" },
|
|
"lithox": { "key": "vega-char-lithox", "path": "assets/videos/vega/char-lithox.mp4" }
|
|
},
|
|
|
|
"_portraitStillsReadme": "High-resolution (1024x1024) still portraits, one per species. Every species now has a video too, so these serve as the recovery path if a video fails to decode. NOTE: kestrelli's file is spelled 'char-kestralli.png' on disk — the path below points at the real filename; rename the file and this one line together if you want the spelling fixed.",
|
|
"portraitStills": {
|
|
"human": { "key": "vega-still-human", "path": "assets/images/vega/char-human.png" },
|
|
"kestrelli": { "key": "vega-still-kestrelli", "path": "assets/images/vega/char-kestralli.png" },
|
|
"ursaal": { "key": "vega-still-ursaal", "path": "assets/images/vega/char-ursaal.png" },
|
|
"umbrix": { "key": "vega-still-umbrix", "path": "assets/images/vega/char-umbrix.png" },
|
|
"kkrix": { "key": "vega-still-kkrix", "path": "assets/images/vega/char-kkrix.png" },
|
|
"mekhan": { "key": "vega-still-mekhan", "path": "assets/images/vega/char-mekhan.png" },
|
|
"rrashaa": { "key": "vega-still-rrashaa", "path": "assets/images/vega/char-rrashaa.png" },
|
|
"cerebrai": { "key": "vega-still-cerebrai", "path": "assets/images/vega/char-cerebrai.png" },
|
|
"ssakar": { "key": "vega-still-ssakar", "path": "assets/images/vega/char-ssakar.png" },
|
|
"lithox": { "key": "vega-still-lithox", "path": "assets/images/vega/char-lithox.png" }
|
|
},
|
|
|
|
"_worldBackgroundsReadme": "Full-screen 1920x1080 OPAQUE backdrops for the colony screen, one per planetType id. These are NOT the 'planets' sheet — that one holds transparent 192x192 discs for the orrery. A null path falls back to a gradient painted from planetTypes[].color, so the roster can be finished one world at a time. The '-01' suffix is a variant slot. NOTE: the gas giant's file is spelled 'world-gas-giant-01.png' with a hyphen while the rules id is 'gasgiant' — the path below points at the real filename. 'jungle' is the one colonisable type still outstanding.",
|
|
"worldBackgrounds": {
|
|
"terran": { "key": "vega-world-terran", "path": "assets/images/vega/world-terran-01.png" },
|
|
"ocean": { "key": "vega-world-ocean", "path": "assets/images/vega/world-ocean-01.png" },
|
|
"jungle": { "key": "vega-world-jungle", "path": null },
|
|
"steppe": { "key": "vega-world-steppe", "path": "assets/images/vega/world-steppe-01.png" },
|
|
"arid": { "key": "vega-world-arid", "path": "assets/images/vega/world-arid-01.png" },
|
|
"desert": { "key": "vega-world-desert", "path": "assets/images/vega/world-desert-01.png" },
|
|
"tundra": { "key": "vega-world-tundra", "path": "assets/images/vega/world-tundra-01.png" },
|
|
"minimal": { "key": "vega-world-minimal", "path": "assets/images/vega/world-minimal-01.png" },
|
|
"barren": { "key": "vega-world-barren", "path": "assets/images/vega/world-barren-01.png" },
|
|
"dead": { "key": "vega-world-dead", "path": "assets/images/vega/world-dead-01.png" },
|
|
"inferno": { "key": "vega-world-inferno", "path": "assets/images/vega/world-inferno-01.png" },
|
|
"toxic": { "key": "vega-world-toxic", "path": "assets/images/vega/world-toxic-01.png" },
|
|
"radiated": { "key": "vega-world-radiated", "path": "assets/images/vega/world-radiated-01.png" },
|
|
"gasgiant": { "key": "vega-world-gasgiant", "path": "assets/images/vega/world-gas-giant-01.png" },
|
|
"asteroids": { "key": "vega-world-asteroids", "path": null }
|
|
},
|
|
|
|
"sheets": {
|
|
"ships": {
|
|
"key": "vega-ships",
|
|
"path": null,
|
|
"kind": "ship",
|
|
"frameWidth": 96,
|
|
"frameHeight": 96,
|
|
"cols": 8,
|
|
"rows": 10,
|
|
"_layout": "One row per species (species.shipFrame), one column per hull (hull.frame). Frame = shipFrame * 8 + hull.frame. Ships face UP at frame rest."
|
|
},
|
|
"planets": {
|
|
"key": "vega-planets",
|
|
"path": "assets/images/vega/planets.png",
|
|
"kind": "planet",
|
|
"frameWidth": 192,
|
|
"frameHeight": 192,
|
|
"cols": 5,
|
|
"rows": 3,
|
|
"_layout": "One frame per planetType.frame, 0-14, in the order planetTypes appears in the rules file."
|
|
},
|
|
"stars": {
|
|
"key": "vega-stars",
|
|
"path": null,
|
|
"kind": "star",
|
|
"frameWidth": 192,
|
|
"frameHeight": 192,
|
|
"cols": 3,
|
|
"rows": 3,
|
|
"_layout": "One frame per starClass, in rules order: blue, white, yellow, orange, red, brown, binary, pulsar, blackhole."
|
|
},
|
|
"portraits": {
|
|
"key": "vega-portraits",
|
|
"path": null,
|
|
"kind": "portrait",
|
|
"frameWidth": 256,
|
|
"frameHeight": 256,
|
|
"cols": 5,
|
|
"rows": 2,
|
|
"_layout": "One frame per species.portraitFrame, 0-9, in rules order."
|
|
},
|
|
"leaders": {
|
|
"key": "vega-leaders",
|
|
"path": null,
|
|
"kind": "portrait",
|
|
"frameWidth": 160,
|
|
"frameHeight": 160,
|
|
"cols": 4,
|
|
"rows": 4,
|
|
"_layout": "One frame per leader.portraitFrame, 0-15, in rules order."
|
|
},
|
|
"buildings": {
|
|
"key": "vega-buildings",
|
|
"path": null,
|
|
"kind": "icon",
|
|
"frameWidth": 64,
|
|
"frameHeight": 64,
|
|
"cols": 8,
|
|
"rows": 2,
|
|
"_layout": "One frame per building.frame, 0-15, in rules order."
|
|
},
|
|
"techicons": {
|
|
"key": "vega-techicons",
|
|
"path": null,
|
|
"kind": "icon",
|
|
"frameWidth": 48,
|
|
"frameHeight": 48,
|
|
"cols": 10,
|
|
"rows": 7,
|
|
"_layout": "Frames 0-5 are the six tech FIELDS (techFields[].iconFrame); frames 6-65 are the individual techs (techs[].iconFrame). 66-69 spare."
|
|
}
|
|
}
|
|
}
|