ChessCore

Home * Engines * ChessCore



ChessCore, (ChessBin.com) a chess engine by Adam Berent, written in C#. The ChessBin.com chess engine was documented in a blog format, and has been converted to cross-platform .NET Core dubbed ChessCore, open source under the MIT License published on GitHub. The program makes heavy use of the .NET Core garbage collector (GC) and is mentioned as buggy in Ron Murawski's engine list.

=Evaluate Moves= One sample of ChessCore's extensive GC usage demonstrates its Alpha-Beta search - at each node, it allocates the move list and each generated move on the heap : For some reason, internal class position encapsulates the move. private static List EvaluateMoves(Board examineBoard, byte depth) { ... List positions = new List; for (byte x = 0; x < 64; x++) { ... Piece piece = examineBoard.Squares[x].Piece; ... continue if empty or opponent piece foreach (byte dst in piece.ValidMoves) { ... Position move = new Position(x, dst); ... Score move, killers, etc .. positions.Add(move); } }  return positions; } =Forum Posts=
 * ChessBin 00.59 by Harun Taner, CCC, December 28, 2009

=External Links=
 * GitHub - 3583Bytes/ChessCore: Chess Engine Implemented in .net core
 * Chess – Adam Berent
 * Computer Chess – Adam Berent
 * Computer Chess Information and Resources (Wayback Machine)

=References= Up one level