- This is a web application that creates a chess game and then lets the user play against an intelligent engine.
- Lots of game theory and A.I research were behind the implementation of the engine, namely the Minimax Algorithm, Alpha-beta pruning, and chess opening / end-game theory.
- Create board and pieces
- Move pieces on the chess board
- Only allow legal moves
- Allow pre-moves
- Castle & Capture en-passant
- Log PGN (Portable Game Notation)
- Show captured pieces
- Calculate score difference
- Get all possible moves (search space)
- Implement MiniMax Algorithm to a certain depth:
- Implement piece value concept (Point system)
- Implement board placement concept (Piece positioning)
- Implement temporal importance (Opening vs End-game)
- Explore search space recursively
- Optimize algorithm: Alpha-beta pruning
- Make engine play best move on the board