User Interface

8.3 User Interface

DokChess itself has no graphical user interface. It interacts via the XBoard protocol with the outside world (→ Decision 9.1 “How does the engine communicate with the outside world?”).

The XBoard protocol is text-based. If you have mastered the main commands (see Figure …) starting DokChess in a command line (Unix shell, Windows command prompt, …) enables you to interact with the engine. The table below shows a sample dialog, all commands are terminated with a new line). By default the engine plays black. You can change this with the “white” command of XBoard.

Client → DokChess DokChess → Client Comments
xboard   client wants to use the XBoard-Protocol (required since engines partly understand other, sometimes even multiple protocols)
  (new line)
protover 2   protocol version 2
  feature done=1 line by line notification of additional features of the engine (here: none)
e2e4   white plays pawn e2-e42
  move b8c6 black (DokChess) plays knight b8-c6
quit   client ends the game (DokChess terminates)

Table: Example communication bewtween a client and DokChess (XBoard)

Mann+2009 describes the protocol itself in detail. In DokChess the Text UI subsystem is responsible for the protocol implementation (→ Building Block View 5.2).

A more typical use of DokChess is a graphical chess frontend like Arena (see image below). It accepts the moves of the opponent in a comfortable interface, passes them to DokChess in the form of XBoard commands like in the table above (column “Client → DokChess”) and translates the answers (column “DokChess → Client”) graphically.

DokChess combined with the Arena chess frontend under Windows Fig.: DokChess combined with the Arena chess frontend under Windows