Skip to content

antoniopelusi/GitChess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

/*------------------------------------------------------*\
|       _                                                |
|      (_)      ____ _ _    ____ _                       |
|     (___)    / ___(_) |_ / ___| |__   ___  ___ ___     |
|     _|_|    | |  _| | __| |   | '_ \ / _ \/ __/ __|    |
|    (_____)  | |_| | | |_| |___| | | |  __/\__ \__ \    |
|    /_____\   \____|_|\__|\____|_| |_|\___||___/___/    |
|                                                        |
|________________________________________________________|
|                                                        |
|           Antonio Pelusi              V. 1.0           |
|                                                        |
\*------------------------------------------------------*/

Just a git chess engine.

Elo: ~1900

Features:

  • bitboard board representation
  • pre-calculated attack tables
  • magic bitboards for sliding pieces
  • encoding moves as integers
  • copy/make approach for making moves
  • negamax search with alpha beta pruning
  • PV/killer/history move ordering
  • iterative deepening
  • PVS (Principle Variation Search)
  • LMR (Late Move Reduction)
  • NMP (Null Move Pruning)
  • Transposition table (20MB fixed size)
  • Material/PST (Positional Square Tables) evaluation
  • Double/isolated/passed pawns evaluation
  • Bishop & Queen mobility evaluation
  • king safety evaluation
  • UCI protocol
  • dynamic hash memory allocation
  • tapered evaluation

Links:

ChessProgramming Wiki