{ "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"] } } } ] } ] } }