Running multiple games in a tournament between agents

The evaluation.RunGames class provides a convenient way to run a tournament to determine win rates across different agents for a game. Full details here. This allows you to specify:

  • the game
  • the number of players
  • the directory containing a set of JSON files, one for each of the agents to be included in the tournament. Details here
  • whether to run in ‘exhaustive’ or ‘random’ mode. The former runs a number of games for every possible player combination across every possible position. The latter runs a total number of games, randomising the players (and their positions) in each - it is more tractable for larger numbers of players, and/or if each game takes some time.
  • a set of Metrics to report interesting data on the games run (see Metric Reporting).

Running one Game with a GUI

The best way to run a single game is to run the gui.Frontend main method. This provides a rough-and-ready GUI to select one of the implemented games and run it with (or without) a GUI if implemented. If watching a game between agents, then this can be slowed down (by setting the pause between frames), and can be Paused/Resumed as required.

Note that for some games this needs to be run somewhere with a data directory containing any game-specific GUI graphical assets or json configuration files.