Light Logo Dark Logo PettingZoo Documentation
Farama Foundation logo Farama Foundation
Contents Menu Expand Light mode Dark mode Auto light/dark mode
Light Logo Dark Logo PettingZoo Documentation

Introduction

  • Basic Usage
  • Environment Creation
  • Testing Environments

API

  • AEC API
  • Parallel API
  • Wrappers
    • PettingZoo Wrappers
    • Supersuit Wrappers
    • Shimmy Compatibility Wrappers
  • Utils

Environments

  • Atari
    • Basketball Pong
    • Boxing
    • Combat: Plane
    • Combat: Tank
    • Double Dunk
    • Emtombed: Competitive
    • Emtombed: Cooperative
    • Flag Capture
    • Foozpong
    • Ice Hockey
    • Joust
    • Mario Bros
    • Maze Craze
    • Othello
    • Pong
    • Quadrapong
    • Space Invaders
    • Space War
    • Surround
    • Tennis
    • Video Checkers
    • Volleyball Pong
    • Warlords
    • Wizard of Wor
  • Butterfly
    • Cooperative Pong
    • Knights Archers Zombies (‘KAZ’)
    • Pistonball
  • Classic
    • Chess
    • Connect Four
    • Gin Rummy
    • Go
    • Hanabi
    • Leduc Hold’em
    • Rock Paper Scissors
    • Texas Hold’em No Limit
    • Texas Hold’em
    • Tic Tac Toe
  • MPE
    • Simple
    • Simple Adversary
    • Simple Crypto
    • Simple Push
    • Simple Reference
    • Simple Speaker Listener
    • Simple Spread
    • Simple Tag
    • Simple World Comm
  • SISL
    • Multiwalker
    • Pursuit
    • Waterworld
  • Third-Party Environments

Tutorials

  • Custom Environment Tutorial
    • Tutorial: Repository Structure
    • Tutorial: Environment Logic
    • Tutorial: Action Masking
    • Tutorial: Testing Your Environment
  • CleanRL Tutorial
    • CleanRL: Implementing PPO
    • CleanRL: Advanced PPO
  • Tianshou Tutorial
    • Tianshou: Basic API Usage
    • Tianshou: Training Agents
    • Tianshou: CLI and Logging
  • Ray RLlib Tutorial
    • RLlib: PPO for Pistonball
    • RLlib: DQN for Simple Poker
  • LangChain Tutorial
    • LangChain: Creating LLM agents
  • Stable-Baselines3 Tutorial
    • SB3: PPO for Knights-Archers-Zombies
    • SB3: PPO for Waterworld
    • SB3: Action Masked PPO for Connect Four
  • AgileRL Tutorial
    • AgileRL: Implementing DQN - Curriculum Learning and Self-play
    • AgileRL: Implementing MADDPG
    • AgileRL: Implementing MATD3

Development

  • Github
  • Release Notes
  • Contribute to the Docs
Back to top
Edit this page

Custom Environment Tutorial¶

These tutorials walk you though the full process of creating a custom environment from scratch, and are recommended as a starting point for anyone new to PettingZoo.

  1. Project Structure

  2. Environment Logic

  3. Action Masking

  4. Testing Your Environment

For a simpler example environment, including both AEC and Parallel implementations, see our Environment Creation documentation.

Next
Tutorial: Repository Structure
Previous
Third-Party Environments
Copyright © 2023 Farama Foundation