/Unity-ML-Environments

This repository features game simulations as machine learning environments to experiment with deep learning approaches such as deep reinforcement learning inside of Unity.

Primary LanguageC#MIT LicenseMIT

Unity Machine Learning Environments (WIP)

This is a collection of several game simulations made with Unity's ML Agents. These serve as test bed for machine learning approaches such as Deep Reinforcement Learning. As this is work in progress, more distinctive environments will be added in the near future. These environments are going to focus on varying kinds of challenges:

  • Discrete/Continuous action spaces
  • State Input made of raw pixels
  • Curriculum Learning
  • Imitation Learning
  • Cooperative Agents (among other agents)
  • Competitive Agents (among other agents)
  • ...

For now, I am focusing on building interesting environments. Results, like trained models and plots, are not available currently. I will try to provide a set of working hyperparameters for each environment, so that you are able to achieve some results.

Usage

All environments are based on Unity's ML Agents. Please follow their instructions and references to setup your Python environment.

Available Environments

  • Basket Catch

    • continuous inputs
    • discrete outputs
  • Ball Labyrinth

    • continuous inputs, one camera observation
    • continuous outputs
    • curriculum learning
    • training results are pending
  • Destroy Comets

    • continuous inputs
    • continuous and discrete outputs
  • Simple Continuous Control

    • continuous inputs, one camera observation (optionally)
    • continuous outputs
    • training results are pending for using camera observation

Potential Future Environments

Upcoming:

  • Shooting Birds
    • camera observation as input
    • continuous outputs

Shooting Birds


  • Beastly Rivals Onslaught (BRO)

    • continuous or camera input
    • continuous output
    • competitive agents
  • Jenga

    • multiple camera observations as input
    • continuous output
  • Table Kicker

    • adversarial self-play
    • competitive and cooperative agents