#minimax #game #combinatorial-game

game-solver

Solve any combinatorial game

1 unstable release

0.1.0 Aug 3, 2023

#3 in #minimax

MIT/Apache

11KB
106 lines

game-solver

solve any sequential game (currently only works with combinatorial games, or 2-player perfect-information sequential games)

Features

Optimization Tips

Move Ordering

This is arguably the most important. Making sure your Game#possible_moves function guesses what the best moves are first can save a lot of time on alpha-beta pruning and iterative deepening.

Efficient Bitboards

Use efficient bitboards - you can look at the examples for inspiration, but make sure your board representation is fast, and preferably doesn't need allocation.

Credits

A lot of the algorithms have been inspired by Pascal Pons's excellent blog and the general Chessprogramming wiki.

Future Plans (Contributions Welcome!)

  • Game Tree Visualization
  • Parallelization as a feature
  • 2+ player games (multiple agents w/ minimax instead of negamax)
  • Non-perfect information games
    • Games that involve chance

No runtime deps