Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate Stockfish integration #10

Closed
nelson137 opened this issue Feb 14, 2023 · 1 comment
Closed

Investigate Stockfish integration #10

nelson137 opened this issue Feb 14, 2023 · 1 comment
Labels
E-feature ✨ Enhancement: new feature or enhancement F-ai Feature: AI (Stockfish) M-computer Game Mode: computer
Milestone

Comments

@nelson137
Copy link
Owner

nelson137 commented Feb 14, 2023

Add a way to play against Stockfish.

Investigate the position command:

  • Do we need to send the full move list each time? position startpos moves <MOVES...>
  • Can we just send a FEN? position fen <FEN> [moves]
    • The UCI docs seem to indicate that moves is required for the command

Stockfish communication

UCI documentation

Python implementation:

@nelson137 nelson137 added E-feature ✨ Enhancement: new feature or enhancement C-gameplay F-ai Feature: AI (Stockfish) labels Feb 14, 2023
@nelson137 nelson137 added this to the Stockfish milestone Feb 14, 2023
@nelson137 nelson137 added M-computer Game Mode: computer and removed C-gameplay labels Mar 31, 2023
@nelson137 nelson137 changed the title Add Play Computer game mode Investigate Stockfish integration Nov 28, 2023
@nelson137
Copy link
Owner Author

nelson137 commented Nov 28, 2023

  • Build script downloads Stockfish source code and compiles it
  • Stockfish executable is embedded in the game executable
  • On launch, the game installs Stockfish in <OS local config dir>/gambit/ if it doesn't already exist
  • Implement communication with Stockfish process that is easily extensible
  • For now, Stockfish plays as black

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-feature ✨ Enhancement: new feature or enhancement F-ai Feature: AI (Stockfish) M-computer Game Mode: computer
Projects
Status: Done
Development

No branches or pull requests

1 participant