// Game configuration and constants var CONFIG = { // Physical constants SOLAR_MASS_KG: 1.989e30, // Initial values INITIAL_BLACK_HOLE_MASS: 42, // in solar masses INITIAL_BLACK_HOLE_RADIUS: 42, // Performance LOGIC_INTERVAL: 10, // Star configuration STAR_COUNT: 1312, STAR_UPDATE_INTERVAL: 1312, // Spawn intervals (in milliseconds) BASE_ASTEROID_SPAWN_INTERVAL: 1000, BASE_COMET_SPAWN_INTERVAL: 120000, // 2 minutes BASE_PLANET_SPAWN_INTERVAL: 3600000, // 1 hour BASE_GIANT_SPAWN_INTERVAL: 21600000, // 6 hours // Rate tracking windows (in milliseconds) RATE_WINDOWS: { SHORT: 1000, // 1 second MEDIUM: 3600000, // 1 hour LONG: 86400000 // 1 day }, // Upgrade costs (in kg) ASTEROID_BASE_COST: 1e3, COMET_BASE_COST: 1e4, PLANET_BASE_COST: 1e5, GIANT_BASE_COST: 1e6, // Upgrade scaling UPGRADE_COST_MULTIPLIER: 1.5, UPGRADE_COST_MULTIPLIER_ASTER: 1.25, UPGRADE_BONUS_PER_LEVEL: 0.1, // 10% per level // Asteroid spawn patterns ASTEROID_SPAWN_PATTERNS: { LARGE_EVERY: 900, MEDIUM_EVERY: 30 }, ASTEROID_MASS_RANGES: { small: [1e3, 5e3], // 1-5 t medium: [5e3, 5e4], // 5-50 t large: [5e4, 5e5], // 50-500 t comet: [1e6, 5e7], // 1000-50000 t planet: [1e12, 1e13], // Moons / small planets giant: [5e13, 5e14] // Gas giants / huge bodies }, // Planet color schemes PLANET_COLORS: [ { light: '#6b7c87', mid: '#3d4d5a', dark: '#1f2a33' }, { light: '#7a6347', mid: '#4d3d28', dark: '#2a2015' }, { light: '#5a3838', mid: '#3d2525', dark: '#1f1212' }, { light: '#5a5a5a', mid: '#3d3d3d', dark: '#1f1f1f' }, { light: '#5a4d3d', mid: '#3d342a', dark: '#251f18' }, { light: '#3d3540', mid: '#2a232d', dark: '#16111a' } ], // Giant (gas giant) color schemes GIANT_COLORS: [ { light: '#d4a574', mid: '#b87d4a', dark: '#8b5a3c' }, { light: '#c4b896', mid: '#9d8c6e', dark: '#6b5d47' }, { light: '#5a7ca8', mid: '#3d5577', dark: '#2a3b52' }, { light: '#7a9da8', mid: '#567880', dark: '#3d5559' } ], // Giant ring colors GIANT_RING_COLORS: [ '#f5e27c', '#c0c0c0', '#fff2cc', '#fff2cc', '#d0e0e3', '#f4cccc' ], // Star color distribution STAR_COLORS: [ { threshold: 0.6, rgb: '255, 255, 255' }, { threshold: 0.75, rgb: '150, 180, 255' }, { threshold: 0.85, rgb: '255, 240, 200' }, { threshold: 0.95, rgb: '255, 200, 100' }, { threshold: 1.0, rgb: '255, 150, 150' } ], // Asteroid colors ASTEROID_COLORS: { small: '#444', medium: '#555', large: '#666' } };