WFC Maze Spirals¶
Action Space |
|
Observation Space |
|
Creation |
|
Description¶
This environment procedurally generates a level using the Wave Function Collapse algorithm.
The MazeSpirals preset learns from spiral motifs to create curling corridors and rounded maze-like structures.
See WFC module page for sample images of the available presets.
Requires the optional dependencies imageio and networkx to be installed with pip install minigrid[wfc].
WFC Preset¶
Preset |
|
Registered by default |
No |
Requires additional registration |
Yes |
Slow preset |
Yes |
Registration¶
This preset is not registered by default. Register the additional WFC preset group before creating it.
import gymnasium
from minigrid.envs.wfc.config import WFC_PRESETS_SLOW, register_wfc_presets
register_wfc_presets(WFC_PRESETS_SLOW, gymnasium.register)
Generation Notes¶
This preset is slow and can take several minutes to generate.
Mission Space¶
“traverse the maze to get to the goal”
Action Space¶
Num |
Name |
Action |
|---|---|---|
0 |
left |
Turn left |
1 |
right |
Turn right |
2 |
forward |
Move forward |
3 |
pickup |
Unused |
4 |
drop |
Unused |
5 |
toggle |
Unused |
6 |
done |
Unused |
Observation Encoding¶
Each tile is encoded as a 3 dimensional tuple:
(OBJECT_IDX, COLOR_IDX, STATE)OBJECT_TO_IDXandCOLOR_TO_IDXmapping can be found in minigrid/core/constants.pySTATErefers to the door state with 0=open, 1=closed and 2=locked (unused)
Rewards¶
A reward of ‘1 - 0.9 * (step_count / max_steps)’ is given for success, and ‘0’ for failure.
Termination¶
The episode ends if any one of the following conditions is met:
The agent reaches the goal.
Timeout (see
max_steps).
Research¶
Adapted for Minigrid by the following work.
@inproceedings{garcin2024dred,
title = {DRED: Zero-Shot Transfer in Reinforcement Learning via Data-Regularised Environment Design},
author = {Garcin, Samuel and Doran, James and Guo, Shangmin and Lucas, Christopher G and Albrecht, Stefano V},
booktitle = {Forty-first International Conference on Machine Learning},
year = {2024},
}