space-game/public/levels/asteroid-mania.json
Michael Mainguy 208d735ef4 Add background music selection and update game assets
Add configurable background music per level with song selector in the
level editor General tab. Update ship model, add base3 model, add
song2/song3 audio tracks, and clean up level config formatting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 06:13:37 -06:00

279 lines
6.6 KiB
JSON

{
"version": "1.2",
"difficulty": "rookie",
"timestamp": "2025-11-11T23:44:24.810Z",
"metadata": {
"author": "System",
"description": "Asteroid Mania!",
"estimatedTime": "5-8 minutes",
"type": "default"
},
"ship": {
"position": [0, 1, 0],
"rotation": [0, 0, 0]
},
"startBase": {
"position": [0, 0, 0],
"baseGlbPath": "base.glb"
},
"sun": {
"position": [0, 0, 400],
"diameter": 50
},
"planets": [],
"targets": [
{
"id": "ORBIT",
"name": "ORBIT",
"position": [0, 0, 0]
},
{
"id": "LINEAR",
"name": "LINEAR",
"position": [0, 0, 0]
}
],
"asteroids": [
{
"id": "asteroid-0",
"mass": 40,
"scale": 2,
"position": [75, 85, -65],
"linearVelocity": [-20, 15, 25],
"angularVelocity": [-0.8, 0.9, 0.8],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-1",
"mass": 120,
"scale": 6,
"position": [-120, 110, -100],
"linearVelocity": [18, -12, 22],
"angularVelocity": [0.5, -2.8, -0.9],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-2",
"mass": 80,
"scale": 4,
"position": [160, -140, 100],
"linearVelocity": [-25, 20, -15],
"angularVelocity": [0.8, 0.2, -0.7],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-3",
"mass": 347,
"scale": 17.34408913479813,
"position": [-180, 200, -160],
"linearVelocity": [12, -8, 15],
"angularVelocity": [0.1, 0.4, -0.9],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-4",
"mass": 80,
"scale": 4,
"position": [90, -80, 85],
"linearVelocity": [-22, 18, -20],
"angularVelocity": [-0.2, 0.03, 0.3],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-5",
"mass": 240,
"scale": 12,
"position": [-200, 140, -120],
"linearVelocity": [15, -10, 18],
"angularVelocity": [-0.2, 0.2, -0.8],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-6",
"mass": 289,
"scale": 14.438006716048399,
"position": [220, -230, 150],
"linearVelocity": [-10, 8, -12],
"angularVelocity": [-0.4, -0.5, 0.2],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-7",
"mass": 200,
"scale": 10,
"position": [-100, 120, -85],
"linearVelocity": [20, -15, 18],
"angularVelocity": [-0.5, 0.8, -0.03],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-8",
"mass": 200,
"scale": 10,
"position": [170, 150, -100],
"linearVelocity": [-12, -18, 22],
"angularVelocity": [-2.5, 0.6, -0.7],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-9",
"mass": 283,
"scale": 14.151176153817078,
"position": [-240, 180, 140],
"linearVelocity": [8, -12, -10],
"angularVelocity": [0.7, -4.8, -0.1],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-10",
"mass": 240,
"scale": 12,
"position": [280, -200, 150],
"linearVelocity": [-15, 10, -8],
"angularVelocity": [0.7, -4.8, -0.1],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-11",
"mass": 600,
"scale": 30,
"position": [-300, 200, -150],
"linearVelocity": [10, -6, 8],
"angularVelocity": [0.7, -4.8, -0.1],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-12",
"mass": 100,
"scale": 5,
"position": [130, -95, 70],
"linearVelocity": [-55, 40, 65],
"angularVelocity": [1.2, -0.8, 0.5],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-13",
"mass": 160,
"scale": 8,
"position": [-85, 160, 120],
"linearVelocity": [48, -35, 58],
"angularVelocity": [-0.6, 1.5, -1.2],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-14",
"mass": 60,
"scale": 3,
"position": [210, 95, -180],
"linearVelocity": [-62, 50, -42],
"angularVelocity": [0.9, 0.4, -1.8],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-15",
"mass": 180,
"scale": 9,
"position": [-145, -175, 85],
"linearVelocity": [38, 52, -45],
"angularVelocity": [-1.1, -0.7, 0.9],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-16",
"mass": 140,
"scale": 7,
"position": [55, 230, -195],
"linearVelocity": [-45, -58, 52],
"angularVelocity": [0.3, 2.1, -0.6],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-17",
"mass": 220,
"scale": 11,
"position": [-270, -110, -160],
"linearVelocity": [52, 38, 48],
"angularVelocity": [-0.8, 0.5, 1.4],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-18",
"mass": 80,
"scale": 4,
"position": [185, -250, 95],
"linearVelocity": [-48, 62, -38],
"angularVelocity": [1.6, -1.2, -0.4],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-19",
"mass": 260,
"scale": 13,
"position": [-110, 85, 280],
"linearVelocity": [35, -42, -55],
"angularVelocity": [-0.5, 0.9, 1.1],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-20",
"mass": 120,
"scale": 6,
"position": [320, 140, -85],
"linearVelocity": [-58, -45, 40],
"angularVelocity": [0.7, -1.8, 0.3],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-21",
"mass": 300,
"scale": 15,
"position": [-195, -290, 120],
"linearVelocity": [42, 55, -48],
"angularVelocity": [-1.3, 0.6, -0.9],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-22",
"mass": 160,
"scale": 8,
"position": [95, -65, -310],
"linearVelocity": [-40, 58, 65],
"angularVelocity": [0.4, -0.3, 2.2],
"targetId": "ORBIT",
"targetMode": "orbit"
},
{
"id": "asteroid-23",
"mass": 200,
"scale": 10,
"position": [-350, 165, 90],
"linearVelocity": [55, -38, -52],
"angularVelocity": [-0.9, 1.7, 0.5],
"targetId": "ORBIT",
"targetMode": "orbit"
}
]
}