hoel/js/config.js
2026-02-01 22:11:20 +01:00

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