WinBoard / XBoard 4.4.0 features ported from Winboard_x

New features

Engine-game adjudication

To prevent games dragging on forever when neither of the engines wants to settle for a draw, games can be aborted (adjudicated draw) after a certain number of moves. Games can also be adjudiated win or loss when both engines agree that the score is above a certain value for one of them, for 3 moves in a row. To make this work, both engines should use the standard soreing convention (own point of view); engines that don't can be corrected through the use of the boolean options -first/secondScoreAbsolute.

It is also possible to adjudicate engine-engine games manually, through the Action menu, as draw or win for white or black.

Using arbitrary bitmaps for board squares

Winboard_x allows you to make the board look any way you want by using arbitrary bitmaps to cut the squares from. White and black squares are cut from independent files. The -lite/darkBackTextureFile options can specify these bitmaps files, while -lite/darkBackTextureMode options control how the orientation of the cut-out squares is randomized to suggest larger variety. The screenshot shows a board with a wood texture made this way.

Line gap and arrow highlighting

The rather heavy black lines used by WinBoard for highlighting moves can interfere badly with the aesthetic effect of the textures; An option -overrideLineGap is therefore provided to overrule the default line width, and set it to very narrow or completely absent. This again makes it very difficult or impossible to see the square highlights, so an option -highLigtMovesWithArrow is supplied as an alternative highlight method.

Using true-type fonts to define the pieces

If you are tired of the built-in bitmaps, you can use a chess font to define alternative piece symbols. As true-type fonts are scalable, this in principle works for all board sizes with a single font. (Except that for very small size the result is not pretty, so Winboard_x does not allow it below size petite.) The above screenshot shows pieces made by using the ChessMark font (obtained from enpassant.dk).

Engine scores saved in the PGN file

Winboard_x captures the scores and depth reported in engine thinking output, for inclusion in the PGN file under control by the option -pgnExtendedInfo). Obviously this requires the engine to send thinking output, even when a human playing it would prefer not to see it above the board. So the option -showThinking can no longer be used to suppress the output. For that reason a new option -hideThinkingFromHuman is provided, which allows you to suppress the displaying of the info, but not the sending.

Out-of-book info in engine games

With an option -outOfBookInfoInPGN you can control the inclusion of an 'Annotator' tag in the PGN, which will report the score at the first move where the engine was reporting a search depth. (Presumably this was where it got out of book.) This allows you to easily see whether the engine was unfairly treated by giving it a bad opening line.

Three Auxiliary Windows

The engine-output window
The engine-output window is the most complex auxiliary window of all. It can consist of two panes (one for each engine), where it displays the thinking output of the engine. Above those the name of the engine is printed, and icons to indicate the color they play, and what they are doing: thinking, pondering or analyzing. It also prints the engine search speed, in nodes per second. When 'periodic updates' is enabled, it also displays the current move, end move count.
The evaluation graph
A second auxiliary window is the Evaluation Graph. This displays the engine scores as a histogram when space permits, and as a line graph otherwise. Two lines of user-configurable color do depict the score evolution of the two players. Clicking on a point in the graph fast-forwards the game to the corresponding position.
The move-history window
An auxiliary window is supplied to show the move history as free-format SAN. Double-clicking on a move would fast-forward the game to the position where it was played. An option -extraInfoInMoveHistory controls if score/depth info is displayed as comment behind the moves.

Glueing the windows together

The three auxiliary windows can be independently sized and positioned. But if they touch each other, or the main window, they will 'snap' together. If you then move the main window, the other windows will follow it, like the whole conglomerate forms a single window. This behavior is controlled by the option -stickyWindows.

Configuring and selecting game-list headers

The header line that appears in the game list for each game can now be composed by the user from the PGN tags. A new menu dialog allows him to pick the tags he likes, and sort them in any desired order. This order will be stored in the settings file as the option -gameListTags, where each tag is encoded by a single letter.

Another novelty is that there now is a 'Filter' field at the bottom of the Game List window. If you type a text there, only game headers containing that text as a sub-string will be displayed in the game list. This allows you, for instance, to select the games of a single player from a PGN with tourney results, or all games that ended in a draw.

Pasting games and positions with Ctrl-V

In Winboard_x the standard 'paste' command Ctrl-V can be used to paste both games and positions into the board, as it will be obvious which of the two is currently on the clipboard.

Shuffling the starting position of Chess960

In local mode WinBoard cannot count on an ICS to generate a starting position for him. An item 'New FRC Game' in the file menu now pops up a dialog, where the user can specify how he wants WinBoard to generate the opening position (a new randomly picked position or every game, or the same position for each game, picked randomly once or specified by the user by number.)

Overview of new command-line options

Below follow tables that list the new features, the command-line option needed to control them, and if there is a menu provided that can switch the option while WinBoard is running (command-line options exert their effect only at startup).

