WinBoard / XBoard 4.4.0 features ported from Winboard_x
- New features
- Adjudicating engine-engine games
- Using bitmaps for board textures
- enhanced move highlighting (with arrows)
- Using piece symbols from a chess font
- Score and search depth in the PGN file
- Did the engine get "out of book" well?
- Move history window
- Evaluation histogram window
- Engine output window
- Making four windows behave as one
- A customizable game list
- FRC (Fisher Random Chess, aka Chess960)
- Paste anything with Ctrl-V
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).
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 |
-delayBeforeQuit 0 (*)
-delayAfterQuit 0 (*) | timing parameter specifying how to terminate the engine processes | - |
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 | - |
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... |
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... |
-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... |
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... |
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 (*).