fertig-classic-games/data/civilization-artwork.json

22 lines
1.9 KiB
JSON

{
"_readme": [
"Drop-in art for Civilization. Full spec with frame maps: src/games/civilization/sprites.md.",
"Every sheet is optional: path null = not painted yet, the game renders that layer procedurally.",
"To ship a sheet: put the PNG at the documented path under public/assets/images/civilization/",
"and set `path` here (paths are relative to the web root, no leading slash).",
"Frame order is row-major, 0-based. Frame indexes are pinned in data/civilization-rules.json",
"(units[].frame, terrains[].frame, specials[].frame) — append-only, never renumber.",
"citySheets is keyed by theme. Adding e.g. an `asian` entry makes it selectable with no code change."
],
"terrainSheet": { "key": "civilization-terrain", "path": "assets/images/civilization/civilization-terrain.png", "frameWidth": 128, "frameHeight": 96 },
"resourceSheet": { "key": "civilization-resources", "path": "assets/images/civilization/civilization-resources.png", "frameWidth": 64, "frameHeight": 64 },
"improvementSheet": { "key": "civilization-improvements", "path": null, "frameWidth": 64, "frameHeight": 64 },
"unitSheet": { "key": "civilization-units", "path": "assets/images/civilization/civilization-units.png", "frameWidth": 64, "frameHeight": 96 },
"iconSheet": { "key": "civilization-icons", "path": null, "frameWidth": 48, "frameHeight": 48 },
"citySheets": {
"classic": { "key": "civilization-cities-classic", "path": "assets/images/civilization/civilization-cities-classic.png", "frameWidth": 128, "frameHeight": 96 },
"cyberpunk": { "key": "civilization-cities-cyberpunk", "path": "assets/images/civilization/civilization-cities-cyberpunk.png", "frameWidth": 128, "frameHeight": 96 },
"japanese": { "key": "civilization-cities-japanese", "path": "assets/images/civilization/civilization-cities-japanese.png", "frameWidth": 128, "frameHeight": 96 }
}
}