Stockfish Crazyhouse Engine
Moderators: hgm, Rebel, chrisw
-
- Posts: 338
- Joined: Tue Mar 13, 2012 9:59 pm
- Location: Germany
Re: Stockfish Crazyhouse Engine
That is good news. Thank you! Unfortunately I am using Linux. So I will wait for the commit and compile it by myself
-
- Posts: 4622
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: Stockfish Crazyhouse Engine
hgm wrote:You will always HAVE a copy of UCI2WB, as it has been a standard component of the WinBoard install for ages. Unfortunately, due to an oversight, the WInBoard 4.8.0 install is not pre-configured to use it, but uses the (now obsolete) UCCI2WB instead. In future relases of WinBoard I will correct this. For now you will have to correct it yourself, by running WinBoard once with as 'Additional options':
-uxiAdapter {UCI2WB -%variant %fcp %fd}
After that WinBoard will automatically invoke the UCI2WB.exe in the WinBoard folder whenever you tick the UCCI/USI checkbox in the Load Engine dialog when installing the engine. So the only difference with install of normal UCI engines is that you have to tick UCCI/USI instead of UCI. (The latter would invoke Polyglot.)
Now the second problem is that the UCI2WB that came with WinBoard 4.8.0 does not support the UCI_Variant option, which was invented after its release. I just uploaded an updated UCI2WB.exe, which does support this. You can download it from http://hgm.nubati.net/UCI2WB.exe , and should put it in the WinBoard folder (where winboard.exe is) replacing the existing one.
After that UCI variant engines should work fully transparently, provided you tick UCCI/USI instead of UCI. (Obviously that checkbox will have to be renamed as well in future WinBoard versions.) The engine's line in the engine list would look something like
"NICKNAME" -fcp "stockfish.exe" -fd "STOCKFISH/ZH/FOLDER" -fUCCI
if you installed through the dialog. (With possibly an additional -variant crazyhouse if you ticked 'Force current variant with this engine'.)
Thanks for the quick work HG! Something seems wrong though now?
Either I missed something or there is a bug.
This time for testing I used exactly the steps you described.
My WB.ini entries look this now:
Code: Select all
/uxiAdapter="UCI2WB -%variant %fcp %fd"
Code: Select all
"StockfishZH_8-64" -fcp "stockfishZH_8-64.exe" -fd "C:\Engines\Crazyhouse\StockfishZH_8-64" -fUCCI -variant crazyhouse
Code: Select all
recognized 'crazyhouse' (-1) as variant crazyhouse
recognized 'crazyhouse' (-1) as variant crazyhouse
shuffleOpenings = 0
Version: WinBoard 4.8.0b + stockfishZH_8-64
Reset(1, 0) from gameMode 0
recognized 'crazyhouse' (-1) as variant crazyhouse
GameEnds(0, (null), 2)
shuffleOpenings = 0
StartChildProcess (dir=".") UCI2WB -crazyhouse stockfishZH_8-64.exe C:\Engines\Crazyhouse\StockfishZH_8-64
nice engine proc to 10
710 >first : xboard
protover 2
740 <first : feature variants="normal,xiangqi" setboard=1 usermove=1 debug=1 ping=1 reuse=0 exclude=1 pause=1 sigint=0 sigterm=0 done=0
740 >first : accepted variants
740 >first : accepted setboard
740 >first : accepted usermove
740 >first : accepted debug
740 >first : accepted ping
740 >first : accepted reuse
740 >first : accepted exclude
740 >first : accepted pause
740 >first : accepted sigint
740 >first : accepted sigterm
740 >first : accepted done
740 <first : feature option="UCI2WB debug output -check 0"
740 >first : accepted option
740 <first : feature myname="Stockfish 8 64 (UCI2WB)"
740 >first : accepted myname
740 <first : feature option="Debug Log File -string "
750 >first : accepted option
750 <first : feature option="Contempt -spin 0 -100 100"
750 >first : accepted option
750 <first : feature option="Clear Hash -button"
750 >first : accepted option
750 <first : feature option="MultiPV -spin 1 1 500"
750 >first : accepted option
750 <first : feature option="Skill Level -spin 20 0 20"
750 >first : accepted option
750 <first : feature option="Move Overhead -spin 30 0 5000"
750 >first : accepted option
750 <first : feature option="Minimum Thinking Time -spin 20 0 5000"
750 >first : accepted option
750 <first : feature option="Slow Mover -spin 89 10 1000"
750 >first : accepted option
750 <first : feature option="nodestime -spin 0 0 10000"
750 >first : accepted option
750 <first : feature option="UCI_Variant -combo chess /// atomic /// giveaway /// crazyhouse /// horde /// kingofthehill /// racingkings /// relay /// threecheck"
750 >first : accepted option
750 <first : feature option="SyzygyPath -string <empty>"
750 >first : accepted option
750 <first : feature option="SyzygyProbeDepth -spin 1 1 100"
750 >first : accepted option
750 <first : feature option="Syzygy50MoveRule -check 1"
750 >first : accepted option
750 <first : feature option="SyzygyProbeLimit -spin 6 0 6"
750 >first : accepted option
750 <first : feature variants="normal,fischerandom" oocastle=0
750 >first : accepted variants
750 >first : accepted oocastle
750 <first : feature smp=1 memory=1 done=1
750 >first : accepted smp
750 >first : accepted memory
750 >first : accepted done
770 >first : memory 544
770 >first : cores 2
770 >first : new
random
recognized 'normal' (-1) as variant normal
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
880 >first : quit
shuffleOpenings = 0
StartChildProcess (dir=".") UCI2WB -crazyhouse stockfishZH_8-64.exe C:\Engines\Crazyhouse\StockfishZH_8-64
nice engine proc to 10
1505 >first : xboard
protover 2
1505 >first : option UCI2WB debug output=0
1505 >first : option Debug Log File=
1505 >first : option Contempt=0
1505 >first : option MultiPV=1
1505 >first : option Skill Level=20
1505 >first : option Move Overhead=30
1505 >first : option Minimum Thinking Time=20
1505 >first : option Slow Mover=89
1505 >first : option nodestime=0
1505 >first : option UCI_Variant=chess
or obsolete meanwhile, thus it could be removed completely on my side?
(The dialogue for selecting a second program now always points to the fd section)
-
- Posts: 4622
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: Stockfish Crazyhouse Engine
BTW a question for the sd section in the WB.ini file. Is it still necessary for backward compatibility (batch etc.)
or obsolete meanwhile, thus it could be removed completely on my side?
(The dialogue for selecting a second program now always points to the fd section)
Ok the display of the list for the selection dialogue is controlled
by the option below and I guess default is true, but is the sd part
still used internally?
Code: Select all
/singleEngineList=true|false
-
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Stockfish Crazyhouse Engine
I think we had the same issue not too long ago with SjaakII, but I don't remember what the proposed solution in that case was.hgm wrote: OK, I tried it out, and it turns out the UCI2WB version included with WinBoard reacts to the UCI_Chess960 option that this Stockfish also has, and makes its presence overrule the variant list specified with the -var option, to "normal,fischerandom".
-
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Stockfish Crazyhouse Engine
I forgot, is there a reason to prefer polyglot to UCI2WB? Couldn't the latter be preferred in all cases, which would allow a check box "UCI/USI/UCCI"?hgm wrote: After that WinBoard will automatically invoke the UCI2WB.exe in the WinBoard folder whenever you tick the UCCI/USI checkbox in the Load Engine dialog when installing the engine. So the only difference with install of normal UCI engines is that you have to tick UCCI/USI instead of UCI. (The latter would invoke Polyglot.)
Now the second problem is that the UCI2WB that came with WinBoard 4.8.0 does not support the UCI_Variant option, which was invented after its release. I just uploaded an updated UCI2WB.exe, which does support this. You can download it from http://hgm.nubati.net/UCI2WB.exe , and should put it in the WinBoard folder (where winboard.exe is) replacing the existing one.
After that UCI variant engines should work fully transparently, provided you tick UCCI/USI instead of UCI. (Obviously that checkbox will have to be renamed as well in future WinBoard versions.)
Or two check boxes "UCI/USI/UCCI" and "Use polyglot" to switch between UCI2WB and Polyglot?
-
- Posts: 27874
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Stockfish Crazyhouse Engine
As to the /secondChessProgramNames in the ini file:
This depends on the setting of -singleEngineList true|false. I pre-configure that as 'true', which means that the /secondChessProgramNames is completely ignored. There are some situations, though, that it can still be useful. E.g. in the Shogi-variants package there are just two engines, but they are multi-variant, and the combobox for the first engine contains many versions of each, all with different WB options to set the engine and configure WinBoard for a specific variant and display style (variant-specific oriental vs general western). It is then rather inconvenient if that same list is in the second combobox, as for an engine-engine game you would have to be careful to select the same variant in both, or WinBoard would get conflicting settings specifications. So then I just put the plain engines without any WinBoard options in the second list.
As to the UCI2WB problem: from the log I see that this is not the new UCI2WB version I made, because it does export the UCI_Variant option to the GUI in a "feature option=..." command, just like it would do for any engine-defined option. The new version would recognize it as a UCI standard option, and forge it into a "feature variant=..." command instead.
I will investigate what causes the mixup. It could be that I inadvertantly uploaded a wrong version; it could also be that internet caching is giving you the old one, as I uploaded it to the same link.
This depends on the setting of -singleEngineList true|false. I pre-configure that as 'true', which means that the /secondChessProgramNames is completely ignored. There are some situations, though, that it can still be useful. E.g. in the Shogi-variants package there are just two engines, but they are multi-variant, and the combobox for the first engine contains many versions of each, all with different WB options to set the engine and configure WinBoard for a specific variant and display style (variant-specific oriental vs general western). It is then rather inconvenient if that same list is in the second combobox, as for an engine-engine game you would have to be careful to select the same variant in both, or WinBoard would get conflicting settings specifications. So then I just put the plain engines without any WinBoard options in the second list.
As to the UCI2WB problem: from the log I see that this is not the new UCI2WB version I made, because it does export the UCI_Variant option to the GUI in a "feature option=..." command, just like it would do for any engine-defined option. The new version would recognize it as a UCI standard option, and forge it into a "feature variant=..." command instead.
I will investigate what causes the mixup. It could be that I inadvertantly uploaded a wrong version; it could also be that internet caching is giving you the old one, as I uploaded it to the same link.
-
- Posts: 4622
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: Stockfish Crazyhouse Engine
hgm wrote: I will investigate what causes the mixup. It could be that I inadvertantly uploaded a wrong version; it could also be that internet caching is giving you the old one, as I uploaded it to the same link.
Code: Select all
UCI2WB 2.1 by H.G.Muller
-
- Posts: 338
- Joined: Tue Mar 13, 2012 9:59 pm
- Location: Germany
Re: Stockfish Crazyhouse Engine
I searched for it (UCI2WB and UCCI2WB) but it appears to be missing on my Linux Computer. I am using xboard version 4.9.0 which I compiled myself.hgm wrote:You will always HAVE a copy of UCI2WB, as it has been a standard component of the WinBoard install for ages. [...]
When your done, can you make the source available? I downloaded the last one from
http://hgm.nubati.net/cgi-bin/gitweb.cg ... ;a=summary
Thank you for all your efforts
-
- Posts: 27874
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Stockfish Crazyhouse Engine
OK,my bad. I can only upload to that server from Linux (has something to do with passive mode,which Windows ftp does not seem to support), and I can only get it there by e-mailing it to myself and downloading it from the webmail server. But I already had done that with a UCI2WB.exe before, so that FireFox stored the new UCI2WB.exe in my Downloads directory as UCI2WB(1).exe. And I of course uploaded plain UCI2WB.exe, which was the old one.Guenther wrote:Code: Select all
UCI2WB 2.1 by H.G.Muller
Now the new one should be there.
-
- Posts: 27874
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Stockfish Crazyhouse Engine
Sorry, I thought you were using WinBoard. Indeed, in Linux it is not usual to bundle software, and XBoard, Polyglot and UCI2WB are all different packages. Unfortunately the packaging system is reluctant to acknowledge dependency, as the packagers insist that XBoard can also be used without any engines or adapters, as ICS client or game viewer. So Polyglot, UCI2WB and Fairy-Max all have to be installed separately, by hand.styx wrote:I searched for it (UCI2WB and UCCI2WB) but it appears to be missing on my Linux Computer. I am using xboard version 4.9.0 which I compiled myself.
When your done, can you make the source available?
I pushed the source of the new UCI2WB, but not to hgm.nubati.net, as the ssh key of that server seems to have changed, and I still have to figure out how to change my own keys so I can push there again. But I have a backup repository at http://winboard.nl/cgi-bin/gitweb.cgi , and it is there.