thorsilver / SpaceDog

Chess engine based on VICE, written in C.
GNU General Public License v3.0
4 stars 0 forks source link

v0.97.5.1 issues #20

Closed tpoppins closed 5 years ago

tpoppins commented 5 years ago

This version is a big improvement over the ill-fated v0.97.6; some issues still remain.

1) It seems that you misunderstood me in #16. The polarity of SpaceDog's eval is still wrong when it plays Black. This affects both the Winboard and the UCI mode. It shows the absolute (i.e. from White's POV) eval whereas the CECP and the UCI specs require the eval be relative to the engine itself. So regardless of which color it plays if an engine is winning its eval should be a positive cp value; if it's losing then the eval needs the minus sign.

For Winboard engines there's an option to treat the engine's eval as absolute and I took advantage of that when running the 40/40 gauntlet. However

2) the Winboard mode still doesn't function properly under Cute Chess. When the engine is initialized it appears that it misses the "xboard" from the GUI altogether and the first letter of "protover". So none of the feature options are initialized -- no Syzygy support or configurable hashtable.

Using the InBetween adapter I was able to record what happens between the engine and the GUI:

0.000: - Starting server: SpaceDog_TBs-09751.exe nobook
0.016: - Priority class set to normal
0.016: - Thread priority set to normal
0.016: > xboard
0.016: > protover 2
0.032: < HashTable init complete with 2796200 entries
0.032: < Book File Not Read
0.032: < 
0.032: < Welcome to SpaceDog! Type 'dog' to play in console mode. 
0.032: < 
0.032: < SpaceDog > command seen:rotover 2
0.032: < 
8.003: > new
8.003: < command seen:new
8.003: > force

This does not occur when entering the commands manually in the console, so I suspect that SpaceDog is too slow to react to the GUI's commands on the startup as it's busy initializing the hashtable and printing its own stuff which may be blocking its I/O.

I managed to circumvent the issue by having InBetween issue a blank line followed by an extra "xboard" command after that of the GUI, so in effect SpaceDog receives this:

xboard

xboard
protover 2

everything goes as expected then. That's how the above-mentioned gauntlet was run; it's now complete and SpaceDog is on the 40/40 list. I expect you might be as surprised by its results as I was. :)

thorsilver commented 5 years ago

Wow!! That's a nice improvement :) That's great to see, thank you for running SpaceDog through the gauntlet.

As for the issues:

1) I think I've finally got this now :) In my testing now SpaceDog reports winning as always positive/losing as always negative regardless of side, so fingers crossed this will be the end of that issue.

2) With this, I'm wondering whether the best option may be to add some command-line options to start SpaceDog immediately in UCI or XBoard mode, rather than entering an additional startup command at the initial menu. I'll have a play around with it.

Once (2) is sorted, I'll put out 0.97.6 with the fixes -- hopefully it won't suffer the curse of the last .6 release. If things go according to plan, .7 will be the multicore release.

tpoppins commented 5 years ago

It would be better to skip .6 and go straight to .7 to avoid potential confusion for those who may have downloaded the original .6.

thorsilver commented 5 years ago

OK, so 0.97.7 is now up -- please see the release details. The new command-line parser will allow users to set the hash, EGTB path and opening book from the command line, which should make things easier for people running tourneys.

Or, in the worst case, you can use just the 'mode' option at the command line, then set hash/EGTB using the appropriate UCI or XBoard commands once the engine loads. For the moment I've made it so that only setting the mode instantly enters that mode with no hash initialisation and no additional text output, so there should be no delays like seemed to be happening for you with Cutechess.

Hope this works!

thorsilver commented 5 years ago

NB -- if you happened to download the executable within the last hour, please do so again -- I uploaded the wrong version by mistake (was missing the console mode option at startup)!

tpoppins commented 5 years ago

Everything works now as expected -- good work! I'll see to it that the new version is tested at 40/4 soon.