128 lines
3.9 KiB
JavaScript
128 lines
3.9 KiB
JavaScript
// 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'
|
|
}
|
|
};
|