Simple Push

environment gif

This environment is part of the mpe environments. Please read that page first for general information.

Name Value
Actions Discrete
Agents 2
Parallel API True
Manual Control No
Action Shape (5)
Action Values Discrete(5)
Observation Shape (8),(19)
Observation Values (-inf,inf)
Import from pettingzoo.mpe import simple_push_v1
Agents agents= [adversary_0, agent_0]

Agent Environment Cycle

environment aec diagram

Simple Push

This environment has 1 good agent, 1 adversary, and 1 landmark. The good agent is rewarded based on the distance to the landmark. The adversary is rewarded if it is close to the landmark, and if the agent is far from the landmark (the difference of the distances). Thus the adversary must learn to push the good agent away from the landmark.

Agent observation space: [self_vel, goal_rel_position, goal_landmark_id, all_landmark_rel_positions, landmark_ids, other_agent_rel_positions]

Adversary observation space: [self_vel, all_landmark_rel_positions, other_agent_rel_positions]

Agent action space: [no_action, move_left, move_right, move_down, move_up]

Adversary action space: [no_action, move_left, move_right, move_down, move_up]

Arguments

simple_push.env(max_frames=25)

max_frames: number of frames (a step for each agent) until game terminates