Procgen
We use procgen==0.10.7 as the codebase.
See https://github.com/openai/procgen/tree/0.10.7
Note
Linux manylinux_2_28 wheels bundle Qt 6.11.1 QtCore/QtGui, built from source
in the release image. Procgen does not require a system Qt installation.
macOS wheels require Homebrew Qt 6 at runtime: run brew install qtbase
before importing EnvPool. Windows wheels bundle their Qt runtime DLLs.
Render Compare
Representative first-frame compares for Procgen tasks that support rendering. In each panel, EnvPool is on the left and the exact channel-last observation oracle used by the test suite is on the right.
Options
task_id (str): see available tasks below;num_envs (int): how many environments you would like to create;batch_size (int): the expected batch size for return result, default tonum_envs;num_threads (int): the maximum thread number for executing the actualenv.step, default tobatch_size;seed (int | Sequence[int]): the environment seed. When a sequence is provided, it must contain exactly one seed per environment. Default to42;max_episode_steps (int): the maximum number of steps for one episode, each procgen game has different timeout value;channel_first (bool): whether to transpose the observation image to(3, 64, 64), default toTrue;env_name (str): one of 16 procgen env name;num_levels (int): default to0;start_level (int): default to0;use_sequential_levels (bool): default toFalse;center_agent (bool): default toTrue;use_backgrounds (bool): default toTrue;use_monochrome_assets (bool): default toFalse;restrict_themes (bool): default toFalse;use_generated_assets (bool): default toFalse;paint_vel_info (bool): default toFalse;use_easy_jump (bool): default toFalse;distribution_mode (int): one of(0, 1, 2, 10, 20);0stands for easy mode,1stands for hard mode,2stands for extreme mode,10stands for memory mode, and20stands for exploration mode. Exploration mode follows Procgen’s Python wrapper behavior: it uses hard mode levels, overridesnum_levelsto1, and overridesstart_levelto a game-specific exploration seed. The default value is determined bytask_id.
Note: arguments after env_name are provided by procgen environment itself.
We keep the default value as-is. We haven’t tested the setting of
use_sequential_levels == True, and have no promise it is aligned with the
original version of procgen (PRs for fixing this issue are highly welcome).
Observation Space
The observation image shape is (3, 64, 64) when channel_first is
True (default), (64, 64, 3) when channel_first is False.
Action Space
15 action buttons in total, ranging from 0 to 14.
Available Tasks
BigfishEasy-v0BigfishHard-v0BossfightEasy-v0BossfightHard-v0CaveflyerEasy-v0CaveflyerHard-v0CaveflyerMemory-v0CaveflyerExploration-v0ChaserEasy-v0ChaserHard-v0ChaserExtreme-v0ClimberEasy-v0ClimberHard-v0ClimberExploration-v0CoinrunEasy-v0CoinrunHard-v0CoinrunExploration-v0DodgeballEasy-v0DodgeballHard-v0DodgeballExtreme-v0DodgeballMemory-v0FruitbotEasy-v0FruitbotHard-v0HeistEasy-v0HeistHard-v0HeistMemory-v0HeistExploration-v0JumperEasy-v0JumperHard-v0JumperMemory-v0JumperExploration-v0LeaperEasy-v0LeaperHard-v0LeaperExtreme-v0LeaperExploration-v0MazeEasy-v0MazeHard-v0MazeMemory-v0MazeExploration-v0MinerEasy-v0MinerHard-v0MinerMemory-v0NinjaEasy-v0NinjaHard-v0NinjaExploration-v0PlunderEasy-v0PlunderHard-v0StarpilotEasy-v0StarpilotHard-v0StarpilotExtreme-v0