fdb9c95ceddddc211f233df82f700075869ed35a
[xboard.git] / whats_new / 4.4.0 / Winboard_x.html
1 <!--#include virtual="/server/html5-header.html" -->
2 <title>XBoard - GNU Project - Free Software Foundation - NEWS</title>
3 <!--#include virtual="/server/banner.html" -->
4 <!--#set var="article_name" value="/server/standards/boilerplate" -->
5 <!--#include virtual="/server/gnun/initial-translations-list.html" -->
6 <h2>What is new in Winboard_x?</h2>
7
8  <table cellpadding="20"><tr valign="top"><td>
9   <h4>New Features</h4>
10   <ul>
11    <li><a href="#tag-B1">Adjudicating engine-engine games</a></li>
12    <li><a href="#tag-A1">Using bitmaps for board textures</a></li>
13    <li><a href="#tag-A3">enhanced move highlighting (with arrows)</a></li>
14    <li><a href="#tag-A2">Using piece symbols from a chess font</a></li>
15    <li><a href="#tag-D1">Score and search depth in the PGN file</a></li>
16    <li><a href="#tag-D2">Did the engine get "out of book" well?</a></li>
17    <li><a href="#tag-C1">Move history window</a></li>
18    <li><a href="#tag-C2">Evaluation histogram window</a></li>
19    <li><a href="#tag-C3">Engine output window</a></li>
20    <li><a href="#tag-C4">Making four windows behave as one</a></li>
21    <li><a href="#tag-C5">A customizable game list</a></li>
22    <li><a href="#tag-B2">FRC (Fisher Random Chess, aka Chess960)</a></li>
23    <li><a href="#tag-A4">Paste anything with Ctrl-V</a></li>
24    <li><a href="#tag-E1">Overview of new options</a></li>
25
26
27   </ul>
28  </td><td valign="top">
29   <img src="../4.5.0/winboardF.png">
30  </td><td valign="top">
31   <p>
32    <a href="WinBoardF.html">Follow-up fork (4.3)</a>
33   </p>
34
35   <p>
36    <a href="http://www.ascotti.org/programming/chess/winboard_x.htm">Original Winboard_x website</a>
37   </p>
38   <p>
39    <a href="Winboard_x.html">Preceding release (4.2.7)</a>
40   </p>
41  </td></tr></table>
42
43   <h3><a name="tag-B1">Engine-game adjudication</a></h3>
44   <p>
45    To prevent games dragging on forever when neither of the engines want to settle for a draw,
46    games can be aborted (adjudicated draw) after a ertain number of moves.
47    Games can also be adjudiated win or loss when both engines agree that the score is above a certain value
48    for one of them, for 3 moves in a row.
49    To make this work, both engines should use the standard soreing convention (own point of view);
50    engines that don't can be corrected through the use of the boolean options -first/secondScoreAbsolute.
51   </p>
52   <p>
53    It is also possible to adjudicate engine-engine games manually, through the Action menu, as draw or win for white or black.
54   </p>
55
56  <table cellpadding="20"><tr><td valign="top">
57   <h3><a name="tag-A1">Using arbitrary bitmaps for board squares</a></h3>
58   <p>
59     Winboard_x allows you to make the board look anyway you want by using arbitrary bitmaps
60     to cut the squares from. 
61     White and black squares are cut from independent files.
62     The -lite/darkBackTextureFile options can specify these bitmaps files,
63     while -lite/darkBackTextureMode options control how the orientation of the cut-out squares
64     is randomized to suggest larger variety.
65     On the right you see a board with a wood texture made this way.
66   </p>
67   <h3><a name="tag-A3">Line gap and arrow highlighting</a></h3>
68   <p>
69     The rather heavy black lines used by WinBoard for highlighting moves can interfere badly
70     with the aesthetic effect of the textures;
71     An option -overrideLineGap is therefore provided to overrule the default line width,
72     and set it to very narrow or completely absent.
73     This again makes it very difficult or impossible to see the square highlights,
74     so an option -highLigtMovesWithArrow is supplied as an alternative highlight method.
75   </p>
76   <h3><a name="tag-A2">Using true-type fonts to define the pieces</a></h3>
77   <p>
78    If you are tired of the built-in bitmaps, you can use a chess font to define alternativ piece symbols.
79    As true-type fonts are scalable, this in principle works for all board sizes with a single font.
80    (Except that for very small size the result is not pretty, so Winboard_x does not allow it below size petite.)
81    On the right you see pieces made by using the ChessMark font (obtained from enpassant.dk).
82   </p>
83  </td><td valign="top">
84   <img src="chessmark.gif">
85  </td></tr></table>
86
87  <h3><a name="tag-D1">Engine scores saved in the PGN file</a></h3>
88  <p>
89   Winboard_x captures the scores and depth reported in engine thinking output,
90   for inclusion in the PGN file under control by the option -pgnExtendedInfo). 
91   Obviously this requires the engine to send thinking output,
92   even when a human playing it would prefer not to see it above the board.
93   So the option -showThinking can no longer be used to suppress the output.
94   For that reason a new option -hideThinkingFromHuman is provided,
95   which allows you to suppress the displaying of the info, but not the sending.
96  </p>
97
98  <h3><a name="tag-D2">Out-of-book info in engine games</a></h3>
99  <p>
100   With an option -outOfBookInfoInPGN you can control the inclusion of an 'Annotator' tag in the PGN,
101   which will report the score at the first move where the engine was reporting a search depth.
102   (Presumably this was where it got out of book.)
103   This allows you to easily see whether the engine was unfairly treated by giving it a bad opening line.
104  </p>
105
106  <table cellpadding="20"><tr><td valign="top">
107   <h3>Three Auxiliary Windows</h3>
108   <img src="petite.gif">
109  </td><td valign="top">
110   <h3><a name="tag-C3">The engine-output window</a></h3>
111   <p>
112    The engine-output window is the most complex auxiliary window at all.
113    It can consist of two panes (one for each engine), where it displays the thinking output of the engine.
114    Above those the name of the engine is printed, and icons to indicate the color they play, and what they are doing:
115    thinking, pondering or analyzing.
116    It also prints the engine search speed, in nodes per second.
117    When 'periodic updates' is enabled, it also displays the current move, end move count.
118   </p>
119   <h3><a name="tag-C2">The evaluation graph</a></h3>
120   <p>
121    A second auxiliary window is the Evaluation Graph. 
122    This displays the engine scores as a histogram when space permits, and as a line graph otherwise.
123    Two lines of user-configurable color do depict the score evolution of the two players.
124    Clicking on a point in the graph fast-forwards the game to the corresponding position.
125   </p>
126   <h3><a name="tag-C1">The move-history window</a></h3>
127   <p>
128    An auxiliary window is supplied to show the move history as free-format SAN.
129    Double-clicking on a move would fast-forward the game to the position where it was played.
130    An option -extraInfoInMoveHistory controls if score/depth info is displayed as comment behind the moves.
131   </p>
132  </td></tr></table>
133
134  <h3><a name="tag-C4">Glueing the windows together</a></h3>
135  <p>
136   The three auxiliary windows can be independently sized and positioned.
137   But if they touch each other, or the main window, thew will 'snap' together.
138   If you then move the main window, the other windows will follow it,
139   like the whole conglomerate forms a single window.
140   This behavior is controlled by the option -stickyWindows.
141  </p>
142
143 <h3><a name="tag-C5">Configuring and selecting game-list headers</a></h3>
144 <table cellpadding="20"><tr><td valign="top">
145  <p>
146   The header line that appears in the game list for each game can now be composed by the user from the PGN tags.
147   A new menu dialog allows him to pick the tags he likes, and sort them in any desired order.
148   This order will be stored in the settings file as the option -gameListTags,
149   where each tag is encoded by a single letter.
150  </p>
151  <table cellpadding="20"><tr><td valign="top">
152   <img src="FilterWB.png">
153  </td><td valign="top">
154  <p>
155   Another novelty is that there now is a 'Filter' field at the bottom of the Game List window.
156   If you type a text there, only game headers containing that text as a sub-string will be displayed in the game list.
157   This allows you, for instance, to select the games of a single player from a PGN with tourney results,
158   or all games that ended in a draw.
159  </p>
160  </td></tr></table>
161 </td><td valign="top">
162  <img src="GLTagsWB.png">
163 </td></tr></table>
164
165  <h3><a name="tag-A4">Pasting games and positions with Ctrl-V</a></h3>
166  <p>
167   In Winboard_x the standard 'paste' command Ctrl-V can be used to paste both games and positions into the board,
168   as it will be obvious whih of the two is currently on the clipboard.
169  </p>
170
171 <table cellpadding="20"><tr><td valign="top">
172  <img src="Shuffle.png">
173 </td><td valign="top">
174  <h3><a name="tag-B2">Shuffling the starting position of Chess960</a></h3>
175  <p>
176   In local mode WinBoard cannot count on an ICS to generate a starting position for him.
177   An item 'New FRC Game' in the file menu now pops up a dialog,
178   where the user can specify how he wants WinBoard to generate the opening position
179   (a new randomly picked position or every game,
180    or the same position for each game, picked randomly once or specified by the user by number.)
181  </p>
182 </td></tr></table>
183
184 <h3><a name="tag-E1">Overview of new command-line options</a></h3>
185 <p>
186 Below follows a table that lists the new features, 
187 the command-line option needed to control them,
188 and if there is a menu provided that can switch the option while WinBoard is running
189 (command-line options exert their effect only at startup).
190 </p>
191 <table cellpadding="3" border="1"><tr><td width="310">
192       <h3>command-line option</h3>
193     </td><td>
194       <h3>description</h3>
195     </td><td width="250">
196       <h3>menu</h3>
197   </td></tr><tr><td>
198       
199     </td><td bgcolor="lightblue">
200       <strong>ENGINE-ENGINE ADJUDICATION OPTIONS<strong>
201     </td><td>
202       
203   </td></tr><tr><td>
204       -adjudicateLossThreshold 0 (*)
205     </td><td>
206       adjudicates engine-engine game based on score
207     </td><td>
208       Options -> Engine...
209   </td></tr><tr><td>
210       -adjudicateDrawMoves 0 (*)
211     </td><td>
212       adjudicate draw when game lasts too long
213     </td><td>
214       Options -> Engine..
215   </td></tr><tr><td>
216       -firstScoreAbs false
217       <br>
218       -secondScoreAbs false
219     </td><td>
220       Engine indicates score for white, even when playing black
221     </td><td>
222       
223   </td></tr><tr><td>
224       -
225     </td><td>
226       Adjudicate the game in progress as win to white, win to black, or draw
227     </td><td>
228       Action -> Adjudicate to White
229       <br>
230       Action -> Adjudicate to Black
231       <br>
232       Action -> Adjudicate Draw
233   </td></tr><tr><td>
234       
235     </td><td bgcolor="lightblue">
236       <strong>TIME-CONTROL AND TIMING OPTIONS</strong>
237     </td><td>
238       
239   </td></tr><tr><td>
240       -delayBeforeQuit 0 (*)
241       <br>
242       -delayAfterQuit 0 (*)
243     </td><td>
244       timing parameter specifying how to terminate the engine processes
245     </td><td>
246       -
247   </td></tr><tr><td>
248       
249     </td><td bgcolor="lightblue">
250       <strong>DISPLAY-LOOK OPTIONS</strong>
251     </td><td>
252       
253   </td></tr><tr><td>
254       -liteBackTextureFile "" (*)
255       <br>
256       -darkBackTextureFile "" (*)
257       <br>
258       -liteBackTextureMode 1 (*)
259       <br>
260       -darkBackTextureMode 1 (*)
261     </td><td>
262       Allows you to use any bitmap picture for displaying the board square
263     </td><td>
264       -
265   </td></tr><tr><td>
266       -renderPiecesWithFont "" (*)
267     </td><td>
268       specifies a true-type Chess font to be used for piece symbols
269     </td><td>
270       -
271   </td></tr><tr><td>
272       -fontPieceToCharTable "" (*)
273     </td><td>
274       specifies which font character to use for the various piece types
275     </td><td>
276       -
277   </td></tr><tr><td>
278       -overrideLineGap 1 (*)
279     </td><td>
280       controls the width of the black grid lines between squares
281     </td><td>
282       -
283   </td></tr><tr><td>
284       -fontPieceBackColorWhite #0 (*)
285       <br>
286       -fontPieceForeColorWhite #0 (*)
287       <br>
288       -fontPieceBackColorBlack #0 (*)
289       <br>
290       -fontPieceForeColorBlack #0 (*)
291     </td><td>
292       control piece colors in font-based rendering
293     </td><td>
294       -
295   </td></tr><tr><td>
296       -fontPieceSize 80 (*)
297     </td><td>
298       tunes the size of pieces in font-based rendering (% of square size)
299     </td><td>
300       -
301   </td></tr><tr><td>
302       -highlightMoveWithArrow false (*)
303     </td><td>
304       draws a big arrow to indicate the move last played
305     </td><td>
306       Options -> General...
307   </td></tr><tr><td>
308       -highlightArrowColor #FFFF80 (*)
309     </td><td>
310       controls the color of the highlight arrow
311     </td><td>
312       -
313   </td></tr><tr><td>
314       
315     </td><td bgcolor="lightblue">
316       <strong>(UCI) ENGINE OPTIONS</strong>
317     </td><td>
318       
319   </td></tr><tr><td>
320       -polyglotDir "" (*)
321     </td><td>
322       tells WinBoard where you installed Polyglot, for automatic invocation with UCI engines
323     </td><td>
324       Options -> UCI...
325   </td></tr><tr><td>
326       -polyglotBook "" (*)
327     </td><td>
328       tells WinBoard which opening book it should use, or should make Polyglot use.
329     </td><td>
330       Options -> UCI...
331   </td></tr><tr><td>
332       -usePolyglotBook false (*)
333     </td><td>
334       turns the use of the Polygot book on or off
335     </td><td>
336       Options -> UCI...
337   </td></tr><tr><td>
338       -defaultPathEGTB "c:\egtb" (*)
339     </td><td>
340       folder where to find end-game tables
341     </td><td>
342       Options -> UCI...
343   </td></tr><tr><td>
344       -defaultCacheSizeEGTB 4 (*)
345     </td><td>
346       specifies the cache size for UCI engines
347     </td><td>
348       Options -> UCI...
349   </td></tr><tr><td>
350       -defaultHashSize 64 (*)
351     </td><td>
352       specifies the size of the main hash table for UCI engines and WinBoard engines implementing the memory command
353     </td><td>
354       Options -> UCI...
355   </td></tr><tr><td>
356       -firstIsUCI false
357       <br>
358       -secondIsUCI false
359       <br>
360       -fUCI
361       <br>
362       -sUCI
363     </td><td>
364       tells WinBoard the corresponding engine should be run through Polyglot
365     </td><td>
366       -
367   </td></tr><tr><td>
368       -firstHasOwnBookUCI true
369       <br>
370       -secondHasOwnBookUCI true
371       <br>
372       -fNoOwnBookUCI true
373       <br>
374       -sNoOwnBookUCI true
375     </td><td>
376       tells WinBoard (or Polyglot) if the engine should use its own opening book
377     </td><td>
378       Options -> UCI...
379   </td></tr><tr><td>
380       
381     </td><td bgcolor="lightblue">
382       <strong>CHESS-VARIANT OPTIONS</strong>
383     </td><td>
384       
385   </td></tr><tr><td>
386       -defaultFrcOpening -1
387     </td><td>
388       allows you to play from a specific opening shuffle, or make a new shuffle each game
389     </td><td>
390       File -> New FRC Game...
391   </td></tr><tr><td>
392       
393     </td><td bgcolor="lightblue">
394       <strong>PGN FILE OPTIONS</strong>
395     </td><td>
396       
397   </td></tr><tr><td>
398       -pgnExtendedInfo false (*)
399     </td><td>
400       save engine output (depth, score time) in PGN
401     </td><td>
402       Options->General...
403   </td></tr><tr><td>
404       -pgnEventHeader </br>"Computer Chess Game" (*)
405     </td><td>
406       specify the event for the PGN event tag
407     </td><td>
408       -
409   </td></tr><tr><td>
410       -saveOutOfBookInfo true (*)
411     </td><td>
412       include an 'annotator' tag in the PGN file
413     </td><td>
414       
415   </td></tr><tr><td>
416       -hideThinkingFromHuman false (*)
417     </td><td>
418       suppresses the engine thinking output in the display, without the need to switch it off
419       (so it can still appear in the PGN file)
420     </td><td>
421       Options -> General...
422   </td></tr><tr><td>
423       
424     </td><td bgcolor="lightblue">
425       <strong>USER-INTERFACE OPTIONS AND WINDOW CONTROL</strong>
426     </td><td>
427       
428   </td></tr><tr><td>
429       -moveHistoryUp true (*)
430       <br>
431       -moveHistoryX 0 (*)
432       <br>
433       -moveHistoryY 0 (*)
434       <br>
435       -moveHistoryW 0 (*)
436       <br>
437       -moveHistoryH 0 (*)
438     </td><td>
439       controls opening, placement and size of a window containing the moves of the current game
440       (new in 4.4 is that all X and Y coordinates of auxiliary windows are stored relative to the main window)
441     </td><td>
442       Mode -> Show Move History (x)
443   </td></tr><tr><td>
444       -evalGraphUp true (*)
445       <br>
446       -evalGraphX 0 (*)
447       <br>
448       -evalGraphY 0 (*)
449       <br>
450       -evalGraphW 0 (*)
451       <br>
452       -evalGraphH 0 (*)
453     </td><td>
454       controls opening, placement and size of a window containing a graph of the
455       evaluation score of the engine(s) as a function of move number of the current game
456     </td><td>
457       Mode -> Show Evaluation Graph
458   </td></tr><tr><td>
459       -engineOutputUp true (*)
460       <br>
461       -engineOutputX 0 (*)
462       <br>
463       -engineOutputY 0 (*)
464       <br>
465       -engineOutputW 0 (*)
466       <br>
467       -engineOutputH 0 (*)
468     </td><td>
469       controls opening, placement and size of a window containing the thinking output of the engine(s)
470     </td><td>
471       Mode -> Show Engine Output (x)
472   </td></tr><tr><td>
473       -stickyWindows true (*)
474     </td><td>
475       make the various windows snap onto each other, and stick together
476     </td><td>
477       -
478   </td></tr><tr><td>
479       -showEvalInMoveHistory true (*)
480     </td><td>
481       depth/score info of the engine is included as comments in the move history window
482     </td><td>
483       Options -> General...
484   </td></tr><tr><td>
485       -evalHistColorWhite #FFFFB0 (*)
486       <br>
487       -evalHistColorBlack #AD5D3D (*)
488     </td><td>
489       determines the color of the eval-score comments in the move-history window
490     </td><td>
491       -
492   </td></tr><tr><td>
493       -autoDisplayComment true (*)
494     </td><td>
495       causes a window for displaying PGN comments to pop up automatically when such a comment is encountered
496     </td><td>
497       -
498   </td></tr><tr><td>
499       -autoDisplayTags true (*)
500     </td><td>
501       causes a window with PGN tags to be displayed as soon as a PGN file is loaded
502     </td><td>
503       -
504   </td></tr><tr><td>
505       -gameListTags "eprd" (*)
506     </td><td>
507       specifies the PGN tags that should be displayed in the game list
508     </td><td>
509       Options -> Game List...
510   </td></tr><tr><td>
511       
512     </td><td bgcolor="lightblue">
513       <strong>MISCELLANEOUS</strong>
514     </td><td>
515       
516   </td></tr><tr><td>
517       -debugFile "winboard.debug"
518       <br>
519       -nameOfDebugFile "winboard.debug"
520     </td><td>
521       allows you to specify an alternative name for saving the debug information
522     </td><td>
523       -
524   </td></tr><tr><td>
525       -defaultFrcPosition -1 (*)
526     </td><td>
527       specify the number of the starting position in shuffle Chess variants
528     </td><td>
529       File -> New Shuffle Game...
530   </td></tr><tr><td>
531       -
532     </td><td>
533       display only those lines in the game list that contain a given string
534     </td><td>
535       in Game-List window
536 </td></tr></table>
537 <p>
538 The value with which the option is listed is the default value.
539 If it is false or true, it is a Boolean option, a number implies an integer option.
540 A value starting with # indicates an RGB color indication in hexadecimal notation.
541 Options the settings of which are saved into the winboard.ini file are marked with (*).
542 </p>
543
544 </div><!-- for id="content", starts in the include above -->
545 <!--#include virtual="/server/footer.html" -->
546 <div id="footer">
547
548 <p>Please send general FSF &amp; GNU inquiries to
549 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
550 There are also <a href="/contact/">other ways to contact</a>
551 the FSF.<br />
552 Please send broken links and other corrections or suggestions to
553 <a href="mailto:bug-xboard@gnu.org">&lt;bug-xboard@gnu.org&gt;</a>.</p>
554
555 <p>Please see the <a
556 href="/server/standards/README.translations.html">Translations
557 README</a> for information on coordinating and submitting translations
558 of this article.</p>
559
560 <p>Copyright &copy; 2009, 2010, 2011, 2012 Free Software Foundation, Inc.</p>
561
562 <p>This page is licensed under a <a rel="license"
563 href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative
564 Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
565
566 <p>Updated:
567 <!-- timestamp start -->
568 $Date: 2012/01/11 04:40:00 $
569 <!-- timestamp end -->
570 </p>
571 </div>
572 </div>
573 </body>
574 </html>