{ // The following options are defaults taken verbatim from Factorio 1.1.35 // headless' map-settings.example.json, with the following changes: // - field names unquoted where possible // - pseudo-comments converted to jsonnet comments // - comments reflowed to fit 80 columns difficulty_settings: { recipe_difficulty: 0, technology_difficulty: 0, technology_price_multiplier: 1, research_queue_setting: "after-victory" }, pollution: { enabled: true, // these are values for 60 ticks (1 simulated second) // amount that is diffused to neighboring chunk diffusion_ratio: 0.02, min_to_diffuse: 15, ageing: 1, expected_max_per_chunk: 150, min_to_show_per_chunk: 50, min_pollution_to_damage_trees: 60, pollution_with_max_forest_damage: 150, pollution_per_tree_damage: 50, pollution_restored_per_tree_damage: 10, max_pollution_to_restore_trees: 20, enemy_attack_pollution_consumption_modifier: 1 }, enemy_evolution: { enabled: true, time_factor: 0.000004, destroy_factor: 0.002, pollution_factor: 0.0000009 }, enemy_expansion: { enabled: true, min_base_spacing: 3, max_expansion_distance: 7, friendly_base_influence_radius: 2, enemy_building_influence_radius: 2, building_coefficient: 0.1, other_base_coefficient: 2.0, neighbouring_chunk_coefficient: 0.5, neighbouring_base_chunk_coefficient: 0.4, max_colliding_tiles_coefficient: 0.9, settler_group_min_size: 5, settler_group_max_size: 20, min_expansion_cooldown: 14400, max_expansion_cooldown: 216000 }, unit_group: { min_group_gathering_time: 3600, max_group_gathering_time: 36000, max_wait_time_for_late_members: 7200, max_group_radius: 30.0, min_group_radius: 5.0, max_member_speedup_when_behind: 1.4, max_member_slowdown_when_ahead: 0.6, max_group_slowdown_factor: 0.3, max_group_member_fallback_factor: 3, member_disown_distance: 10, tick_tolerance_when_member_arrives: 60, max_gathering_unit_groups: 30, max_unit_group_size: 200 }, steering: { default: { radius: 1.2, separation_force: 0.005, separation_factor: 1.2, force_unit_fuzzy_goto_behavior: false }, moving: { radius: 3, separation_force: 0.01, separation_factor: 3, force_unit_fuzzy_goto_behavior: false } }, path_finder: { fwd2bwd_ratio: 5, goal_pressure_ratio: 2, max_steps_worked_per_tick: 100, max_work_done_per_tick: 8000, use_path_cache: true, short_cache_size: 5, long_cache_size: 25, short_cache_min_cacheable_distance: 10, short_cache_min_algo_steps_to_cache: 50, long_cache_min_cacheable_distance: 30, cache_max_connect_to_cache_steps_multiplier: 100, cache_accept_path_start_distance_ratio: 0.2, cache_accept_path_end_distance_ratio: 0.15, negative_cache_accept_path_start_distance_ratio: 0.3, negative_cache_accept_path_end_distance_ratio: 0.3, cache_path_start_distance_rating_multiplier: 10, cache_path_end_distance_rating_multiplier: 20, stale_enemy_with_same_destination_collision_penalty: 30, ignore_moving_enemy_collision_distance: 5, enemy_with_different_destination_collision_penalty: 30, general_entity_collision_penalty: 10, general_entity_subsequent_collision_penalty: 3, extended_collision_penalty: 3, max_clients_to_accept_any_new_request: 10, max_clients_to_accept_short_new_request: 100, direct_distance_to_consider_short_request: 100, short_request_max_steps: 1000, short_request_ratio: 0.5, min_steps_to_check_path_find_termination: 2000, start_to_goal_cost_multiplier_to_terminate_path_find: 500.0, overload_levels: [0, 100, 500], overload_multipliers: [2, 3, 4], negative_path_cache_delay_interval: 20 }, max_failed_behavior_count: 3 }