Games

Game Reasoning Arena supports multiple classic games for AI agent training and evaluation.

Supported Games

Connect Four

A classic connection game where players drop colored discs into a grid, trying to connect four in a row.

  • Players: 2

  • State space: Medium complexity

  • Action space: 7 possible columns

  • Game length: Variable (typically 10-42 moves)

env = EnvInitializer.create_env("connect_four")

Tic-Tac-Toe

The classic 3x3 grid game where players try to get three in a row.

  • Players: 2

  • State space: Small (362,880 possible states)

  • Action space: 9 possible positions

  • Game length: 5-9 moves

env = EnvInitializer.create_env("tic_tac_toe")

Kuhn Poker

A simplified poker variant that’s perfect for AI research.

  • Players: 2

  • State space: Small but with hidden information

  • Action space: Fold, Call, or Bet

  • Game length: 1-2 rounds

env = EnvInitializer.create_env("kuhn_poker")

Prisoner’s Dilemma (Matrix Form)

Classic two-player dilemma game in matrix form, modeling cooperation vs defection.

  • Players: 2

  • State space: 2x2 matrix

  • Action space: 2 (Cooperate, Defect)

  • Game length: 1 round

env = EnvInitializer.create_env("prisoners_dilemma")

Matrix Prisoner’s Dilemma

Matrix representation of the prisoner’s dilemma, useful for payoff analysis and agent strategy.

  • Players: 2

  • State space: 2x2 matrix

  • Action space: 2 (Cooperate, Defect)

  • Game length: 1 round

env = EnvInitializer.create_env("matrix_pd")

Matching Pennies

Zero-sum game where each player chooses heads or tails; one wins if the choices match, the other if they differ.

  • Players: 2

  • State space: 2x2 matrix

  • Action space: 2 (Heads, Tails)

  • Game length: 1 round

env = EnvInitializer.create_env("matching_pennies")

Matrix Rock-Paper-Scissors

A strategic variant of rock-paper-scissors with a matrix representation.

  • Players: 2

  • State space: 3x3 matrix

  • Action space: 3 (Rock, Paper, Scissors)

  • Game length: 1 round

env = EnvInitializer.create_env("matrix_rps")

Hex

Abstract connection game played on a hexagonal grid. Players aim to connect opposite sides of the board.

  • Players: 2

  • State space: Large (depends on board size)

  • Action space: Number of empty hexes

  • Game length: Variable (until one player connects their sides)

env = EnvInitializer.create_env("hex")

Chess

Classic 8x8 board game of strategy and tactics, featuring a variety of pieces and complex rules.

  • Players: 2

  • State space: Extremely large

  • Action space: Varies by position (moves, captures, special moves)

  • Game length: Variable (typically 20-60 moves)

env = EnvInitializer.create_env("chess")

Game Properties

Each game environment provides:

  • State representation: Current game state

  • Legal actions: Available moves for the current player

  • Game termination: Win/loss/draw detection

  • Reward structure: Scoring system for agent training

Adding New Games

To add support for a new game, see the Contributing guide for details on implementing the game interface.