Chess Engine Communication Protocol
Encyclopedia
The Chess Engine Communication Protocol is an open communication protocol that enables a chess engine to communicate with its user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

.

It was designed by Tim Mann, the author of XBoard
XBoard
XBoard and WinBoard are free graphical user interface clients. Originally developed by Tim Mann, these programs are compatible with various chess engines that support the Chess Engine Communication Protocol such as GNU Chess...

. It was initially intended to only communicate with the GNU Chess
GNU Chess
GNU Chess is a computer program which plays a full game of chess against a human or other computer program.GNU Chess is one of the oldest computer chess programs for Unix-based computers and one of the earliest available with full source code....

 engine which only accepted text input and produced text output. In fact, the first version of this protocol is nothing more than the behavior of GNU Chess's command line interface. XBoard, using the protocol, "wrapped around" GNU Chess by feeding the engine the expected text input, parsing the text output, and presenting this information on a graphical chess board.

Since its early days, the protocol has grown more robust and now supports standard chess games along with various chess variants including Wild Castle, No Castle, Fischer Random
Chess960
Chess960 is a chess variant invented and advocated by former World Chess Champion Bobby Fischer, originally announced on June 19, 1996 in Buenos Aires, Argentina. It employs the same board and pieces as standard chess, but the starting position of the pieces is randomized along the players' home...

, Bughouse
Bughouse chess
Bughouse chess is a popular chess variant played on two chessboards by four players in teams of two...

, Crazyhouse
Crazyhouse
Crazyhouse is a chess variant similar to bughouse chess, but with only two players. It effectively incorporates a rule in shogi , in which a player can introduce a captured piece back to the board as his own....

, Losers, Suicide, Give Away
Antichess
Antichess, also called losing chess, loser's chess, zero chess, giveaway chess, suicide chess, take-me chess or reverse chess is a chess variant in which the objective of the participants is to get all of their pieces captured. The most widely played variation, as described in the book Popular...

, Two Kings, Kriegspiel
Kriegspiel (chess)
Kriegspiel is a chess variant invented by Henry Michael Temple in 1899 and based upon the original Kriegsspiel developed by Georg von Rassewitz in 1812. In this game each player can see their own pieces, but not those of their opponent...

, Atomic
Atomic chess
Atomic chess is a chess variant. While the other rules of chess apply fully, all captures result in an atomic explosion. This means that the surrounding pieces — not including pawns — will be taken off the board as well.- The rules :...

, and Three Check
Three checks chess
Three-check chess is a variation of chess, in which a player wins if he checks his opponent three times. Anatoly Karpov is said to excel in this chess variant ....

. The protocol also supports three different styles of time control
Time control
A time control is a mechanism in the tournament play of almost all two-player board games so that each round of the match can finish in a timely way and the tournament can proceed. Time controls are typically enforced by means of a game clock...

: conventional clocks, incremental clocks (Fischer Delay), and exact seconds per move. , there are more than 300 chess engines (including GNU Chess and Crafty
Crafty
Crafty is a chess program written by UAB professor Dr. Robert Hyatt. It is directly derived from Cray Blitz, winner of the 1983 and 1986 World Computer Chess Championships....

) and 30 chess interface programs (including XBoard itself and eboard) that support this protocol with varying degrees of compatibility.

work is being done to update the Chess Engine Communication Protocol with some convenient features such as the ability to set memory usage and the number of search threads (the latter is essential for Symmetric multiprocessing
Symmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...

architectures).

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK