General: # Your Seed env_seed: 69 # Individual vs global rewards individual_rewards: true level_name: simple_crossing # View Radius; 0 = full observatbility pomdp_r: 0 verbose: false tests: false Agents: Agent_horizontal: Actions: - Noop - Move4 Observations: - Walls - Other - Destination # Avaiable Spawn Positions as list Positions: - (1,2) # It is okay to collide with other agents, so that # they end up on the same position is_blocking_pos: false Agent_vertical: Actions: - Noop - Move4 Observations: - Walls - Other - Destination Positions: - (2,1) is_blocking_pos: false # Other noteworthy Entitites Entities: Destinations: # Let them spawn on closed doors and agent positions ignore_blocking: true spawnrule: SpawnDestinationsPerAgent: coords_or_quantity: Agent_horizontal: - (3,2) Agent_vertical: - (2,3) # Whether you want to provide a numeric Position observation. # GlobalPositions: # normalized: false # Define the env. dynamics Rules: # Utilities # This rule Checks for Collision, also it assigns the (negative) reward WatchCollisions: reward: -0.1 reward_at_done: -1 done_at_collisions: false # Done Conditions # Load any of the rules, to check for done conditions. DoneAtDestinationReach: reward_at_done: 1 # We want to give rewards only, when all targets have been reached. condition: "all" DoneAtMaxStepsReached: max_steps: 200