Simple¶
This environment is part of the MPE environments. Please read that page first for general information.
Import |
|
---|---|
Actions |
Discrete/Continuous |
Parallel API |
Yes |
Manual Control |
No |
Agents |
|
Agents |
1 |
Action Shape |
(5) |
Action Values |
Discrete(5)/Box(0.0, 1.0, (5,)) |
Observation Shape |
(4) |
Observation Values |
(-inf,inf) |
State Shape |
(4,) |
State Values |
(-inf,inf) |
In this environment a single agent sees a landmark position and is rewarded based on how close it gets to the landmark (Euclidean distance). This is not a multiagent environment, and is primarily intended for debugging purposes.
Observation space: [self_vel, landmark_rel_position]
Arguments¶
simple_v3.env(max_cycles=25, continuous_actions=False, dynamic_rescaling=False)
max_cycles
: number of frames (a step for each agent) until game terminates
continuous_actions
: Whether agent action spaces are discrete(default) or continuous
dynamic_rescaling
: Whether to rescale the size of agents and landmarks based on the screen size
Usage¶
AEC¶
from pettingzoo.mpe import simple_adversary_v3
env = simple_adversary_v3.env(render_mode="human")
env.reset(seed=42)
for agent in env.agent_iter():
observation, reward, termination, truncation, info = env.last()
if termination or truncation:
action = None
else:
# this is where you would insert your policy
action = env.action_space(agent).sample()
env.step(action)
env.close()
Parallel¶
from pettingzoo.mpe import simple_adversary_v3
env = simple_adversary_v3.parallel_env(render_mode="human")
observations, infos = env.reset()
while env.agents:
# this is where you would insert your policy
actions = {agent: env.action_space(agent).sample() for agent in env.agents}
observations, rewards, terminations, truncations, infos = env.step(actions)
env.close()