Can I play horde in winboard?

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Can I play horde in winboard?

Postby tatagi » 24 Jun 2019, 00:08

I am quite newbie with this amazing application.

but is there any way I can play horde using winboard? I ask this because I can't launch pychess engine and select horde among variant, it throws up message

https://imgur.com/a/AxO9wnB

please suggest me any tips or guide to solve this havoc.


I am running windows 7 64 bit, so I downloaded pychess engine for win here http://pychess.org/download/


sorry I am not too tech savyy to begin with, I just want to play this amazingly funny horde chess game ;)


p.s) is there any horde engine I can use via winboard other than pychess? it contains all python related lib files so it is overkill, too large in size.

I wish there's something just like pulsar engine(which is single executable file I can just drag and drop in winboard folder). any suggestion would be greatly appreciated.
tatagi
 
Posts: 16
Joined: 27 May 2019, 00:32

Re: Can I play horde in winboard?

Postby H.G.Muller » 25 Jun 2019, 09:04

In principle it should be possible to play Horde with WinBoard as 'engine-defined variant', although it might be necessary to switch legality testing off (in the General Options menu) while doing so. Otherwise WinBoard would probably get upset when a player has no King. (This is a side effect of Atomic Chess, to guard against blowing up your own King.)

A requirement for engine-defined variants, however, is that the engine indeed does define them once they get selected, by sending rule info (such as the initial position) to the GUI in a 'setup' command. The error popup complains that PyChess doesn't do that. Perhaps it considers Horde a standard variant, because perhaps the PyChess GUI supports it as such. But officially it isn't.

It would help if you could do the same thing after atarting WinBoard with 'Additional option' -debug , and then post the winboard.debug file it creates here. Then we can see what exactly the engine sent in response to the 'variant Horde' command, and whether it is the engine's or the GUI's fault that this is not understood.

I also dislike to have to install huge libraries to run stuff, so I don't have Python at all on my machine. I am not aware of any other engines that can play Horde, however. Perhaps one of the configurable variant engines (Sjaak II or Nebiyu) can be configured to play it.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Can I play horde in winboard?

Postby tatagi » 25 Jun 2019, 13:39

thank you for the reply, it got me understanding of some sort.

I switched off testing legality , installed pychess again and tried to play again, again no success.

my last option is to stick with pychess GUI and play horde there, but it is crazy slow python based application so I am done with it haha, my laptop lags like sloth.

I hope you take a brief look at this engine called Vehor at https://github.com/chessvariantengine/horde claiming it offers uci and xboard for more compatibility(have no idea even what the flying heck is that lol) it also claims it supports windows flatform which sounds promising to me so far considering much lighter size.
but I couldn't launch it in winboard either, this time no error popups but it does nothing , only except the title has changed to Winboard:vehorxboard by Alexandru Mosoi and horde variant is greyed out.

and can you let me know how to access debug option because i can't seem to find addition option however hard I look in every nook and cranny.


thank you once again and have a nice day!
tatagi
 
Posts: 16
Joined: 27 May 2019, 00:32

Re: Can I play horde in winboard?

Postby H.G.Muller » 25 Jun 2019, 15:38

The 'Additional options' is in the Startup Dialog, which you get when you start WinBoard by clicking on the winboard.exe icon, and where you have to select engines or tick 'Just view or edit game files'.

As for the engine you mention: if it doesn't do anything you might have downloaded a wrong version. To run under WinBoard without needing an adapter you would need the xboard version, for Windows.

I just found out that Stockfish-Variant plays Horde, amongst others. So you could simply load wthe WinBoard-AA beta package, unzip it, and select Stockfish from the Startup Dialog, and then 'horde' from the New Variant dialog. Stockfish-Variant is included and pre-installed in that package.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Can I play horde in winboard?

Postby tatagi » 26 Jun 2019, 01:42

oh, I set it to skip selecting engine dialogue that's why I didn't see it :)

so you mean there's xboard for windows? I thought it is sister of winboard for different flatform
I've downloaded and unzipped the latest build of xboard(xboard-4.9.1.tar.gz) here http://ftp.gnu.org/gnu/xboard/
but it has no executable files, so I have no clue how I run it

