## World Generation Pipeline - Add comprehensive 7-phase geological simulation (4.6 billion years) - Implement WindRegions-based climate system with ITCZ zones - Create 18 biome types with scientific classification parameters - Establish Phase 7 budget assignment and natural feature placement ## Resource System Architecture - Add 70+ natural features across 8 categories (geological, water, forest, volcanic, etc.) - Implement complete resource-to-feature mapping for all game materials - Create individual resource files for metals (iron, copper, gold, uranium, etc.) - Add comprehensive cross-referencing between features and game resources ## Biome Integration System - Design scalable blacklist + frequent biomes compatibility system - Implement mass-based feature selection with geological strength requirements - Add 5 spatial distribution patterns (concentrated, uniform, ring, clustered, gradient) - Create region-based feature placement with biome-aware filtering ## Documentation and Architecture - Add detailed geological and climate simulation system documentation - Update project overview with world generation achievements - Establish JSON-driven configuration system for all generation parameters - Create comprehensive system for Phase 8 integration readiness 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
889 lines
35 KiB
JSON
889 lines
35 KiB
JSON
{
|
||
"geological_simulation": {
|
||
"description": "Complete planetary formation simulation over 4.65 billion years",
|
||
"total_duration_years": 4650000000,
|
||
"phases": [
|
||
// ===== PHASE 1: PLANETARY ACCRETION (30 cycles × 100M years = 3.0 Ga) =====
|
||
{
|
||
"name": "planetary_accretion",
|
||
"description": "Initial planetary formation through meteorite bombardment",
|
||
"duration_cycles": 30,
|
||
"years_per_cycle": 100000000,
|
||
"initial_conditions": {
|
||
"surface_temperature_celsius": -100,
|
||
"surface_elevation_meters": -30000,
|
||
"planetary_core": {
|
||
"core_mass": 0,
|
||
"core_temperature_celsius": -100,
|
||
"max_core_capacity": 1000000,
|
||
"composition": {}
|
||
}
|
||
},
|
||
"steps": [
|
||
{
|
||
"name": "meteorite_impact_generation",
|
||
"process_type": "generate_meteorite_impacts",
|
||
"parameters": {
|
||
"impacts_per_wave": {"min": 100, "max": 500},
|
||
"meteorite_source": "meteorites.json",
|
||
"size_bias": "larger",
|
||
"type_weights": {
|
||
"chondrite_ordinary": 60,
|
||
"carbonaceous_chondrite": 15,
|
||
"stony_iron": 12,
|
||
"iron_meteorite": 8,
|
||
"ice_comet_fragment": 3,
|
||
"platinum_rich_rare": 2,
|
||
"bubble_meteorite": 1,
|
||
"magnetic_anomaly": 0.8,
|
||
"crystal_meteorite": 0.5,
|
||
"glass_meteorite": 0.3,
|
||
"diamond_meteorite": 0.2,
|
||
"radioactive_anomaly": 0.1
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "impact_effects_application",
|
||
"process_type": "apply_impact_effects",
|
||
"parameters": {
|
||
"kinetic_energy_to_heat_ratio": 2000,
|
||
"crater_formation_factor": 1.0,
|
||
"surface_metal_deposit_ratio": 0.3
|
||
}
|
||
},
|
||
{
|
||
"name": "planetary_differentiation",
|
||
"process_type": "heavy_metal_sinking",
|
||
"parameters": {
|
||
"sinking_rate_per_cycle": 0.7,
|
||
"heavy_metal_threshold_density": 5.0
|
||
}
|
||
},
|
||
{
|
||
"name": "volcanic_redistribution",
|
||
"process_type": "core_driven_volcanism",
|
||
"parameters": {
|
||
"core_pressure_threshold": 0.8,
|
||
"volcanic_overflow_rate": 0.2,
|
||
"core_to_surface_redistribution": 0.1
|
||
}
|
||
},
|
||
{
|
||
"name": "cooling_phase",
|
||
"process_type": "gradual_cooling",
|
||
"parameters": {
|
||
"surface_cooling_rate_per_cycle": 50,
|
||
"core_cooling_rate_per_cycle": 30
|
||
}
|
||
},
|
||
{
|
||
"name": "universal_region_fusion",
|
||
"process_type": "manage_all_region_fusion",
|
||
"parameters": {
|
||
"enabled": true,
|
||
"radius_calculation": "natural_logarithm",
|
||
"base_radius": 1.5,
|
||
"mass_reference": 5.0,
|
||
"fusion_threshold_percentage": 0.3,
|
||
"use_largest_radius_for_threshold": true,
|
||
"weighted_position_update": true,
|
||
"mass_combination": "additive",
|
||
"applies_to_all_region_types": true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 2: TECTONIC FORMATION (25 cycles × 100M years = 2.5 Ga) =====
|
||
{
|
||
"name": "tectonic_formation",
|
||
"description": "Formation of tectonic plates and crustal thickening",
|
||
"duration_cycles": 25,
|
||
"years_per_cycle": 100000000,
|
||
"steps": [
|
||
{
|
||
"name": "reduced_meteorite_bombardment",
|
||
"process_type": "generate_meteorite_impacts",
|
||
"parameters": {
|
||
"impacts_per_wave": {"min": 10, "max": 50},
|
||
"meteorite_source": "meteorites.json",
|
||
"impact_probability_per_cycle": 0.3,
|
||
"size_bias": "smaller",
|
||
"type_weights": {
|
||
"chondrite_ordinary": 35,
|
||
"carbonaceous_chondrite": 20,
|
||
"ice_comet_fragment": 15,
|
||
"stony_iron": 8,
|
||
"iron_meteorite": 5,
|
||
"crystal_meteorite": 4,
|
||
"magnetic_anomaly": 4,
|
||
"bubble_meteorite": 3,
|
||
"glass_meteorite": 2,
|
||
"platinum_rich_rare": 2,
|
||
"diamond_meteorite": 1.5,
|
||
"radioactive_anomaly": 0.5
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "initial_tectonic_region_creation",
|
||
"process_type": "create_tectonic_regions",
|
||
"parameters": {
|
||
"target_region_count": {"min": 15, "max": 25},
|
||
"region_types": ["oceanic", "continental", "volcanic"],
|
||
"initial_type_distribution": {
|
||
"oceanic": 0.6,
|
||
"continental": 0.35,
|
||
"volcanic": 0.05
|
||
},
|
||
"initial_radius_range": {"min": 50, "max": 200},
|
||
"random_placement": true
|
||
}
|
||
},
|
||
{
|
||
"name": "tectonic_physics_simulation",
|
||
"process_type": "tectonic_physics_engine",
|
||
"parameters": {
|
||
"repulsion_constant": 0.8,
|
||
"velocity_damping": 0.95,
|
||
"max_velocity": 5.0,
|
||
"collision_detection": true,
|
||
"force_calculation": "overlap_squared"
|
||
}
|
||
},
|
||
{
|
||
"name": "region_evolution",
|
||
"process_type": "tectonic_region_evolution",
|
||
"parameters": {
|
||
"split_probability_per_cycle": 0.01,
|
||
"growth_rate_range": {"min": -0.5, "max": 1.0},
|
||
"stability_factor": 0.8,
|
||
"minimum_region_radius": 20,
|
||
"maximum_region_radius": 500
|
||
}
|
||
},
|
||
{
|
||
"name": "collision_effects",
|
||
"process_type": "tectonic_collision_processing",
|
||
"parameters": {
|
||
"mountain_formation_threshold": 1.0,
|
||
"mountain_height_multiplier": 2000,
|
||
"rift_valley_depth": 500,
|
||
"volcanic_zone_creation": true,
|
||
"volcanic_zone_lifetime_cycles": 10
|
||
}
|
||
},
|
||
{
|
||
"name": "universal_region_fusion",
|
||
"process_type": "manage_all_region_fusion",
|
||
"parameters": {
|
||
"enabled": true,
|
||
"radius_calculation": "natural_logarithm",
|
||
"base_radius": 1.8,
|
||
"mass_reference": 8.0,
|
||
"fusion_threshold_percentage": 0.25,
|
||
"use_largest_radius_for_threshold": true,
|
||
"weighted_position_update": true,
|
||
"mass_combination": "additive",
|
||
"applies_to_all_region_types": true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 3: GEOLOGICAL PREPARATION (25 cycles × 20M years = 0.5 Ga) =====
|
||
{
|
||
"name": "geological_preparation",
|
||
"description": "Sea level rise and geological basin formation (preparation for future hydrology)",
|
||
"duration_cycles": 25,
|
||
"years_per_cycle": 20000000,
|
||
"steps": [
|
||
{
|
||
"name": "tectonic_movement_slowdown",
|
||
"process_type": "tectonic_physics_engine",
|
||
"parameters": {
|
||
"velocity_reduction_factor": 0.8,
|
||
"repulsion_constant": 0.64,
|
||
"velocity_damping": 0.95,
|
||
"max_velocity": 4.0,
|
||
"collision_detection": true,
|
||
"force_calculation": "overlap_squared"
|
||
}
|
||
},
|
||
{
|
||
"name": "residual_meteorite_impacts",
|
||
"process_type": "generate_meteorite_impacts",
|
||
"parameters": {
|
||
"impacts_per_wave": {"min": 1, "max": 5},
|
||
"meteorite_source": "meteorites.json",
|
||
"impact_probability_per_cycle": 0.1,
|
||
"size_bias": "smaller",
|
||
"type_weights": {
|
||
"chondrite_ordinary": 20,
|
||
"carbonaceous_chondrite": 15,
|
||
"ice_comet_fragment": 25,
|
||
"crystal_meteorite": 10,
|
||
"magnetic_anomaly": 10,
|
||
"glass_meteorite": 8,
|
||
"bubble_meteorite": 7,
|
||
"diamond_meteorite": 3,
|
||
"platinum_rich_rare": 2
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "residual_volcanism",
|
||
"process_type": "core_driven_volcanism",
|
||
"parameters": {
|
||
"volcanic_activity_reduction": 0.1,
|
||
"core_overflow_rate": 0.05,
|
||
"eruption_probability_per_cycle": 0.2,
|
||
"eruption_intensity_factor": 0.3,
|
||
"core_pressure_threshold": 0.4
|
||
}
|
||
},
|
||
{
|
||
"name": "sea_level_elevation",
|
||
"process_type": "elevate_sea_level",
|
||
"parameters": {
|
||
"initial_sea_level_meters": -5000,
|
||
"target_sea_level_meters": 0,
|
||
"elevation_rate_per_cycle": 200,
|
||
"ice_volume_effect": true,
|
||
"thermal_expansion_effect": true
|
||
}
|
||
},
|
||
{
|
||
"name": "tectonic_erosion",
|
||
"process_type": "apply_tectonic_erosion",
|
||
"parameters": {
|
||
"erosion_rate_factor": 1.0,
|
||
"elevation_erosion_threshold": 1000,
|
||
"mass_to_core_transfer": true,
|
||
"mountain_erosion_rate": 5.0,
|
||
"weathering_rate": 0.1
|
||
}
|
||
},
|
||
{
|
||
"name": "geological_basin_formation",
|
||
"process_type": "form_geological_basins",
|
||
"parameters": {
|
||
"basin_formation_probability": 0.05,
|
||
"valley_carving_intensity": 2.0,
|
||
"depression_depth_factor": 1.5,
|
||
"future_drainage_preparation": true
|
||
}
|
||
},
|
||
{
|
||
"name": "basic_climate_stabilization",
|
||
"process_type": "stabilize_basic_climate",
|
||
"parameters": {
|
||
"temperature_stabilization_rate": 0.1,
|
||
"co2_equilibrium_target": 350,
|
||
"volcanic_co2_reduction": 0.05,
|
||
"weathering_co2_absorption": 0.02
|
||
}
|
||
},
|
||
{
|
||
"name": "coastal_zone_preparation",
|
||
"process_type": "prepare_coastal_zones",
|
||
"parameters": {
|
||
"shallow_water_threshold": 50,
|
||
"deep_water_threshold": 200,
|
||
"coastal_shelf_formation": true,
|
||
"sediment_accumulation_zones": true
|
||
}
|
||
},
|
||
{
|
||
"name": "universal_region_fusion",
|
||
"process_type": "manage_all_region_fusion",
|
||
"parameters": {
|
||
"enabled": true,
|
||
"radius_calculation": "natural_logarithm",
|
||
"base_radius": 1.9,
|
||
"mass_reference": 9.0,
|
||
"fusion_threshold_percentage": 0.22,
|
||
"use_largest_radius_for_threshold": true,
|
||
"weighted_position_update": true,
|
||
"mass_combination": "additive",
|
||
"applies_to_all_region_types": true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 4: CARBONIFEROUS PERIOD (35 cycles × 10M years = 0.35 Ga) =====
|
||
{
|
||
"name": "carboniferous_period",
|
||
"description": "Dynamic forest evolution and coal formation through geological cycles",
|
||
"duration_cycles": 35,
|
||
"years_per_cycle": 10000000,
|
||
"steps": [
|
||
{
|
||
"name": "tectonic_movement_continued",
|
||
"process_type": "tectonic_physics_engine",
|
||
"parameters": {
|
||
"velocity_reduction_factor": 0.6,
|
||
"repulsion_constant": 0.48,
|
||
"velocity_damping": 0.96,
|
||
"max_velocity": 3.0,
|
||
"collision_detection": true,
|
||
"force_calculation": "overlap_squared",
|
||
"carbon_region_attachment_update": true
|
||
}
|
||
},
|
||
{
|
||
"name": "dynamic_forest_seeding",
|
||
"process_type": "seed_new_forests",
|
||
"parameters": {
|
||
"base_forest_seed_rate": 0.001,
|
||
"temperature_optimal_range": {"min": 15.0, "max": 35.0},
|
||
"temperature_bonus": 2.0,
|
||
"humidity_threshold": 0.4,
|
||
"humidity_bonus": 1.5,
|
||
"elevation_max": 2000.0,
|
||
"elevation_bonus": 1.2
|
||
}
|
||
},
|
||
{
|
||
"name": "forest_expansion",
|
||
"process_type": "expand_existing_forests",
|
||
"parameters": {
|
||
"forest_expansion_rate": 0.05,
|
||
"neighbor_viability_check": true,
|
||
"expansion_distance": 1,
|
||
"density_growth_factor": 1.1
|
||
}
|
||
},
|
||
{
|
||
"name": "carbon_region_formation",
|
||
"process_type": "create_carbon_regions",
|
||
"parameters": {
|
||
"minimum_forest_density": 0.3,
|
||
"carbon_mass_base": 100.0,
|
||
"region_radius_factor": 8.0,
|
||
"tectonic_attachment_strength": 0.9,
|
||
"carbon_type_initial": "COAL"
|
||
}
|
||
},
|
||
{
|
||
"name": "carbon_region_movement",
|
||
"process_type": "update_carbon_regions",
|
||
"parameters": {
|
||
"attachment_strength": 0.9,
|
||
"merge_distance_factor": 0.8
|
||
}
|
||
},
|
||
{
|
||
"name": "coal_to_oil_conversion",
|
||
"process_type": "convert_carbon_deposits",
|
||
"parameters": {
|
||
"conversion_rate_per_cycle": 0.01,
|
||
"underwater_cycles_required": 3,
|
||
"minimum_conversion_threshold": 1.0,
|
||
"underwater_depth_minimum": 50.0,
|
||
"surface_based_conversion": true,
|
||
"create_separate_oil_regions": true,
|
||
"oil_position_calculation": "underwater_center_of_mass",
|
||
"natural_gas_generation": false
|
||
}
|
||
},
|
||
{
|
||
"name": "universal_region_fusion",
|
||
"process_type": "manage_all_region_fusion",
|
||
"parameters": {
|
||
"enabled": true,
|
||
"radius_calculation": "natural_logarithm",
|
||
"base_radius": 2.0,
|
||
"mass_reference": 10.0,
|
||
"fusion_threshold_percentage": 0.2,
|
||
"use_largest_radius_for_threshold": true,
|
||
"weighted_position_update": true,
|
||
"mass_combination": "additive",
|
||
"applies_to_all_region_types": true
|
||
}
|
||
},
|
||
{
|
||
"name": "geological_forest_destruction",
|
||
"process_type": "destroy_forests_by_events",
|
||
"parameters": {
|
||
"volcanic_destruction_radius": 10.0,
|
||
"flood_destruction_threshold": 100,
|
||
"erosion_destruction_threshold": 5.0,
|
||
"temperature_destruction_min": -10.0,
|
||
"temperature_destruction_max": 50.0
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 5: PRE-FAUNAL STABILIZATION (15 cycles × 10M years = 0.15 Ga) =====
|
||
{
|
||
"name": "pre_faunal_stabilization",
|
||
"description": "Final geological maturation and climate stabilization",
|
||
"duration_cycles": 15,
|
||
"years_per_cycle": 10000000,
|
||
"steps": [
|
||
{
|
||
"name": "tectonic_movement_final_slowdown",
|
||
"process_type": "tectonic_physics_engine",
|
||
"parameters": {
|
||
"velocity_reduction_factor": 0.48,
|
||
"repulsion_constant": 0.38,
|
||
"velocity_damping": 0.97,
|
||
"max_velocity": 2.4,
|
||
"collision_detection": true,
|
||
"force_calculation": "overlap_squared"
|
||
}
|
||
},
|
||
{
|
||
"name": "reduced_carbon_formation",
|
||
"process_type": "create_carbon_regions",
|
||
"parameters": {
|
||
"no_new_forests": true,
|
||
"existing_forest_to_carbon_only": true,
|
||
"carbon_mass_base": 50.0,
|
||
"region_radius_factor": 8.0,
|
||
"tectonic_attachment_strength": 0.9,
|
||
"carbon_type_initial": "COAL"
|
||
}
|
||
},
|
||
{
|
||
"name": "hydrocarbon_maturation_continued",
|
||
"process_type": "convert_carbon_deposits",
|
||
"parameters": {
|
||
"conversion_rate_per_cycle": 0.01
|
||
}
|
||
},
|
||
{
|
||
"name": "universal_region_fusion",
|
||
"process_type": "manage_all_region_fusion",
|
||
"parameters": {
|
||
"enabled": true,
|
||
"radius_calculation": "natural_logarithm",
|
||
"base_radius": 2.2,
|
||
"mass_reference": 15.0,
|
||
"fusion_threshold_percentage": 0.2,
|
||
"use_largest_radius_for_threshold": true,
|
||
"weighted_position_update": true,
|
||
"mass_combination": "additive",
|
||
"applies_to_all_region_types": true
|
||
}
|
||
},
|
||
{
|
||
"name": "petroleum_migration_to_traps",
|
||
"process_type": "migrate_petroleum_to_geological_traps",
|
||
"parameters": {
|
||
"trap_identification": true,
|
||
"anticline_formation_factor": 1.0,
|
||
"fault_trap_creation": true,
|
||
"salt_dome_probability": 0.05,
|
||
"migration_efficiency": 0.3,
|
||
"trap_capacity_factor": 50.0
|
||
}
|
||
},
|
||
{
|
||
"name": "final_erosion_phase",
|
||
"process_type": "apply_final_erosion",
|
||
"parameters": {
|
||
"erosion_rate_reduction": 0.5,
|
||
"coal_seam_exposure": true,
|
||
"river_valley_carving": true,
|
||
"coastal_feature_formation": true,
|
||
"erosion_depth_threshold": 50.0
|
||
}
|
||
},
|
||
{
|
||
"name": "soil_development",
|
||
"process_type": "develop_soil_layers",
|
||
"parameters": {
|
||
"soil_types": ["clay", "sand", "loam", "peat", "rocky", "alluvial"],
|
||
"soil_depth_factor": 0.1,
|
||
"climate_soil_correlation": true,
|
||
"river_alluvial_bonus": true,
|
||
"elevation_soil_effects": true
|
||
}
|
||
},
|
||
{
|
||
"name": "final_climate_stabilization",
|
||
"process_type": "stabilize_final_climate",
|
||
"parameters": {
|
||
"volcanic_activity_reduction": 0.8,
|
||
"climate_stability_increase": 0.1,
|
||
"climate_zone_establishment": true,
|
||
"temperature_variance_reduction": 0.9
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 6A: LANDMASS ANALYSIS & ITCZ PREPARATION (1 cycle × 1M years) =====
|
||
{
|
||
"name": "landmass_analysis_and_itcz_preparation",
|
||
"description": "Analyze continental masses from existing TectonicRegions and create Inter-Tropical Convergence Zones",
|
||
"duration_cycles": 1,
|
||
"years_per_cycle": 1000000,
|
||
"steps": [
|
||
{
|
||
"name": "continental_mass_analysis",
|
||
"process_type": "analyze_continental_masses",
|
||
"parameters": {
|
||
"_comment": "Uses existing TectonicRegions to identify continental masses for ITCZ placement",
|
||
"continental_grouping": {
|
||
"proximity_threshold": 100,
|
||
"minimum_region_count": 2,
|
||
"mass_calculation_method": "area_weighted",
|
||
"continental_type_filter": ["continental", "volcanic"]
|
||
},
|
||
"landmass_requirements": {
|
||
"minimum_total_area": 5000,
|
||
"minimum_individual_region_area": 1000,
|
||
"connectivity_analysis": true
|
||
},
|
||
"equatorial_filtering": {
|
||
"latitude_band": [0.40, 0.60],
|
||
"strict_equatorial_requirement": false,
|
||
"latitude_scoring_weight": 0.7
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "ocean_basin_detection",
|
||
"process_type": "detect_ocean_basins",
|
||
"parameters": {
|
||
"_comment": "Inverse analysis to identify ocean masses from continental positions",
|
||
"ocean_detection_method": "inverse_continental_analysis",
|
||
"minimum_ocean_size": 5000,
|
||
"coastal_connectivity_check": true,
|
||
"ocean_temperature_estimation": {
|
||
"latitude_based": true,
|
||
"equator_temp": 28.0,
|
||
"pole_temp": 2.0,
|
||
"thermal_gradient": "cosine_distribution"
|
||
},
|
||
"evaporation_potential_calculation": {
|
||
"temperature_factor": true,
|
||
"surface_area_factor": true,
|
||
"wind_exposure_factor": true
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "itcz_zone_creation",
|
||
"process_type": "create_itcz_convergence_zones",
|
||
"parameters": {
|
||
"_comment": "Create ITCZ zones on qualifying equatorial landmasses",
|
||
"itcz_requirements": {
|
||
"latitude_band": [0.45, 0.55],
|
||
"min_landmass_size": 10000,
|
||
"max_ocean_distance": 800,
|
||
"continental_heating_threshold": 5000
|
||
},
|
||
"itcz_zone_properties": {
|
||
"center_calculation": "continental_center_of_mass",
|
||
"gravitational_range_formula": "sqrt(landmass_area) * 50",
|
||
"mass_calculation": "landmass_total_area",
|
||
"amplification_factor": 3.0,
|
||
"intensity_falloff": "inverse_square_law"
|
||
},
|
||
"multiple_itcz_handling": {
|
||
"allow_multiple_zones": true,
|
||
"minimum_separation_distance": 500,
|
||
"interaction_between_zones": false
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "climate_infrastructure_preparation",
|
||
"process_type": "prepare_climate_simulation_infrastructure",
|
||
"parameters": {
|
||
"_comment": "Clean slate preparation for WindRegion-based simulation",
|
||
"data_cleanup": {
|
||
"clear_legacy_wind_data": true,
|
||
"clear_legacy_humidity_data": true,
|
||
"preserve_temperature_gradients": true,
|
||
"preserve_elevation_data": true
|
||
},
|
||
"token_system_initialization": {
|
||
"initialize_token_counters": true,
|
||
"token_types": ["wind", "rain", "highWind", "flood", "hurricane"],
|
||
"reset_all_tokens": true
|
||
},
|
||
"performance_optimization": {
|
||
"pre_allocate_wind_region_pool": true,
|
||
"max_concurrent_wind_regions": 200,
|
||
"spatial_indexing_setup": true
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 6B: CLIMATE SIMULATION & BIOME GENERATION (300 cycles × 100K years = 30M years) =====
|
||
{
|
||
"name": "climate_simulation_and_biome_generation",
|
||
"description": "Advanced climate simulation using mobile WindRegions and ITCZ zones for realistic weather patterns",
|
||
"duration_cycles": 300,
|
||
"years_per_cycle": 100000,
|
||
"steps": [
|
||
{
|
||
"name": "wind_region_spawning_system",
|
||
"process_type": "spawn_mobile_wind_regions",
|
||
"parameters": {
|
||
"_comment": "Mobile WindRegions spawn from ocean masses with biased distribution",
|
||
"spawn_system": {
|
||
"spawn_locations": "ocean_masses_only",
|
||
"spawn_frequency_formula": "water_mass_size / 1000",
|
||
"spawn_distribution": "random_within_water_region_biased_toward_center",
|
||
"max_concurrent_regions": 200,
|
||
"initial_strength_formula": "water_temperature * evaporation_factor"
|
||
},
|
||
"wind_region_properties": {
|
||
"initial_wind_strength": 1.0,
|
||
"initial_wetness": 0.0,
|
||
"wind_tokens": 100,
|
||
"rain_tokens": 0,
|
||
"decay_per_move": 0.02,
|
||
"decay_per_tile": 0.01,
|
||
"minimum_survival_threshold": 0.1
|
||
},
|
||
"ocean_moisture_gain": {
|
||
"ocean_moisture_rate": 0.1,
|
||
"temperature_factor": true,
|
||
"evaporation_efficiency": 1.0
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "planetary_circulation_and_movement",
|
||
"process_type": "apply_planetary_circulation",
|
||
"parameters": {
|
||
"_comment": "Planetary rotation bands based on real atmospheric data",
|
||
"planetary_circulation_bands": {
|
||
"polar_jet_north": {
|
||
"latitude_range": [0.10, 0.25],
|
||
"direction": "west_to_east",
|
||
"strength": 1.8
|
||
},
|
||
"calm_transition_1": {
|
||
"latitude_range": [0.25, 0.40],
|
||
"movement": "chaos_plus_procedural"
|
||
},
|
||
"equatorial_trades": {
|
||
"latitude_range": [0.40, 0.60],
|
||
"direction": "east_to_west",
|
||
"strength": 1.5
|
||
},
|
||
"calm_transition_2": {
|
||
"latitude_range": [0.60, 0.75],
|
||
"movement": "chaos_plus_procedural"
|
||
},
|
||
"polar_jet_south": {
|
||
"latitude_range": [0.75, 0.95],
|
||
"direction": "west_to_east",
|
||
"strength": 1.8
|
||
}
|
||
},
|
||
"movement_calculation": {
|
||
"planetary_circulation_weight": 0.6,
|
||
"equator_to_pole_bias_weight": 0.2,
|
||
"terrain_deflection_weight": 0.1,
|
||
"random_variation_weight": 0.1
|
||
},
|
||
"movement_physics": {
|
||
"velocity_damping": 0.95,
|
||
"terrain_interaction": true,
|
||
"boundary_wrapping": "spherical_world"
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "wind_region_evolution_and_interactions",
|
||
"process_type": "evolve_wind_regions",
|
||
"parameters": {
|
||
"_comment": "WindRegion interactions including repulsion system and ITCZ effects",
|
||
"repulsion_system": {
|
||
"enabled": true,
|
||
"repulsion_calculation": "spatial_competition_proxy",
|
||
"acceleration_factor": 1.0,
|
||
"maximum_interaction_distance": 50.0,
|
||
"_design_note": "Prevents region stacking while creating realistic dispersion patterns",
|
||
"_alternative_algorithms": {
|
||
"density_based_drift": false,
|
||
"no_interaction": false,
|
||
"collision_division": false
|
||
}
|
||
},
|
||
"itcz_gravitational_effects": {
|
||
"enabled": true,
|
||
"attraction_formula": "itcz.mass / (distance * distance)",
|
||
"gravitational_metaphor": "influence_strength_not_literal_physics",
|
||
"amplification_calculation": {
|
||
"proximity_factor": "(itcz.range - distance) / itcz.range",
|
||
"max_amplification": 3.0,
|
||
"wind_strength_multiplier": true,
|
||
"wetness_multiplier": true
|
||
}
|
||
},
|
||
"regional_evolution": {
|
||
"wind_strength_decay": true,
|
||
"moisture_accumulation": true,
|
||
"death_threshold": 0.1,
|
||
"lifecycle_management": true
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "token_distribution_and_climate_zones",
|
||
"process_type": "distribute_climate_tokens",
|
||
"parameters": {
|
||
"_comment": "Token-based climate zone classification system",
|
||
"basic_token_distribution": {
|
||
"wind_token_factor": 10,
|
||
"rain_token_factor": 10,
|
||
"tokens_per_tile_visit": true,
|
||
"accumulation_system": true
|
||
},
|
||
"climate_zone_thresholds": {
|
||
"high_wind_threshold": 2.0,
|
||
"flood_threshold": 1.5,
|
||
"hurricane_wind_threshold": 2.5,
|
||
"hurricane_rain_threshold": 2.0
|
||
},
|
||
"special_climate_tokens": {
|
||
"high_wind_tokens": {
|
||
"description": "Hostile to forests",
|
||
"biome_effect": "prevents_forest_growth",
|
||
"token_value": 1
|
||
},
|
||
"flood_tokens": {
|
||
"description": "Forces wetlands/marshes",
|
||
"biome_effect": "mandatory_wetlands",
|
||
"token_value": 1
|
||
},
|
||
"hurricane_tokens": {
|
||
"description": "Specialized hurricane biome",
|
||
"biome_effect": "storm_resistant_vegetation",
|
||
"token_value": 1
|
||
}
|
||
},
|
||
"token_persistence": {
|
||
"accumulation_method": "additive",
|
||
"decay_rate": 0.0,
|
||
"permanent_climate_record": true
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "biome_classification_from_tokens",
|
||
"process_type": "classify_biomes_from_climate_tokens",
|
||
"parameters": {
|
||
"_comment": "Load biome system from external definitions - all rules and modifiers defined in biome files",
|
||
"biome_system_source": "gameData/Biomes/biome_index.json",
|
||
"load_all_biome_definitions": true,
|
||
"use_external_classification_rules": true,
|
||
"use_external_resource_modifiers": true,
|
||
"fallback_biome": "scrubland"
|
||
}
|
||
},
|
||
{
|
||
"name": "temporal_token_dissipation",
|
||
"process_type": "apply_token_dissipation",
|
||
"parameters": {
|
||
"_comment": "Random token dissipation - high for normal tokens (variation), low for catastrophe tokens (preserve special zones)",
|
||
"rain_tokens": {
|
||
"dissipation_range": [5, 25],
|
||
"dissipation_frequency": 0.12
|
||
},
|
||
"wind_tokens": {
|
||
"dissipation_range": [3, 15],
|
||
"dissipation_frequency": 0.10
|
||
},
|
||
"highWind_tokens": {
|
||
"dissipation_range": [2, 8],
|
||
"dissipation_frequency": 0.08
|
||
},
|
||
"flood_tokens": {
|
||
"dissipation_range": [1, 2],
|
||
"dissipation_frequency": 0.02
|
||
},
|
||
"hurricane_tokens": {
|
||
"dissipation_range": [1, 2],
|
||
"dissipation_frequency": 0.015
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 7: BUDGET ASSIGNMENT =====
|
||
{
|
||
"name": "budget_assignment",
|
||
"description": "Random budget score distribution for economic gameplay",
|
||
"duration_cycles": 1,
|
||
"years_per_cycle": 1000000,
|
||
"steps": [
|
||
{
|
||
"name": "assign_budget_scores",
|
||
"process_type": "random_budget_assignment",
|
||
"parameters": {
|
||
"distribution": "normal",
|
||
"mean": 0.0,
|
||
"std_dev": 3.0,
|
||
"range": [-10, 10]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// ===== PHASE 7: BUDGET & FEATURES =====
|
||
{
|
||
"name": "budget_and_features",
|
||
"description": "Random budget assignment and biome-appropriate natural features placement",
|
||
"duration_cycles": 1,
|
||
"years_per_cycle": 1000000,
|
||
"steps": [
|
||
{
|
||
"name": "assign_budget_scores",
|
||
"process_type": "random_budget_assignment",
|
||
"parameters": {
|
||
"distribution": "normal",
|
||
"mean": 0.0,
|
||
"std_dev": 3.0,
|
||
"range": [-10, 10]
|
||
}
|
||
},
|
||
{
|
||
"name": "place_natural_features",
|
||
"process_type": "biome_based_feature_placement",
|
||
"parameters": {
|
||
"chance": 0.05,
|
||
"feature_sources": [
|
||
"gameData/MapFeatures/geological_formations.json",
|
||
"gameData/MapFeatures/natural_landmarks.json",
|
||
"gameData/MapFeatures/water_features.json",
|
||
"gameData/MapFeatures/volcanic_features.json",
|
||
"gameData/MapFeatures/underground_features.json",
|
||
"gameData/MapFeatures/forest_features.json",
|
||
"gameData/MapFeatures/coastal_features.json"
|
||
],
|
||
"biome_compatibility": {
|
||
"tropical_rainforest": ["giant_tree", "ancient_grove", "bamboo_grove", "fruit_orchard", "carboniferous_forest", "underground_river"],
|
||
"hot_desert": ["canyon", "cliff", "sinkhole", "oasis", "volcano", "lava_field", "obsidian_field"],
|
||
"temperate_forest": ["forest_clearing", "ancient_grove", "medicinal_grove", "mushroom_grove", "carboniferous_forest", "underground_lake"],
|
||
"grassland": ["plateau", "natural_bridge", "sinkhole", "lake", "spring"],
|
||
"tundra": ["geyser", "sinkhole", "cliff", "lake", "crater", "fumarole", "deep_cavern"],
|
||
"alpine": ["canyon", "cliff", "gorge", "volcano", "caldera", "crystal_cavern", "volcanic_vent"],
|
||
"cold_desert": ["canyon", "cliff", "sinkhole", "hoodoo", "crater", "obsidian_field"],
|
||
"hills": ["cave", "spring", "plateau", "gorge", "cave_network", "bat_cave"],
|
||
"rocky_plateau": ["canyon", "cliff", "natural_bridge", "mesa", "rock_spire", "monolith"],
|
||
"hurricane_zone": ["cave", "gorge", "marsh", "central_hill_swamp", "bat_cave"],
|
||
"wetlands": ["central_hill_swamp", "islands_swamp", "hilly_swampy", "underground_lake", "delta"],
|
||
"storm_prairie": ["plateau", "sinkhole", "natural_bridge", "hoodoo", "monolith"],
|
||
"badlands": ["canyon", "cliff", "gorge", "mesa", "sinkhole", "lava_field"],
|
||
"coastal_plain": ["delta", "pond", "marsh", "estuary", "natural_harbor"],
|
||
"cliffs": ["sea_cave", "cliff", "natural_arch", "blowhole", "sea_stack"],
|
||
"sandy_coast": ["beach_dunes", "delta", "natural_harbor", "tidal_pool", "estuary"],
|
||
"rocky_shore": ["sea_cave", "tidal_pool", "sea_stack", "blowhole", "coral_reef"],
|
||
"scrubland": ["cave", "plateau", "spring", "sinkhole", "canyon", "monolith", "rock_spire"]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
} |