-
-
Notifications
You must be signed in to change notification settings - Fork 421
[WIP] Pettingzoo Multi-Agent Wrapper #649
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…-pettingzoo Add PettingZoo parallel wrapper for cooperative multi-agent VizDoom
mwydmuch
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to tests it more, I'm unsure about respawn mechanic.
But I think this is looks good.
What do you think is missing to call it good first version with this one environment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What was the change here? I would prefer not to change the scenario we have for such a long time.
| }) | ||
| steps += frames_per_step | ||
|
|
||
| elif cmd == "respawn": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if there is respawn delay?
| if is_dead: | ||
| if verbose: | ||
| print(f"Player {agent} respawning at step {game.get_episode_time()}...") | ||
| game.respawn_player() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of calling game.respawn_player() that will block the current controller, it is also possible to send "use" action and wait (advance_action) or (make_action).
|
I've addressed all the points you've raised. I am not sure about the respawn part. It seems to work fine as is. Needs further testing to see whether there are situations where issues can arise |
pettingzoo_wrapper/base_pettingzoo_env.pycontains the multi-agent environment wrapperpettingzoo_wrapper/__init__.pyis the main entry point for creating envsexamples/python/multi_agent.pyruns a few episodes with rendering for quick validationexamples/python/train_multi_agent.pyuses the benchmarl library to train a multi-agent policy