Configurationο
Note
During installation, two main configuration folders are created:
config/ β located in the programβs installation directory. This folder contains default configuration examples provided with the program.
user_config/ β Created automatically in the userβs Documents folder (or the system-specific equivalent). This folder is intended for user-defined configurations. While configurations can be stored anywhere, it is recommended to place them here for convenience.
Program configurations define all the parameters of the simulation. Each configuration is composed of several JSON and CSV files organized in a hierarchical directory structure. Together, these files describe the environment, species, interactions, and runtime behavior of the simulation.
Types of Configurationsο
There are two main configuration modes, depending on how the landscape state is initialized:
- Initial Landscape Configuration (Mode: FromConfig)
The simulation starts from an empty landscape. All parameters and entities are defined through JSON files and all species interactions are defined through CSV files. This mode provides full control over every aspect of the simulation setup.
- Checkpoint-based Configuration (Mode: FromTextCheckpoint or FromBinaryCheckpoint)
The simulation starts from a previously saved landscape state (a checkpoint). In this case, the configuration directory contains:
A checkpoint file (either text or binary, depending on the mode).
Additional JSON files defining modifications or updates to apply over the loaded landscape.
The same CSV files that describe species interactions.
Folder Structureο
Initial Landscape configuration:
my_landscape_config/
βββ simulation_params.json
βββ landscape_params.json
βββ habitat_domain/
β βββ habitat_domain_patch_1.json
β βββ habitat_domain_patch_2.json
β βββ .....
βββ moisture/
β βββ moisture_patch_1.json
β βββ moisture_patch_2.json
β βββ .....
βββ obstacle/
β βββ obstacle_patch_1.json
β βββ obstacle_patch_2.json
β βββ .....
βββ resource/
β βββ resource_1.json
β βββ resource_2.json
β βββ .....
β βββ patches/
β βββ resource_patch_1.json
β βββ resource_patch_2.json
β βββ .....
βββ species/
βββ species_1.json
βββ species_2.json
βββ .....
βββ ontogeneticLinksPreference.csv
βββ ontogeneticLinksProfitability.csv
Checkpoint-based configuration:
my_checkpoint_config/
βββ simulation_params.json
βββ landscape_params.json
βββ checkpoint/
β βββ checkpoint.bin / checkpoint.txt
βββ habitat_domain/
β βββ habitat_domain_patch_1.json
β βββ habitat_domain_patch_2.json
β βββ .....
βββ moisture/
β βββ moisture_patch_1.json
β βββ moisture_patch_2.json
β βββ .....
βββ obstacle/
β βββ obstacle_patch_1.json
β βββ obstacle_patch_2.json
β βββ .....
βββ resource/
β βββ resource_1.json
β βββ resource_2.json
β βββ .....
β βββ patches/
β βββ resource_patch_1.json
β βββ resource_patch_2.json
β βββ .....
βββ species/
βββ species_1.json
βββ species_2.json
βββ .....
βββ ontogeneticLinksPreference.csv
βββ ontogeneticLinksProfitability.csv
File Descriptionsο
simulation_params.jsonο
Important
The file name must be exactly simulation_params.json.
The program explicitly looks for this file to load global simulation control parameters.
Defines high-level control aspects of the simulation: - Enabling or disabling data outputs. - Total simulation time. - Time step between iterations. - Stop and checkpoint conditions. - Control of output frequency and verbosity.
landscape_params.jsonο
Important
The file name must be exactly landscape_params.json.
This file establishes the global physical and environmental parameters for the simulation.
Defines: - Landscape dimensions and resolution. - Base humidity and temperature. - Global baseline for resource capacity.
habitat_domain_patch.jsonο
Note
The file name can be arbitrary, provided it is stored within the appropriate
subfolder habitat_domain/.
You can define multiple habitat domain patch files to compose complex environmental maps.
Defines habitat domains for animal species.
moisture_patch.jsonο
Note
The file name can be arbitrary, provided it is stored within the appropriate
subfolder moisture/.
You can define multiple moisture patch files to compose complex environmental maps.
Defines prioritized regions that locally modify: - Humidity. - Temperature. - Resource capacity.
obstacle_patch.jsonο
Note
The file name can be arbitrary, provided it is stored within the appropriate
subfolder obstacle/.
You can define multiple obstacle patch files to compose complex environmental maps.
Defines prioritized zones that act as impassable obstacles for all species.
resource.jsonο
Important
The file name can be arbitrary, provided it is stored within the appropriate
subfolder resource/.
Defines all the parameters of a resource species.
resource_patch.jsonο
Note
The file name can be arbitrary, provided it is stored within the appropriate
subfolder resource/patches/.
You can define multiple resource patch files to compose complex environmental maps.
Defines prioritized zones that promote resource growth.
species.jsonο
Important
The file name can be arbitrary, provided it is stored within the appropriate
subfolder species/.
Defines all the parameters of an animal species.
ontogeneticLinksPreference.csvο
Important
The file name must be exactly ontogeneticLinksPreference.csv.
The program explicitly loads this file to read inter-species preference data.
Defines the preference relationships between species (animals and resources). Each entry specifies how much a given species prefers interacting (e.g., feeding) with another.
Typical contents include: - Predatorβprey or consumerβresource preference strength. - Symbiotic or competitive interactions between animal species.
ontogeneticLinksProfitability.csvο
Important
The file name must be exactly ontogeneticLinksProfitability.csv.
This file provides the profitability relationships between species.
Defines the energy or benefit gain that a species obtains when interacting with another.
checkpoint.bin / checkpoint.txtο
Note
The file name can be arbitrary, provided it is stored within the appropriate
subfolder checkpoint/.
Represents a saved state of the simulation (binary or text format). Used in checkpoint-based configurations to resume or modify a simulation.
Configuration Parametersο
Every configuration file follows a strict JSON schema that defines its expected structure and data types. When a simulation starts, all JSON files are automatically validated against these schemas before execution.
For more information on how this validation is implemented and enforced, see JSON validator.
Refer to the dedicated sections below for details on each file type: