This is a temporary, read-only recovery of the chessprogrammingwiki while a longer-term plan is worked out. Editing is not possible right now, but will be again soon.
Chess Programming Wiki All pages Other namespaces

ChessCore

Home * Engines * ChessCore

ChessBin.com chess 1ChessBin.com chess 1


  1. Computer Chess Information and Resources (Wayback Machine)↩︎

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

Contents
  1. Evaluate Moves
  2. Publications
  3. Forum Posts
  4. External Links
  5. References

Evaluate Moves

One sample of ChessCore's extensive GC usage demonstrates its Alpha-Beta search - at each node it generates and sorts all moves (or captures in quiescence) 5, and allocates the move list and each generated move on the heap 6: For some reason, internal class position encapsulates the move.

private static List<Position> EvaluateMoves(Board examineBoard, byte depth) {
  ...
  List<Position> positions = new List<Position>();
  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;
}

Publications

Forum Posts

References

Up one level


  1. Adam Berent (2014). Guide to Programming a Chess Engine. pdf↩︎

  2. GitHub - 3583Bytes/ChessCore: Chess Engine Implemented in .net core↩︎

  3. .NET Core - Garbage Collection - Tutorialspoint↩︎

  4. Chess Engine List from Ron Murawski's Computer-Chess Wiki↩︎

  5. Re: I need help, performance wall! by Sven Schüle, CCC, October 21, 2009↩︎

  6. ChessCore/Search.cs at master · 3583Bytes/ChessCore · GitHub - private static List EvaluateMoves(Board examineBoard, byte depth)↩︎

Categories: Open Source · MIT · C sharp · WinBoard · XBoard · Android · Linux · Windows · Mac

What links here

Contributors: GerdIsenberg.