An ongoing project to create a chess engine that I can't beat.
-
game implementation
-
create board
- what is best way to create board
- how to represent light vs dark squares, or is that necessary on the back end
-
create pieces
- pawn
- knight
- bishop
- rook
-
is move valid?
- king unable to move through check
- pieces unable to move over each other w exception of knight
- special cases
- castling
- en passant
-
check for win conditions
- stalemate
- draw
- checkmate
-
-
implementing a gui
-
additional features to implement
- optional timed game
- move log and ability to save games
- new game function
-
connecting to outside data sets
- is there an opening library?
- famous saved games
-
simple chess AI
- move generation
- board evaluation
- minimax
- alpha and beta pruning