Skip to content

OpenSpiel 0.1.0

Compare
Choose a tag to compare
@lanctot lanctot released this 11 Jun 20:41
· 3423 commits to master since this release

Release 0.1.0

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!