WinBoard-AA beta release

Discussion of anything and everything relating to chess playing software and machines.

Moderators: Harvey Williamson, bob, hgm

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
hgm
Posts: 25049
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

WinBoard-AA beta release

Post by hgm » Wed Nov 30, 2016 8:23 pm

I have put together an experimental package with WinBoard and two engines (one WB, one UCI), and some support files.

The WinBoard executable is an enhanced version from the 4.9 series. Compared to 4.9.1 (which, btw, was not released as a WinBoard binary so far), it has the following experimental features:

* Ability to use external bitmap pieces with transparancy (32bits/pixel)
* Ability to store settings of engine options in the Engine List

I packaged it with a set of anti-aliased pieces taken from XBoard. (Orthodox pieces in all 18 sizes,fairy pieces in 3 sizes.) It is pre-configured to use these (in the -pieceImageDirectory "bmaps"). All pre-configured graphics themes (in the View -> Board Themes menu) are now using these pieces in stead of the built-in bitmaps.

The Engine Settings dialogs now contain an extra button "Make Persistent", added by WinBoard (in the lower-left corner):

Image

Pressing that button would store all options with non-default settings in the engine list, in a -firstOptions option it appends to the line (if ot yet present). When the Engine List is saved with the WinBoard settings, ('Save Settings on Exit'), this will carry over the modified settings to the next session.

The package is configured to use UCI2WB as default adapter for handling UCI engines, (through the -fUCI option), rather than Polyglot (which is no longer included). It is packaged as a zip file that you can unpack anywhere, rather than with an install wizard. I added some .xop files that you can drag on top of the winboard.exe icon to activate their function, and start WinBoard in the mode they specify (e.g. for conecting to FICS,or running Stockfish). I am considering to make this the default configuration in the future.

The package is configured to use a separate file for saving its settings as the standard install, so you will not affect your current stable install by trying it. It can be downloaded from

http://hgm.nubati.net/WinBoard-AA.zip

I hope some of you will want to try it out. Feedback is welcome.

Have fun.

Ferdy
Posts: 4295
Joined: Sun Aug 10, 2008 1:15 pm
Location: Philippines

Re: WinBoard-AA beta release

Post by Ferdy » Thu Dec 01, 2016 3:51 am

In variant seirawan, WB changes the engine move which results to illegal move as pointed out by the other engine.