ENGINE-ENGINE ADJUDICATION OPTIONS
command-line option description menu
-adjudicateLossThreshold 0 (*) adjudicates engine-engine game based on score Options -> Engine...
-adjudicateDrawMoves 0 (*) adjudicate draw when game lasts too long Options -> Engine..
-firstScoreAbs false
-secondScoreAbs false
Engine indicates score for white, even when playing black
- Adjudicate the game in progress as win to white, win to black, or draw Action -> Adjudicate to White
Action -> Adjudicate to Black
Action -> Adjudicate Draw
TIME-CONTROL AND TIMING OPTIONS
-delayBeforeQuit 0 (*)
-delayAfterQuit 0 (*)
timing parameter specifying how to terminate the engine processes -
DISPLAY-LOOK OPTIONS
command-line option description menu
-liteBackTextureFile "" (*)
-darkBackTextureFile "" (*)
-liteBackTextureMode 1 (*)
-darkBackTextureMode 1 (*)
Allows you to use any bitmap picture for displaying the board square -
-renderPiecesWithFont "" (*) specifies a true-type Chess font to be used for piece symbols -
-fontPieceToCharTable "" (*) specifies which font character to use for the various piece types -
-overrideLineGap 1 (*) controls the width of the black grid lines between squares -
-fontPieceBackColorWhite #0 (*)
-fontPieceForeColorWhite #0 (*)
-fontPieceBackColorBlack #0 (*)
-fontPieceForeColorBlack #0 (*)
control piece colors in font-based rendering -
-fontPieceSize 80 (*) tunes the size of pieces in font-based rendering (% of square size) -
-highlightMoveWithArrow false (*) draws a big arrow to indicate the move last played Options -> General...
-highlightArrowColor #FFFF80 (*) controls the color of the highlight arrow -
(UCI) ENGINE OPTIONS
command-line option description menu
-polyglotDir "" (*) tells WinBoard where you installed Polyglot, for automatic invocation with UCI engines Options -> UCI...
-polyglotBook "" (*) tells WinBoard which opening book it should use, or should make Polyglot use. Options -> UCI...
-usePolyglotBook false (*) turns the use of the Polygot book on or off Options -> UCI...
-defaultPathEGTB "c:\egtb" (*) folder where to find end-game tables Options -> UCI...
-defaultCacheSizeEGTB 4 (*) specifies the cache size for UCI engines Options -> UCI...
-defaultHashSize 64 (*) specifies the size of the main hash table for UCI engines and WinBoard engines implementing the memory command Options -> UCI...
-firstIsUCI false
-secondIsUCI false
-fUCI
-sUCI
tells WinBoard the corresponding engine should be run through Polyglot -
-firstHasOwnBookUCI true
-secondHasOwnBookUCI true
-fNoOwnBookUCI true
-sNoOwnBookUCI true
tells WinBoard (or Polyglot) if the engine should use its own opening book Options -> UCI...
CHESS-VARIANT OPTIONS
command-line option description menu
-defaultFrcOpening -1 allows you to play from a specific opening shuffle, or make a new shuffle each game File -> New FRC Game...
PGN FILE OPTIONS
-pgnExtendedInfo false (*) save engine output (depth, score time) in PGN Options->General...
-pgnEventHeader
"Computer Chess Game" (*)
specify the event for the PGN event tag -
-saveOutOfBookInfo true (*) include an 'annotator' tag in the PGN file
-hideThinkingFromHuman false (*) suppresses the engine thinking output in the display, without the need to switch it off (so it can still appear in the PGN file) Options -> General...
USER-INTERFACE OPTIONS AND WINDOW CONTROL
command-line option description menu
-moveHistoryUp true (*)
-moveHistoryX 0 (*)
-moveHistoryY 0 (*)
-moveHistoryW 0 (*)
-moveHistoryH 0 (*)
controls opening, placement and size of a window containing the moves of the current game (new in 4.4 is that all X and Y coordinates of auxiliary windows are stored relative to the main window) Mode -> Show Move History (x)
-evalGraphUp true (*)
-evalGraphX 0 (*)
-evalGraphY 0 (*)
-evalGraphW 0 (*)
-evalGraphH 0 (*)
controls opening, placement and size of a window containing a graph of the evaluation score of the engine(s) as a function of move number of the current game Mode -> Show Evaluation Graph
-engineOutputUp true (*)
-engineOutputX 0 (*)
-engineOutputY 0 (*)
-engineOutputW 0 (*)
-engineOutputH 0 (*)
controls opening, placement and size of a window containing the thinking output of the engine(s) Mode -> Show Engine Output (x)
-stickyWindows true (*) make the various windows snap onto each other, and stick together -
-showEvalInMoveHistory true (*) depth/score info of the engine is included as comments in the move history window Options -> General...
-evalHistColorWhite #FFFFB0 (*)
-evalHistColorBlack #AD5D3D (*)
determines the color of the eval-score comments in the move-history window -
-autoDisplayComment true (*) causes a window for displaying PGN comments to pop up automatically when such a comment is encountered -
-autoDisplayTags true (*) causes a window with PGN tags to be displayed as soon as a PGN file is loaded -
-gameListTags "eprd" (*) specifies the PGN tags that should be displayed in the game list Options -> Game List...
MISCELLANEOUS
command-line option description menu
-debugFile "winboard.debug"
-nameOfDebugFile "winboard.debug"
allows you to specify an alternative name for saving the debug information -
-defaultFrcPosition -1 (*) specify the number of the starting position in shuffle Chess variants File -> New Shuffle Game...
- display only those lines in the game list that contain a given string in Game-List window

The value with which the option is listed is the default value. If it is false or true, it is a Boolean option, a number implies an integer option. A value starting with # indicates an RGB color indication in hexadecimal notation. Options the settings of which are saved into the winboard.ini file are marked with (*).