minihack  by facebookresearch

RL sandbox for open-ended reinforcement learning research

Created 6 years ago
503 stars

Top 61.9% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

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

  • Install via pip: pip install minihack
  • For development: git clone https://github.com/facebookresearch/minihack && cd minihack && pip install -e ".[dev]" && pre-commit install
  • Requires Python and Gymnasium.
  • Official documentation: https://minihack.readthedocs.io/en/latest/
  • Environment list: python -m minihack.scripts.env_list

Highlighted Details

  • Supports custom environment creation via a DSL.
  • Integrates with TorchBeast and RLlib for baseline agent training.
  • Includes a browser-based Level Editor for GUI-driven environment design.
  • Offers a language wrapper for text-based observations and actions.
  • Facilitates research in Unsupervised Environment Design.

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.

Health Check
Last Commit

7 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 30 days

Explore Similar Projects

Starred by Jiayi Pan Jiayi Pan(Author of SWE-Gym; MTS at xAI) and Jianwei Yang Jianwei Yang(Research Scientist at Meta Superintelligence Lab).

allenact by allenai

0%
369
Open-source framework for embodied AI research
Created 5 years ago
Updated 3 weeks ago
Starred by Noah Snavely Noah Snavely(Research Scientist at Google DeepMind; Professor at Cornell Tech), Lukas Biewald Lukas Biewald(Cofounder of Weights & Biases), and
2 more.

nle by facebookresearch

0%
965
RL environment for NetHack game research
Created 5 years ago
Updated 1 year ago
Feedback? Help us improve.