factoriax.engine.envs.mining

Contents

factoriax.engine.envs.mining#

The Mining scenario: an 8x8 benchmark for mining by hand.

The agent earns 1 point for each ore item that it mines by hand. Each episode places ten iron-ore tiles at random positions, and each tile holds 3 resources. An agent can therefore collect 30 items in total. The episode ends after 100 steps.

factoriax.engine.envs.mining.mining(*, obs: str = 'superficial_local', obs_radius: int = 7) → tuple[FactoriaxEnv, EnvParams]#

Build the Mining-v1 environment.

The map is 8x8 and generated. It holds ten iron-ore tiles at random positions, and each tile holds 3 resources. The agent earns 1 reward for each ore item that it mines by hand. An episode lasts 100 steps.

The default observation is the egocentric superficial_local with radius 7. That window covers the whole 8x8 map from any position. This scenario is an RL baseline, and a flat MLP policy stops near 7/30 on superficial_global and reaches 30/30 on superficial_local. See factoriax.engine.observations. Pass obs="superficial_global" for the absolute-grid variant.