First: Fairy-Max
Second: Sigla
462371 <second: # rnb1k2r/p1ppqppp/3h1n2/1p2p3/8/1B1P1N2/PPP2PPP/RHBQK2R[Ee] w KDCQkcbq -
462371 <second: # White pieces on-board: wq 1, we 0, wh 1, wr 2, wb 2, wn 1, wp 7
462371 <second: # Black pieces on-board: bq 1, be 0, bh 1, br 2, bb 1, bn 2, bp 8
462371 <second: # Pieces on-hand: we 1, wh 0, be 1, bh 0
462371 <second: # White virgin squares: e1, h1, a1, c1, d1,
462371 <second: # Black virgin squares: e8, h8, b8, a8, c8,
462371 <second: # Fifty 0, Hply 16, Repeats 0
462371 <second: # TimeLeft 137750.00 msec MaxTime 6887.00 msec AllocatedTime 6104.00 msec
462371 <second: 1 142 0 50 e1g1
462371 <second: 2 78 0 474 h1e1e e8g8e
462371 <second: 3 81 0 924 h1e1e h8e8e f1e1
462371 <second: 4 79 0 1811 h1e1e h8e8e f3g5 b5b4
462371 <second: 5 82 0 2905 h1e1e h8e8e d3d4 e5e4 f1e1
462372 <second: 6 81 1 4720 h1e1e h8e8e d3d4 e5e4 f3e5 d6e8
462372 <second: 7 75 6 24205 f3g5 h8e8e c1e3e b8c6 e1g1 e7d8 c2c3
462418 <second: 8 78 13 51772 e1g1e b8c6e a2a4 c6a5 b3a2 b5a4 d3d4 e5e4
462488 <second: 9 80 20 79963 h1e1e h8e8e a2a3 h7h6 f1e1 f6g4 c1f4 b8c6 b3d5
462704 <second: 10 83 42 156174 h1e1e h8e8e a2a4 b8c6 a4b5 d6b5 b3c4 b5d6 c1g5 d6f5 g5e3
462906 <second: 11 80 62 232825 h1e1e h8e8e a2a4 b5a4 a1a4 b8c6 c1e3 d6b7 f3g5 d7d6 f2f3 c8e6 g5e6 f7e6
463281 <second: 12 81 100 366054 h1e1e h8e8e a2a4 b5a4 a1a4 b8c6 c1e3 d6b7 f3g5 d7d6 f2f3 c8e6 g5e6 f7e6 d1d2
465289 <second: 13 68 300 1010149 h1e1e h8e8e a2a4 b5a4 a1a4 b8c6 c1e3 d6b7 f3g5 d7d6 d1d2 d6d5 b1a3 c6b4
469167 <second: # rnb1k2r/p1ppqppp/3h1n2/1p2p3/8/1B1P1N2/PPP2PPP/RHBQ1RKE[e] b DCAkcbq -
469167 <second: # Time 6887.00 msec., NPS 321K, NullHits 82.00%(78256)
469167 <second: # MainHash 9.26%(77195), Pawnhash 95%(1445033)
469167 <second: # bestMove h1e1e, moveScore 68, Fifty 1, Hply 17, Repeats 0
469168 <second: # White pieces on-board: wq 1, we 1, wh 1, wr 2, wb 2, wn 1, wp 7
469168 <second: # Black pieces on-board: bq 1, be 0, bh 1, br 2, bb 1, bn 2, bp 8
469168 <second: # Extensions: Check 34175, Recapture 67, pawnTo7thRank 3751, Ending 0
469168 <second: # Pieces on-hand: we 0, wh 0, be 1, bh 0
469168 <second: # White virgin squares: c1, d1, a1,
469168 <second: # Black virgin squares: e8, h8, b8, a8, c8,
469168 <second:
469168 <second: move h1e1e
FRC castling, 9 2 6 9 2 6
FRC castling, 9 2 6 9 2 6
FRC castling, 9 2 6 9 2 6
FRC castling, 9 2 6 9 2 6
Interrupting first
469168 >first : time 16175
469168 >first : otim 13286
book hit = (NULL)
469168 >first : h1d1e
silence
469283 <first : Illegal move:h1d1e
GameEnds(26, False illegal-move claim, 4)
Ref. game:

Code: Select all

&#91;Event "Computer Chess Game"&#93;
&#91;Site "?"&#93;
&#91;Date "2016.12.01"&#93;
&#91;Round "4"&#93;
&#91;White "Sigla v2.1"&#93;
&#91;Black "Fairy-Max 5.0b"&#93;
&#91;Result "1-0"&#93;
&#91;TimeControl "180+2"&#93;
&#91;Variant "seirawan"&#93;
&#91;Annotator "2. +0.36   2... +0.18"&#93;

1. e4 e5 2. Nc3/H &#123;+0.36/13 9&#125; Be7/H &#123;+0.18/6 4&#125; 3. Nf3 &#123;+0.34/14 9&#125; Hg6
&#123;+0.22/7 3&#125; 4. Nd5 &#123;+0.52/13 8&#125; Hxe4 &#123;+0.19/8 5&#125; 5. Bc4 &#123;+0.48/13 8&#125; Hd6
&#123;+0.47/7 5&#125; 6. d3 &#123;+0.64/12 8&#125; b5 &#123;+0.63/7 4&#125; 7. Bb3 &#123;+0.82/13 7&#125; Nf6
&#123;+0.56/7 6&#125; 8. Nxe7 &#123;+0.79/13 7&#125; Qxe7 &#123;+0.25/7 4&#125; 9. Rh1xd1=E &#123;+0.68/13 7&#125;
&#123;False illegal-move claim&#125; 1-0

JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 12:23 am

Re: WinBoard-AA beta release

Post by JoshPettus » Thu Dec 01, 2016 4:10 am

Will UCI2WB be replacing Polyglot in the future? Should I nix Polyglot in future OSX xboard releases?

User avatar
hgm
Posts: 25049
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: WinBoard-AA beta release

Post by hgm » Thu Dec 01, 2016 9:43 am

Ferdy wrote:In variant seirawan, WB changes the engine move which results to illegal move as pointed out by the other engine.
Ugh! That is a truly weird error. And it does not seem to reproduce, in the sense that when I load the game up to the offending move, and then type h1e1e, it perfectly plays it, and prints Rxe1/E in the message field.

This is a castling with gating on the Rook square, which is an extremely rare event. So we cannot be sure that this is a newly introduced error in this version. It might just have never happened before.

The FRC castling rights seem to be set correctly (9 2 6, with an offset of 2 because of the holdings, so 2=a, 6=e, 9=h) just before the move is parsed. The funny thing is that WinBoard itself considers the move h1d1e illegal when producing SAN, and in consequence adds the from-square to it as disambiguator in the PGN (Rh1xd1=E instead of Rxde/E). It is really strange that it would alter the to-square of a move. :(

User avatar
hgm
Posts: 25049
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: WinBoard-AA beta release

Post by hgm » Thu Dec 01, 2016 9:51 am

JoshPettus wrote:Will UCI2WB be replacing Polyglot in the future? Should I nix Polyglot in future OSX xboard releases?
I think this is a logical development, because Polyglot does not support variants, and UCI engines for variants now start to appear. But we must be sure that UCI2WB is a worthy replacement, and does not lack any features that Polyglot has. Having XBoard save the engine settings, so that the 'Polyglot Save' functionality is now redundant, is a step in that direction (as UCI2WB does not have that functionality). But I am not sure we are there yet.

Having the GUI save the settings is a much better design than having the adapter do it, as WB engines, that donot use adapters, now often have settings too. I am not sure if the current solution is the best one, though. It can lead to very log engine lines in the Engine List.

Norbert Raimund Leisner
Posts: 1643
Joined: Tue May 20, 2008 2:57 pm
Location: Augsburg - Germany

Re: WinBoard-AA beta release

Post by Norbert Raimund Leisner » Thu Dec 01, 2016 10:44 am

What is about this software for WinBoard-GUI 4.9?

https://github.com/ianfab/variantfishtest

Norbert

User avatar
hgm
Posts: 25049
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: WinBoard-AA beta release

Post by hgm » Thu Dec 01, 2016 11:50 am

Fishtest is program that runs engines, like a GUI does, right? (Or perhaps without showing what they do, so more like cutechess-cli.)

So it is not "software for WinBoard" anymore than 'Little Blitzer' would be software for WinBoard.

JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 12:23 am

Re: WinBoard-AA beta release

Post by JoshPettus » Thu Dec 01, 2016 4:01 pm

hgm wrote: But I am not sure we are there yet.
Sounds good to me, I'm all for more simplicity and having two UCI adapters is a bit much. That said it's going to be hard to fully kill polyglot as entrenched as it is. It's hard enough to get people to not use some 15 year old version of the program as it is, as linux distros don't keep it up to date. Maybe we should do a GNU chess and completely replace the program under the same name. So we still retain the name recognition.

styx
Posts: 338
Joined: Tue Mar 13, 2012 8:59 pm
Location: Germany

Re: WinBoard-AA beta release

Post by styx » Thu Dec 01, 2016 10:42 pm

It works very well for me :)

User avatar
hgm
Posts: 25049
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: WinBoard-AA beta release

Post by hgm » Fri Dec 02, 2016 6:28 am

Press which 'Save'? The screenshot above does not have any button called 'Save'. Polyglot did have an option called 'Polyglot Save', which was displayed as 'Save' in the 'Polyglot' box of the dialog. If you have installed engines using Polyglot, that will not have changed, and it will still do the same: save the engine and Polyglot settings in a polyglot.ini file in the _PG folder.

The point of the Make Persistent button is that it is a WinBoard function, not a Polyglot function. So that it is also possible to save settings of engines that do not use Polyglot. (Such as WB engines.)

[Edit]
OK, I see I failed to mention something important: the Make Persistent button only works on engines that were loaded through the Load Engine dialogs. Because otherwise WinBoard does not know which line in the engine list it would have to add the settings to. If you loaded an engine through the -fcp option on the command line, that engine might not be in the list at all.

I now realize this is a major design flaw for WinBoard, where you can select the engines from the comboboxes of the Startup Dialog. Those comboboxes represent the Engine List, so when you select an engine from there, it should also consider it an engine from the list. (I originally developed this feature with XBoard, which does not have a Startup Dialog.)

Of course you could still type an engine name in those comboboxes, or modify an existing line, to get something different from anything in the Engine List. But the way it works is that WinBoard remembers the entire line, including all WB options on it (such as -fd or -fUCI) for the currently loaded engines, and then tries to find that in the Engine List when you press Make Persistent. When it cannot find that line, the Make Persistent fails silently, which probably is another design flaw. It should at least print an error message above the board, "Engine not found in list", and preferably an error popup.

Post Reply