stockfish v has horde but it is as slow as pychess , checked time control and set the conventional chess clock to number of 500 and within number of 10(min)
but still it takes forever for the engine to make a next move. is it natural or should I fiddle with settings somewhere?
tatagi
 
Posts: 16
Joined: 27 May 2019, 00:32

Re: Can I play horde in winboard?

Postby H.G.Muller » 27 Jun 2019, 23:05

tatagi wrote:so you mean there's xboard for windows?

No, I just referred to the communication protocol used bythe engine. WinBoard and XBoard use the same protocol, which officially is called CECP, but is more commonly referred to as winboard or xboard protocol. If you would use a UCI engine with WinBoard or XBoard, it wouldn't understand a word of what it is told to do, and nothing would happen. It would be like going to China and ordering a meal there in Italian.

I thought it is sister of winboard for different flatform
I've downloaded and unzipped the latest build of xboard(xboard-4.9.1.tar.gz) here http://ftp.gnu.org/gnu/xboard/
but it has no executable files, so I have no clue how I run it

Indeed, this is a source distribution. And even if you could compile it you could only run it on a Windows machine with the aid of some Linux-emulating software like Cygwin.

stockfish v has horde but it is as slow as pychess , checked time control and set the conventional chess clock to number of 500 and within number of 10(min)
but still it takes forever for the engine to make a next move. is it natural or should I fiddle with settings somewhere?

It would be rather unusual for Stockfish to disobay the time-control settings. But I am not sure what you did. You set it for 500 moves per 10 min? That wouldn't prevent it from thinking 1 min over the first few moves each. And if in its own estimate the game would not last 500 moves but much shorter it might think much longer than you expect. If you want to have a high degree of control how much it can think per move you should play an incremental control with a relatively short base time. Like 1 min + 2 sec/moe.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Can I play horde in winboard?

Postby tatagi » 28 Jun 2019, 01:18

it's funny when you used speaking italian in china as an example haha, much easier to understand.
I guess I wouldn't benefit much from installing emulator only to play a game which will waste my storage, so Im gonna live with winboard.

my last wish would be to be able to give myself unlimited time while engine is allowed to have say 1+2 or maximum 3 secs only per move
I think it would be great to have an engine handicapped, considering my poor skills with little experience yet.

of course not fair, but I need to practice first, while not eating up too much time from engine's side.


p.s) can I set horde as default variant? I did the same way you taught me last time, adding line /variant=horde in winboard.ini settings file, but it doesnt do its job correct.
tatagi
 
Posts: 16
Joined: 27 May 2019, 00:32

Re: Can I play horde in winboard?

Postby H.G.Muller » 28 Jun 2019, 21:23

You can switch auto-flag off (in the General Options menu dialog). Then you can think as long as you want. If you want to also limit your own time, but just give yourself more than the engine, you can specify a time-odds factor in the Time ontrol dialog.

