This is our first release since we initially released OpenSpiel in August 2019.
The main purpose is to provide a stable version for anybody currently using the code base for research, or any other form of dependency, as we are planning a number of changes that could be disruptive. Please see 166 and 238 for details.
Changes since initial release
General support:
- MacOS
- Windows (via Subsystem for Linux)
- Docker install
- C++17 (from C++11)
- Clang (from g++)
- Julia API
- Colab
- pip installable package
New Algorithms
- AlphaZero (Python, C++)
- CFR-BR (C++, Python)
- CorrDist (analogues to NashConv for correlated equilibria, C++)
- Discounted CFR (Python)
- Double-Oracle solver
- General-sum Nash solver, iterated dominance
- Information Set MCTS (IS-MCTS)
- Linear CFR (Python)
- Outcome Sampling MCCFR (C++)
- PSRO v2 (with Deep RL Oracles)
New Games
- Cliff Walking
- Coordinated Matching Pennies
- Cursor Go
- Deep Sea
- Gambit .efg parser
- Gin Rummy
- GridMaze (Swift)
- Hanabi (via Hanabi Learning Environment)
- Hold’em Poker (via ACPC wrapper)
- Laser Tag
- Negotiation
- Othello
- Quoridor
- Skat
- Texas Hold’em (Swift)
- Tiny Hanabi
- Trade Comm
Misc. functionality
- Human player bot
- TF and Batch Trajectories (fast C++ inference via tensorflow)
- Player type, rather than int
- Visualization of game trees via graphviz
- Ludii wrapper
- MCTS-Solver
- Gradient clipping in policy gradients
- Multiplayer MCTS
- Serialization for games, states, game types
- Python-only games
- Utils library (json, logging, stats)
- Gambit .efg writers (C++, Python)
Removed:
- Python 2 support
In addition: many fixes.
Thank you to all our contributors!
- https://github.com/deepmind/open_spiel/blob/master/docs/authors.md
- https://github.com/deepmind/open_spiel/graphs/contributors