[FEATURE] Multi-agent support
Closed this issue ยท 1 comments
๐ Feature: Multi-agent support
Are there plans to add multi-agent support to minihack?
Motivation
Minihack is presently at a competitive advantage over other environments (e.g.: griddly, mincraft) because of its speed and the ease that new environment dynamics can be created. Adding multi-agent support would extend its complexity, flexibility, and niche on github.
Pitch
Minihack implements turn-based multiagent support (like pettingzoo's agent-environment cycle). This is what it would look like:
# hypothetical environment with a hippo, elephant, and tiger
env = gym.make("MiniHack-Zoo", ...)
env.reset()
env.step(1) # this applies to Hippo
env.step(2) # this applies to Elephant
env.step(3) # this applies to Tiger
env.step(4) # this applies to Hippo
Alternatives
MALMO provides multi-agent support, but it is slower than minihack.
Hi @JacobFV,
Thanks for the suggestion. MiniHack is actually based on the game of NetHack, which is a single-agent game. Unfortunately, it is not possible to make a multi-agent version of it, unless making significant changes to the NetHack source code, which is outside of the scope of this project.