OpenSpiel is a framework for reinforcement learning research in games that provides environments and algorithms for studying general reinforcement learning and search or planning in game settings.
The tool addresses the need for a unified platform to study learning and decision-making in diverse game types. It supports n-player scenarios ranging from single-agent to multi-agent settings, handles zero-sum, cooperative, and general-sum games, and accommodates both turn-taking and simultaneous-move mechanics with perfect or imperfect information. Beyond traditional games, it includes multiagent environments like grid worlds and social dilemmas. Games are represented as procedural extensive-form games with extensions, with the core API and game implementations in C++ exposed to Python, while algorithms and analysis tools are written in both languages.
Researchers studying game-theoretic learning dynamics, multiagent reinforcement learning, or game-playing algorithms should consider this tool. It suits projects requiring a standardized game environment library with built-in evaluation metrics and learning dynamics analysis. The framework is particularly valuable for those needing to work across multiple game types without building custom environments, and it provides accessible entry points through Colaboratory notebooks and tutorials covering core API usage and algorithm implementation on specific games like Kuhn poker and Leduc poker.
The project maintains active documentation including API references, game and algorithm overviews, and a developer guide. Tutorial materials with video recordings and accompanying slides are available for learning the framework's concepts and core API. The codebase supports both Linux and macOS with separate Windows installation instructions, and the project uses semantic versioning for releases.