game-solver

Crates.iogame-solver
lib.rsgame-solver
version0.1.0
sourcesrc
created_at2023-08-03 00:43:02.437043
updated_at2023-08-03 00:43:02.437043
descriptionSolve any combinatorial game
homepage
repositoryhttps://github.com/LeoDog896/game-solver
max_upload_size
id933274
size32,766
Tristan F. (LeoDog896)

documentation

README

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
Commit count: 139

cargo fmt