We will present the development process of a chess engine. Over the last few
decades, the level of chess theory and tactics has increased significantly. A
major reason for this progress are chess engines. We will present different
representations of pieces and positions in computer chess and what modern
programs use. We will then turn to the method of move generation. We will
continue by presenting the methods of making and unmaking moves. We
will discuss various search algorithms and their use. We will present different
heuristics for evaluating positions. We will also discuss some search optimizations that speed up the program. We will also show the communication
interface used by chess engines and other programs for communication with
one another. We will present the results of tests showing that our program is
comparable to Stockfish 18 limited to a playing strength of 2300.
|