// 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: 21, // 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 ASE_MTYPE_SPAWN_INTERVAL: 86400000, // 1 day // 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: 1e5, COMET_BASE_COST: 1e7, PLANET_BASE_COST: 1e24, GIANT_BASE_COST: 1e27, MTYPE_BASE_COST: 1e28, // Upgrade scaling UPGRADE_COST_MULTIPLIER_ASTER: 1.25, UPGRADE_COST_MULTIPLIER_COMET: 1.5, UPGRADE_COST_MULTIPLIER_PLANT: 1.75, UPGRADE_COST_MULTIPLIER_GIANT: 2, UPGRADE_COST_MULTIPLIER_MTYPE: 2.1, UPGRADE_BONUS_PER_LEVEL_ASTER: 0.1, UPGRADE_BONUS_PER_LEVEL_COMET: 0.1, UPGRADE_BONUS_PER_LEVEL_PLANT: 0.05, UPGRADE_BONUS_PER_LEVEL_GIANT: 0.03, UPGRADE_BONUS_PER_LEVEL_MTYPE: 0.03, // Asteroid spawn patterns ASTEROID_SPAWN_PATTERNS: { LARGE_EVERY: 900, MEDIUM_EVERY: 30 }, ASTEROID_MASS_RANGES: { small: [1e3, 1e4], // 1-10 t medium: [1e4, 1e5], // 10-100 t large: [1e5, 1e6], // 100-1000 t comet: [1e7, 1e8], // 10000-100000 t planet: [1e22, 1e25], // Moons & Planets giant: [1e26, 1e28], // Gas & Ice Giants mtype: [1.589e29, 8.95e29] // M-Type: 0.08-0.45 M☉ }, // 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' ], // M-Type dwarf star color schemes MTYPE_COLORS: [ { light: '#e8734a', mid: '#c4522e', dark: '#8b3a1f' }, // Orange-red { light: '#d4602a', mid: '#a84520', dark: '#7a3015' }, // Deep orange { light: '#c45a35', mid: '#9e4428', dark: '#6b2e1a' }, // Burnt orange { light: '#b8533d', mid: '#934030', dark: '#652a1e' }, // Brownish red { light: '#a84e3a', mid: '#854030', dark: '#5c2c1f' } // Dark brown-red ], // M-Type spot colors (dark brownish spots) MTYPE_SPOT_COLORS: [ 'rgba(60, 35, 20, 0.6)', 'rgba(50, 30, 18, 0.5)', 'rgba(70, 40, 22, 0.55)', 'rgba(45, 28, 15, 0.5)' ], // 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' } };