About this project

OpenSpiel is a research framework from DeepMind for reinforcement learning and search/planning in games. It provides a collection of game environments and learning algorithms intended for general game-theoretic research. The framework covers a broad range of game types: n-player (single- and multi-agent), zero-sum, cooperative and general-sum, one-shot and sequential, strictly turn-taking and simultaneous-move, and both perfect and imperfect information games. It also includes traditional multiagent environments such as partially and fully observable grid worlds and social dilemmas. Games are represented as procedural extensive-form games with some natural extensions. The core API and games are implemented in C++ and exposed to Python; algorithms and tools are written in both C++ and Python. OpenSpiel also ships tools for analyzing learning dynamics and common evaluation metrics. Documentation covers installation (Linux, macOS, and separate Windows instructions), an introduction, API overview and first example, API reference, overviews of implemented games and algorithms, a developer guide, and guidance on using OpenSpiel as a C++ library. Tutorials and Colab notebooks are available, including an install notebook and walkthroughs on the core API, replicator dynamics, imperfect information games, and implementing CFR and REINFORCE on Kuhn poker, Leduc poker, and Goofspiel. The project is described in an arXiv paper and uses semantic versioning.