Skip to content

Minigrid 2.2.0: added Pygame rendering support, fixed bug in wrappers and environments

Compare
Choose a tag to compare
@BolunDai0216 BolunDai0216 released this 23 Mar 14:18
· 53 commits to master since this release
9203791

Minigrid 2.2.0 Release Notes

In this release, we added support for rendering using Pygame, which improves the previously Matplotlib-based rendering procedure, this is a breaking change that removes minigrid.utils.window.Window. A bug in the SymbolicObsWrapper that results in the wrong observation has been fixed. An error in the documentation regarding the reward function has been corrected. The ObstructedMaze environments are now ensured to be solvable. The class minigrid_env.MiniGridEnv.Actions is removed since it is the same as minigrid.core.actions.Actions.

Bug Fixes and Documentation Updates

  • For the MiniGrid-DoorKey-6x6-v0 environment, a hidden variable determining the size was wrong at 5x5, this is updated to 6x6.
    #322
  • Since the class minigrid_env.MiniGridEnv.Actions is the same as minigrid.core.actions.Actions, to make the codebase cleaner, we have deleted the class minigrid_env.MiniGridEnv.Actions. This is a breaking change. For any code that relies on minigrid_env.MiniGridEnv.Actions, you can simply replace it with minigrid.core.actions.Actions.
    #328
  • In SymbolicObsWrapper, the grid that records the content of each tile is formatted as [x, y, item], which corresponds to [col, row, item], this causes a mismatch in the observation. This mismatch is now resolved.
    #331
  • The documentation for the rewards has previously incorrectly stated that the reward is 1 when the environment is solved, while it is actually 1 - 0.9 * (step_count / max_steps). Additionally, in GoToObjectEnv, there was an error in detecting whether the agent is next to the target. These issues have now been resolved.
    #333
  • Previously Minigrid relied on a Matplotlib-based rendering backend. We have added a Pygame-based rendering backend that is faster and more consistent with other Farama libraries. As a result, minigrid.utils.window.Window has been removed.
    #313
  • In the ObstructedMaze environments, the blocking ball placed by add_door may cover the box placed on the map by the previous add_door, causing the agent to be unable to open certain doors and complete the task. We have updated several of the ObstructedMaze environments to be always solvable and are registered as v1 versions of the environment.
    #334