hoel/js/config.js
2026-01-22 19:21:59 +01:00

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'
}
};