football  by google-research

RL environment for football game research

created 6 years ago
3,475 stars

Top 14.2% on sourcepulse

GitHubView on GitHub
Project Summary

Google Research Football (GRF) provides a customizable 2D football simulation environment for Reinforcement Learning (RL) research. It allows researchers to train agents using various RL algorithms and offers features like multi-agent support, customizable scenarios, and built-in AI opponents. The environment is built on Gameplay Football and is designed for scalability and ease of use in RL experimentation.

How It Works

GRF utilizes a C++ game engine for performance, wrapped with a Python API for seamless integration with RL frameworks. It supports multiple action sets and observation formats, including raw pixels and structured game state. The environment is designed to be highly configurable, allowing users to define custom scenarios, team compositions, and game rules, facilitating diverse research explorations.

Quick Start & Requirements

  • Install: python3 -m pip install gfootball (recommended) or build from source.
  • Prerequisites: cmake, build-essential, SDL2 development libraries, Boost, xvfb, x11vnc (Linux); brew with SDL2 and Boost (macOS); Git and Python 3 (Windows).
  • Setup: Installation can take a few minutes due to C++ compilation.
  • Links: Run in Colab, Paper, Kaggle

Highlighted Details

  • Supports training agents with TensorFlow 1.15 and OpenAI Baselines.
  • Offers pre-trained PPO checkpoints for specific scenarios.
  • Includes a Kaggle competition for community engagement and benchmarking.
  • Provides a Dockerfile for simplified setup and execution.

Maintenance & Community

The project is from Google Research. Community interaction can be found via GitHub issues and the Kaggle competition.

Licensing & Compatibility

The repository is licensed under the Apache License 2.0, permitting commercial use and integration with closed-source projects.

Limitations & Caveats

The provided pre-trained checkpoints are specifically tied to TensorFlow 1.15, potentially causing compatibility issues with newer TensorFlow versions. Human control via keyboard may exhibit lag due to the environment's action reporting frequency.

Health Check
Last commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
4
Star History
50 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.