RL sandbox for open-ended reinforcement learning research
Top 63.3% on sourcepulse
MiniHack is a framework for designing diverse and complex reinforcement learning (RL) environments, built upon the NetHack game. It targets RL researchers and practitioners seeking to scale task complexity and test agent generalization in a controlled, customizable sandbox. The primary benefit is the ability to rapidly create novel environments using a human-readable domain-specific language.
How It Works
MiniHack leverages the NetHack Learning Environment (NLE) to interface with the NetHack game engine. Environments are defined using a probabilistic-programming-like domain-specific language (DSL) in description files, allowing fine-grained control over level generation, including terrain, monsters, traps, and objects. This DSL approach enables the creation of a vast array of Gymnasium-compatible environments with controlled complexity and stochasticity, facilitating systematic RL research.
Quick Start & Requirements
pip install minihack
git clone https://github.com/facebookresearch/minihack && cd minihack && pip install -e ".[dev]" && pre-commit install
python -m minihack.scripts.env_list
Highlighted Details
Maintenance & Community
Maintained by Meta AI (FAIR), UCL DARK, and University of Oxford. Contributions are welcomed via pull requests. Maintenance plan available.
Licensing & Compatibility
MiniHack itself is licensed under the MIT License. However, it builds upon NetHack, which has its own license, and may include components from MiniGrid and Boxoban, each with their own licenses. Compatibility for commercial use depends on the licenses of these underlying components.
Limitations & Caveats
The project README indicates that the primary repository has moved to github.com/samvelyan/minihack
. Users should ensure they are referencing the correct, active repository.
5 months ago
1 week