Demo of interacting with stockfish.js engine - https://chrisroos.github.io/upgraded-waddle/?#.
- Command line chess engine
- Using it from the command line
- GUIs communicate using UCI
- stockfish.js
- UCI - Universal Chess Interface
- Opening Book - Set of initial moves in a game of chess
- White - move first
- Black - move second
- Ply
-
In two-player sequential games, a ply refers to one turn taken by one of the players.
-
8 |__|__|__|__|__|__|__|__|
7 |__|__|__|__|__|__|__|__|
6 |__|__|__|__|__|__|__|__|
5 |__|__|__|__|__|__|__|__|
4 |__|__|__|__|__|__|__|__|
3 |__|__|__|__|__|__|__|__|
2 |__|__|__|__|__|__|__|__|
1 |__|__|__|__|__|__|__|__|
a b c d e f g h
Example: "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
Note. This is the standard start position of the board
- Field 1 - state of the board
- row 1 - black - rook, knight, bishop, queen, king, bishop, knight, rook
- row 2 - black - 8 pawns
- row 3 - 8 empty squares
- row 4 - 8 empty squares
- row 5 - 8 empty squares
- row 6 - 8 empty squares
- row 7 - white - 8 pawns
- row 8 - white - rook, knight, bishop, queen, king, bishop, knight, rook
- Field 2 - next move by "w"hite or "b"lack
- Field 3 - Castling ability
- K - white can castle kingside
- Q - white can castle queenside
- k - black can castle kingside
- q - black can castle queenside
- Field 4 - En passant target square
- "-" = no en passant target square
- Field 5 - Halfmove clock
- Number of halfmoves since the last capture or pawn advance
- Field 6 - Fullmove number
- The number of the full move. It starts at 1, and is incremented after Black's move
- Protocol can be downloaded from http://www.shredderchess.com/download.html
- UCI is stateless
- State of board must be submitted as FEN or as a series of moves from the start position
- Using score to get idea of who is winning
- Contains information about how to interpret the scores from Stockfish
- Using FEN (Forsyth-Edwards Notation)
- Example: "position fen rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2"
- Use http://www.chess-poster.com/english/fen/fen_epd_viewer.htm to view this board
- Example: "position fen rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2"
- Using moves from start position
- Example: "position startpos moves e2e4 e7e5"
- White pawn ends up at e4
- Black pawn ends up at e5
- This appears to be using the Algebraic notation
- Example: "position startpos moves e2e4 e7e5"
- UCI scoring
- Chess engines appear to return score relative to player about to move
- Centipawns
- Positive value is white advantage
- Negative value is black advantage
- Analysing scores from Stockfish blog post
- James
- How to determine current state of play - hardware or image recognition
- Chris
- Stockfish (or similar) to understand current state of the game
- Ben
- Generative music