# google-deepmind/open_spiel

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/google-deepmind-open-spiel).**

5,288 stars · 1,148 forks · C++ · Apache-2.0

## Links

- GitHub: https://github.com/google-deepmind/open_spiel
- awesome-repositories: https://awesome-repositories.com/repository/google-deepmind-open-spiel.md

## Topics

`cpp` `games` `multiagent` `python` `reinforcement-learning`

## Description

Open Spiel is a research library and framework for reinforcement learning, planning, and multi-agent game simulation. It provides a system for representing single-agent and multi-agent games across zero-sum, cooperative, and imperfect information scenarios.

The project utilizes a standardized abstract game interface to decouple game logic from algorithms, allowing agents to run across different game types. It implements performance-critical logic in C++ with Python bindings and uses deterministic seeded simulation to ensure reproducibility for research benchmarking.

The framework covers a broad range of capabilities including computational search and planning algorithms, multi-agent reinforcement learning, and game theory research. It also includes tools for learning dynamics analysis to track agent behavior and calculate evaluation metrics.

## Tags

### Game Development

- [Game Simulation Environments](https://awesome-repositories.com/f/game-development/game-simulation-environments.md) — Implements a system for simulating single-agent and multi-agent games for reinforcement learning and behavioral research. ([source](https://cdn.jsdelivr.net/gh/google-deepmind/open_spiel@master/README.md))

### Artificial Intelligence & ML

- [Game Search and Planning](https://awesome-repositories.com/f/artificial-intelligence-ml/game-search-and-planning.md) — Applies computational search and planning techniques to identify the best sequence of moves in complex game states.
- [Game Theory Programming](https://awesome-repositories.com/f/artificial-intelligence-ml/game-theory-programming.md) — Implements computational models for zero-sum, cooperative, and imperfect information games to study strategic decision making.
- [Reinforcement Learning Simulators](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-algorithms/reinforcement-learning-simulators.md) — Provides a framework for running and reproducing reinforcement learning and search algorithms in controlled game environments. ([source](https://cdn.jsdelivr.net/gh/google-deepmind/open_spiel@master/README.md))
- [Reinforcement Learning Research Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-research-frameworks.md) — Provides a comprehensive framework for prototyping and evaluating reinforcement learning and search algorithms across game environments.
- [Multi-Agent Training](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-training/multi-agent-training.md) — Provides tools for training and evaluating agents that interact in shared environments through competition or cooperation.
- [Game Logic Decouplers](https://awesome-repositories.com/f/artificial-intelligence-ml/feature-stores/environment-separation/training-serving-environment-decoupling/game-logic-decouplers.md) — Ships a standardized API layer that separates agent logic from game mechanics to support diverse game types.
- [Game State Feature Encoding](https://awesome-repositories.com/f/artificial-intelligence-ml/game-state-feature-encoding.md) — Encodes game history and board states into numerical tensors for use in neural networks.
- [Machine Learning Evaluation](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-evaluation-analysis/machine-learning-evaluation.md) — Ships tools for calculating evaluation metrics and tracking agent behavior to identify performance trends during learning. ([source](https://cdn.jsdelivr.net/gh/google-deepmind/open_spiel@master/README.md))
- [Reinforcement Learning Algorithm Analyzers](https://awesome-repositories.com/f/artificial-intelligence-ml/reinforcement-learning-algorithms/reinforcement-learning-algorithm-analyzers.md) — Includes tools for comparing the performance and convergence of different learning algorithms using standardized metrics.

### Part of an Awesome List

- [Research Libraries](https://awesome-repositories.com/f/awesome-lists/ai/research-libraries.md) — Provides a research library of planning algorithms and evaluation metrics to analyze agent learning dynamics.

### Programming Languages & Runtimes

- [Algorithm Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/algorithm-implementations.md) — Provides a library of decoupled search and learning algorithm implementations that interact with game environments.
- [Python-C++ Bindings](https://awesome-repositories.com/f/programming-languages-runtimes/python-c-bindings.md) — Utilizes C++ wrappers to expose performance-critical game logic to Python for efficient simulation.
