101 lines
2.8 KiB
JavaScript
101 lines
2.8 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: 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'
|
|
}
|
|
};
|