Be sure you add the /variant option to the engine line through the Edit Engine List menu item. You might have been editing the wrong winboard.ini file (the one that doesn't contain the saved settings, but just those for first-time use).
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Can I play horde in winboard?

Postby tatagi » 29 Jun 2019, 01:08

H.G.Muller wrote:You can switch auto-flag off (in the General Options menu dialog). Then you can think as long as you want. If you want to also limit your own time, but just give yourself more than the engine, you can specify a time-odds factor in the Time ontrol dialog.

Be sure you add the /variant option to the engine line through the Edit Engine List menu item. You might have been editing the wrong winboard.ini file (the one that doesn't contain the saved settings, but just those for first-time use).



to me, auto-flag off//maximum 3 seconds per move is what fits me best which means I have no time limit and the engine must finish thinking within 3s for every move it makes. still enough to knock me down lol. unfortunately, it is volatile that when I rerun the app , it reverts back to conventional chess clock and I have to manually change it again in time control settings. weird

and I tried to add /variant=horde and the result is this https://imgur.com/a/amBepBO , it opens the app but stops working. all menus are greyed out

for the winboardAA , last few lines in winboard.ini are like this

;
; Here we redirect the saving to another file (specific for the user)
;
/replace='UCCI2WB -noini "%fd\\%fcp"'
/uxiAdapter={UCI2WB debug -%variant "%fcp" "%fd"}
/delayAfterQuit=1
/adapterCommand={UCI2WB debug -nice %niceEngines -kill %delayAfterQuit -%variant "%fcp" "%fd"}
;
; Any setting after this will make the option overrule the saved one
;
/settingsFile=mysettings.ini
/saveSettingsFile=mysettings.ini
/cp
/fcp="Stockfish V" -fcp "Stockfish.exe" -fd "..\Stockfish" -fUCI -fSAN
/scp="Stockfish V" -fcp "Stockfish.exe" -fd "..\Stockfish" -fUCI -fSAN
/variant=horde
tatagi
 
Posts: 16
Joined: 27 May 2019, 00:32

Re: Can I play horde in winboard?

Postby H.G.Muller » 29 Jun 2019, 12:41

OK, thanks for pointing this out. It turns out I made a mistake in configuring WinBoard's /adapterCommand in this package. This is the command that WinBoard executes to run UCI engines (in response to the -fUCI option, or the user ticking the UCI checkbox in the Load Engine dialog). The WinBoard-AA package uses UCI2WB as adapter (which then translates CECP to UCI and vice versa). But UCI2WB can also mediate between CECP and USI or UCCI (which are UCI 'dialects' commonly used by engines for Shogi or Chinese Chess). To make that possible UCI2WB itself has to be started with the option -s (for UCI) or -x (for UCCI), while normal UCI would need -c. To make that choice automatic I pass the first letter of the variant name for this option (Chinese Chess = Xiangqi, hence the -x).

I should never have done that for the -adapterCommand, though, which is solely meant for UCI, and should thus always use -c. WinBoard also has options -fUSI and -fUCCI (and a USI/UCCI checkbox), which use their own command to start the adapter (specified by WinBoard's option /uxiAdapter in the winboard.ini file). For that it should be prepared to also launch UCI2WB in USI or UCCI mode. But because I also made the /adapterCommand pay attention to the variant name, when you set the variant to 'horde', it tries to start the engine in 'UHI' protocol because of a -h option! Which doesn't exist, and isn't understood by Stockfish, so that things just hang while UCI2WB is waiting for a Stockfish response that will never come.

To make a long story short, what you have to do to fix it is add the line at the bottom of the winboard.ini file

/adapterCommand={UCI2WB debug -nice %niceEngines -kill %delayAfterQuit -c "%fcp" "%fd"}

This will force the use of UCI with any engine accompanied by the -fUCI option, no matter what variant is selected.

One more remark:

The way you set it up now, adding the lines at the bottom of the winboard.ini master settings file in principle works. But you added the engine specifications as you would write an 'engine line' in the engine list. Such a line can contain several WinBoard options, which then become only active if that particular engine gets selected. But when you just write that line in the settings file, all the options mentioned on the line will always be applied. (WinBoard does not really care if options in the ini file are separated by linefeeds or by spaces). /fd, /fUCI and /fSAN are really separate options from /fcp. (/fcp and -fcp are alternative notations for the same thing.) They will now always be applied when you start WinBoard. Which is what you want, so no problem there.

BUT

For the second engine, when you load it from the engine list, WinBoard is smart enough to replace all WinBoard options applying to the first engine by the corresponding option for the second. For options in an ini file that would not happen. So to make the second engine (which you would only need if you want to play engine against engine) work you would have to also include -sd, -sUCI and -sSAN to make WinBoard understand that this is also a UCI engine, and in which folder it should look for it.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Can I play horde in winboard?

Postby tatagi » 29 Jun 2019, 14:48

wow, I am glad I helped finding the glitch and thank you for your dedicated support for detailed explanation as a dev, it kinda involves prior technical knowledge but I am happy it was as simple as adding one line at the end to make it work properly, now when I open the app , my new beloved favorite horde is ready for action :) that's all there is to it for me.

I think this app deserves more attention than however popular it is now. There're some good online chess websites like lichess which supports minor variants versus engine, but this app doesn't need to connect to internet while playing against computer. that's a good plus when I go outside in place without wifi access

And I found this tutorial for the win/xboard user WinBoard/engine-intf.html#1 , will find the time to take a read.

oh , and I still can't figure out a way the time control settings is remembered, it only remembers it when the clock type is conventional or incremental. would you mind checking it out please? all these start-up configurations are for convenience of use to save a sec or two and a few finger clicks away but maybe worth a shot for people lazy like me :D
tatagi
 
Posts: 16
Joined: 27 May 2019, 00:32

Re: Can I play horde in winboard?

Postby H.G.Muller » 29 Jun 2019, 15:05

OK, I see what you mean. Fixed time per move is indeed a volatile option. This is sort of intentional, because for engines this is a 'difficult' type of time control, where they waste a quite large fraction of the time. They usually work much more efficient when you give them some leeway to distribute the time over moves, so that they can move when they finished a search at some depth and save the remaining time towards the next move, rather than starting something that they predictably cannot finish in the remaining time. So if you want 3 sec per move on average it would be better to set it to 20 moves/min classical or 1 min + 2 sec/move incremental.

But if you insist on playing fixed time per move, you can add the option -searchTime 0:03 at the end of the winboard.ini file.

Note that the engine-inf.html is a document intended for engine developers. It specifies how engines should communicate with WinBoard. The normal distribution of WinBoard does actually come with a manual for the user, as a .hlp and as a .chm file. Unfortunately newer Windows versions do not support the .hlp format anymore, though, but fake it that they do, and pop up an error window instead. As a result the Help menu item of WinBoard doesn't work anymore. But directly clicking the .chm file in the WinBoard folder should still display it.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Can I play horde in winboard?

Postby tatagi » 01 Jul 2019, 16:03

thank you so much, you're right, I can't open help document in the app so I thought something went wrong with my computer

the last missing piece is how I change the boardsize and keep it, see this pic https://imgur.com/a/26t01qm

both are moderate size set in view - colors but first pic is normal variant, second one horde

the problem is when I am playing horde, the size becomes smaller than it should be , and medium is too large for me

any solution? it's really not a big deal but maybe my perfectionism is kicking in ;)
tatagi
 
Posts: 16
Joined: 27 May 2019, 00:32

Re: Can I play horde in winboard?

Postby H.G.Muller » 01 Jul 2019, 16:53

This is an (in this case unwanted) result of the fact that Horde is played as an engine-defined variant with parent variant 'fairy'. WinBoard normally supports 18 square sizes. But because every square size needs its own set of bitmaps, and there are very many fairy pieces, images have been made for the latter only in 3 different sizes. Because variant fairy normally would contain fairy pieces, WinBoard 'rounds' the requested board size to one of these 3 sizes.

In this case that wouldn't be really necessary, because Horde only uses orthodox pieces. So what I would need to do is to make the sizing algorithm smarter, not just making the size decision based on the variant, but on the actual pieces that participate. Then all 18 size would be available for Horde.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Can I play horde in winboard?

Postby H.G.Muller » 02 Jul 2019, 09:42

OK, I uploaded a new WinBoard-AA package (same link), which contains a winboard.exe that only rounds the square size in variant fairy when indeed fairy pieces are participating. Initially this did not solve the problem, because UCI engines do not announce which pieces they will be using (as Stockfish-V used to be the only UCI engine that played variants in the first place, and it only plays variants that use orthodox pieces). The UCI2WB adapter in this case sent an invalid set of pieces to WinBoard, which was ignored, so that Horde was played with the standard set of pieces for variant fairy. This was undesirable anyway, because this set does contain fairy pieces, and would allow the player to select those as promotion choice. I solved this now in WinBoard, by making it handling an invalid set of participating pieces as if it was the set for orthodox chess. So now it understands there are no fairy pieces in Horde, and with the new sizing algorithm that means you can now use any of the 18 square sizes.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL


Return to Winboard and related Topics

Who is online

Users browsing this forum: Google [Bot] and 7 guests