Home * Engines * Chenard

an open source chess program by Don Cross written in C++. Its development already started in 1993, and it is maintained and improved until the present. The source code of the didactic program is well structured and documented, is in the public domain with attribution of author's name and web address required in distributed works [1]. A Windows version comes with an own GUI, other versions for Windows and Linux support the Chess Engine Communication Protocol aka WinBoard or XBoard, its own native command line interface, or more recently, teletype chess.
Early Teletype [2]


Chenard provides a genetic algorithm framework for evolving move ordering and evaluation heuristics. The board is represented by a 12x12 mailbox with disjoint piece flag encoding. Since Chenard isn't negamaxing, search, evaluation as well as move generation routines are implemented separately for White and Black.


Chenard's search is pure alpha-beta with transpostion table, despite quiescence search and its top layer with checks, without any selectivity in form of extensions, forward pruning and reductions. The root search implements iterative deepening without aspiration windows. The depth parameter, suited to index a ply stack, starts at the root with zero and is incremented through the indirect recursive function calls until the the maximum depth, dubbed level, is reached and quiescence is called [3].


The evaluation looks sophisticated considering a bunch of features, many part of Chenard's genes. Beside the aggregation of material, imbalance terms and piece-square tables, which decides on an early exit aka lazy evaluation, Chenard looks at immobile and connected pieces, along with various piece specific evaluation features, and further takes pawn structure with focus on passed pawns, king safety, and even tactical motives such as pinned pieces and forks into account. Beside, Chenard has a mop-up evaluation for late endgames like KBNK.


Chenard has its own 4 man depth to mate endgame databases, generator and probing code [4]. The file endgame.zip contains KQKR, KQKB, KQKN, KPKN, KPKB [5].

Screen Shot

Chenard's Windows GUI [6]

Web Edition

In 2005 [7] Don Cross ported Chenard to Java to learn how to write Java applets which run in a Java-enabled web browser [8].

Forum Posts

External Links

Chess Program



  1. ^ Chenard - a freeware chess program by Don Cross
  2. ^ A teletypewriter in 1930, Photo by Willi Illger, Bundesarchiv, Bild 183-2008-0516-500, CC BY-SA 3.0 DE, Wikimedia Commons, Fernschreiber - Wikipedia.de
  3. ^ chenard/search.cpp at master · cosinekitty/chenard · GitHub
  4. ^ chenard/egdbase.cpp at master · cosinekitty/chenard · GitHub
  5. ^ Chenard revision history
  6. ^ Chenard - a freeware chess program by Don Cross
  7. ^ Chenard Web Edition by Don Cross - revision history
  8. ^ Chenard Web Edition by Don Cross

What links here?

Up one Level