This is the repository for the Crafter-OO environment used in One Life to Learn: Inferring Symbolic World Models for Stochastic Environments from Unguided Exploration.
This repository is a fork of the original Crafter repository, modified to expose an object-oriented state and a pure transition function that operates on that state.
pip install -e ".[pygame]"
- See
crafter_oo/state_export.py
for the definition of the object-oriented state. - See
crafter_oo/functional_env.py
for the transition function, initial state creation, and rendering the state into an image. - You can run a game loop with the pure transition function using the
run_functional_crafter.py
.
@inproceedings{khan2025onelife,
title={One Life to Learn: Inferring Symbolic World Models for Stochastic Environments from Unguided Exploration},
author={Khan, Zaid and Prasad, Archiki and Stengel-Eskin, Elias and Cho, Jaemin and Bansal, Mohit},
journal={arXiv preprint arXiv:2510.12088},
year={2025}
}
@article{hafner2021crafter,
title={Benchmarking the Spectrum of Agent Capabilities},
author={Danijar Hafner},
year={2021},
journal={arXiv preprint arXiv:2109.06780},
}