minihack  by facebookresearch

RL sandbox for open-ended reinforcement learning research

created 6 years ago
497 stars

Top 63.3% 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

5 months ago

Responsiveness

1 week

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Toran Bruce Richards Toran Bruce Richards(Founder of AutoGPT), and
2 more.

OS-Copilot by OS-Copilot

0.1%
2k
OS agent for automating daily tasks
created 1 year ago
updated 10 months ago
Feedback? Help us improve.