Skip to content

Configure the Simulation#

Set the map, the date, the weather, the soil, the crops, the vehicle and the graphics. The game takes command-line options. ACRES Core takes the same settings as Python arguments.

Before you start

How the Settings Work#

ACRES reads its settings from three places. A later place has priority over an earlier place.

Place Example Scope
Configuration files in Acres/Content/Simulation polaris.json, tractor.json, environment.json, farm.json, sensors_polaris.json The default of each value
The menu of the game Simulation settings One session
Command-line options and Python arguments -EnvHour=18.5, crop_date="2026-08-15" One session or one batch

The game copies the files and the options of each session into its session folder. Thus each session is reproducible. The Configuration Files reference gives each key.

A Full Example#

This command starts the Polaris on the map variant acre-mixed, on 20 September at 18:30, in rain under an overcast sky. The crops have the growth of that date.

Packaged/Linux/Acres.sh -VehicleDemo -Vehicle=polaris -MapData=acre-mixed \
    -EnvDate=2026-09-20 -EnvHour=18.5 -EnvClouds=overcast -EnvRain=18,20,6 -EnvWind=6 \
    -CropStage=date -PolarisFinish=forest_green

Expected result

The log confirms the map, the weather and the crops.

ACRES_MAP_DATA ../../../Acres/Content/SimulationMaps/acre-mixed
ACRES_ENVIRONMENT_READY day 1 18:30 | 18.4 C RH 95% | sun 14 deg | cloud 97% | rain 5.0 mm/h (0.0 mm) | wind 5.3 m/s from 225 | vis 2.5 km
ACRES_MAP_DATA changed fields (17): F07 F10 F17 F20 F24 F25 F27 F28 F35 F37 F38 F39 F40 F46 F47 F52 F53
ACRES_CROP_SEASON_PLANTED season=2026 stage=date date=2026-09-20 ...

The Polaris in rain at 18:30 on the map variant acre-mixed

Select a Map#

ACRES has the default map and seven variants. A variant has the same terrain and buildings. A seed changes its fields, lanes, crops and wet patches. Each variant also has new crop kinds, planting dates and harvested fields.

Map Merged Fields Split Fields Dead Ends Removed Lanes One-Gate Fields Wet Patches
default 0 0 0 0 0 0
acre-merged 6 1 0 0 2 2
acre-split 3 3 1 0 0 3
acre-detour 2 1 0 5 3 4
acre-deadend 1 0 4 2 8 1
acre-mixed 4 4 2 3 5 5
acre-sparse 4 0 3 14 12 4
acre-maze 2 0 8 8 16 3

The counts come from Learning/acres_learn/configs/map_variants_v1.json. Some variants also move one side of a field.

Packaged/Linux/Acres.sh -VehicleDemo -MapData=acre-mixed
batch = ac.Batch(".", content_dir="Acres/Content/SimulationMaps/acre-mixed")
from acres_simulator import maps
maps.use("acre-mixed")          # before the first world of the process
export ACRES_MAP=acre-mixed     # acres_simulator and the harness read it

The Map Data reference shows how to make a new variant from a seed.

Set the Date, the Time and the Weather#

Option Unit Default Function
-EnvDate= YYYY-MM-DD 2026-07-15 The start date
-EnvHour= h 10 The local start time. 18.5 is 18:30.
-EnvMinute= s 60 The real seconds for one minute of game time. 60 is real time.
-EnvClouds= fair clear, fair, partly or overcast
-EnvRain= h, h, mm none One rain event: the start hour, the end hour and the total depth
-EnvFog= m auto auto, off or a fixed visibility
-EnvWind=, -EnvWindFrom= m/s, deg 3.5, 225 The mean wind at 10 m and the direction it comes from
-EnvLowC=, -EnvHighC= °C 16, 28 The low and the high temperature of the day
-EnvSeed= 42 The seed of the gusts, the clouds and the temperature noise

The Weather model page explains the sky, the temperature and the rain.

Set the Soil and the Crops#

Option Default Function
-FarmInitialTheta= 0.5 The start soil water: 0 is the wilting point, 1 is the field capacity
-FarmPreDays= 0 Runs the farm water model for this number of days before the start
-CropStage= mature mature gives full growth. date grows each field from its planting date to the session date.
-FarmInitialGrowth= 1 The growth fraction of all fields, 0 to 1
-CropSeason= 2026 The crop map ACRE/crops_<season>.json
-VehicleSurface= mapped One surface at all positions, for a test
-DriveRegion off Adds the 4.6 km regional ground around the tile, with 100 more fields

In ACRES Core, the same settings are arguments and calls of Batch:

core_settings.py
"""Four environments with different settings: dry soil, wet soil, a heavier vehicle, and rain on the regional ground."""
import math

import numpy as np
import acres_core as ac

batch = ac.Batch(".", num_envs=4, drive_region=True, crop_date="2026-08-15")
S = {name: i for i, name in enumerate(ac.STATE_COLUMNS)}

batch.set_conditions([0], global_fraction=0.0)                 # soil water at the wilting point
batch.set_conditions([1], global_fraction=1.3)                 # wet soil, above field capacity
batch.set_parameters([2], {"mass.occupants": 4})               # four persons in the Polaris
batch.set_weather([3], rain_mm_h=20.0, time_scale=60.0)        # rain; 1 s of simulation is 1 min of weather
batch.reset(None, np.tile([-585.0, 75.0, math.pi / 2, 0.0], (4, 1)))   # reset after set_parameters

for _ in range(100):                                           # 10 s at 2 m/s
    state = batch.step_curvature_speed(np.zeros(4), np.full(4, 2.0))
for k, name in enumerate(["dry soil", "wet soil", "4 occupants", "rain"]):
    print(f"{name:12s} distance {state[k, S['y']] - 75.0:5.2f} m, fuel {state[k, S['fuel_used_l']] * 1000:.1f} ml, rear slip {state[k, S['rear_slip']]:.3f}")

Expected result

The wet soil gives more slip and more fuel. The rain changes only the regional ground, thus the environment on the tile field does not change.

dry soil     distance 15.56 m, fuel 4.6 ml, rear slip -0.024
wet soil     distance 15.20 m, fuel 5.9 ml, rear slip 0.054
4 occupants  distance 15.52 m, fuel 5.5 ml, rear slip 0.003
rain         distance 15.77 m, fuel 5.2 ml, rear slip 0.003

The Soil Water and Crops and Ground Classes pages explain these models.

Change the Vehicle Parameters#

Option Function
-Vehicle= polaris or maxxum
-PolarisSet=key=value;key=value Changes parameters of the Polaris with the dotted keys of polaris.json
-PolarisConfig=<file> A different parameter file of the Polaris
-VehicleConfig=<file> A different parameter file of the Maxxum, the soil and the implements (tractor.json)
-PolarisOccupants= The number of persons, 0 to 6. One person has 85 kg.
-PolarisFinish= graphite, forest_green, desert_tan or deep_blue

In ACRES Core, Batch(polaris_overrides={...}) changes the parameters of all environments, and set_parameters(indices, {...}) changes some environments. Use it for domain randomization. The Polaris model page gives the parameters.

Set the Sensors and the Graphics#

Option Function
-PolarisSensorConfig=<file> The sensor file of the Polaris
-RenderTier= low, high or auto. auto selects high for a GPU with 11.5 GiB of memory or more.
-ResX=, -ResY= The window or image size
-RenderOffscreen Renders without a window
-nullrhi No rendering at all: the physics and the logs only. The sensors that need rendering do not record.

The Sensors tutorial gives the sensor settings. The Command-Line Options reference gives each option of the game.

Next Steps#