45 lines
1.9 KiB
JSON
45 lines
1.9 KiB
JSON
{
|
||
"_comment": "Planet visuals + home-planet rules + the solar system's layout. texture is a spritesheet of frameWidth×frameHeight frames (frame 0 = top-left); frames maps a planet kind to the sheet frames it may be drawn as — the generator picks one per planet (seed-deterministic). homePlanet is the player's world — always present at the origin of the system they start in. scale = world pixels per sheet pixel (1.0 = 1:1, so a Terran world is 1024 px across on screen). A planet is a solid disc: the ship may approach to shipClearance px (edge-to-edge) from its rim but can never cross it. spawnDistanceFromEdge = how far (edge-to-edge) the ship starts from the home world's rim. classScale = size multiplier per planet class (1.0 = 1024 px across); classTint = optional canvas tint per class (multiplicative — the terran art stands in for every kind until real art lands). solarSystem = the top-down layout band: the other worlds of a system sit minOrbit–maxOrbit px from the origin, at least minEdgeGap px (edge-to-edge) apart from each other and the origin.",
|
||
"texture": "assets/images/planets.png",
|
||
"frameWidth": 1024,
|
||
"frameHeight": 1024,
|
||
"scale": 1.0,
|
||
"frames": {
|
||
"terran": [0, 1, 2],
|
||
"rocky": [0, 1, 2],
|
||
"gas": [0, 1, 2],
|
||
"ice": [0, 1, 2],
|
||
"lava": [0, 1, 2]
|
||
},
|
||
"classScale": {
|
||
"rocky": 1.0,
|
||
"gas": 1.45,
|
||
"ice": 0.85,
|
||
"lava": 0.95
|
||
},
|
||
"classTint": {
|
||
"rocky": "#e8d9b8",
|
||
"gas": "#ffb066",
|
||
"ice": "#cfeaff",
|
||
"lava": "#ff8a5c"
|
||
},
|
||
"typeLabels": {
|
||
"terran": "Home World",
|
||
"rocky": "Rocky World",
|
||
"gas": "Gas Giant",
|
||
"ice": "Ice World",
|
||
"lava": "Lava World"
|
||
},
|
||
"homePlanet": "terran",
|
||
"homeName": "Terra",
|
||
"homeTypeLabel": "Home World",
|
||
"shipClearance": 50,
|
||
"spawnDistanceFromEdge": 150,
|
||
"solarSystem": {
|
||
"enabled": true,
|
||
"minOrbit": 2600,
|
||
"maxOrbit": 8800,
|
||
"minEdgeGap": 1200
|
||
}
|
||
}
|