facebookresearch/minihack

[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.