GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Chess Programming Wiki
  • All pages
  • Other namespaces
  • Categories
  • Credits

This view

  • Original page
  • New address

GeezerVison is showing chessprogramming.org — ChessCore - Chess Programming Wiki

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

  • Adam Berent (2014). Guide to Programming a Chess Engine. pdf

Forum Posts

  • New Member Introduction by Adam Berent, CCC, July 19, 2009
  • I need help, performance wall! by Adam Berent, CCC, October 21, 2009
  • 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


  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.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.