Page 1 of 2

New Version: Kurt 0.9.2 beta

PostPosted: 11 Oct 2010, 19:26
by Oliver Uwira
Hello all,

this is an extensively bugfixed version of Kurt. I'll be playing a tourney for the rest of the week and won't be online such I just take the opportunity to make the new version available, even though it might be a bit early.

http://home.arcor.de/steve-o13/kurt/kurt_0_9_2_beta.zip

The archive contains the source code, my ancient logo and binaries for 32 and 64 bit (Windows only).

Changes compared to version 0.9 beta released a couple of weeks ago are:

  • All UCI commands implemented, i.e. even all restrictions (nodes, time, searchmoves ...)
  • Native WinBoard support in addition to UCI (might still have the occasional issue, as I was completely new to WinBoard).
  • A lot of bugfixes
  • Source code put under GPL

The following UCI options are available:

  • Hash (UCI standard, configures transposition table size)
  • Eval_Cash_MB (configures evaluation cache size)
  • Pawn_Info_Cache_MB (configures pawn evaluation cache size)
  • Clear Hash (name says all)
  • Ponder (useless, but tells GUI that engine is able to ponder)
  • MultiPV (configures multi pv mode, up to 10, but not tested recently)
  • FEN_Version (probably useless, because it can be inferred from the GUI input; Dialects: Standard, Arena, Chess960 and X-FEN
  • UCI_ShowCurrLine (UCI standard, sends current line in search tree)
  • UCI_Chess960 (useless, but tells GUI that engine is able to play Chess960)
  • Info_Depth (shuts up the engine until configured iteration depth is reached; PV will be sent anyway)

The following XBoard features are used: ping, setboard, usermove, draw, reuse, analyze, nps, debug, memory; option Debug=1 will cause the engine to send tree statistics and time allocation info (as does "debug on" under UCI).

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 19:31
by Oliver Uwira
Here is an update that fixes the time loss bug and another howler discovered recently.

http://home.arcor.de/steve-o13/kurt/kurt_0_9_2_beta_update.zip

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 20:21
by Tuvoc
I can register the 32-bit version under Shredder GUI, but registering the 64-bit version results in an error about a missing DLL, MSVCR100

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 20:45
by Dann Corbit
static bool CheckMateSearchScore(Engine *engine, int score)
{
int mateply;
Move best, ponder;

if (score < MIN_MATE_SCORE); // Is this semi-colon intended? It seems very strange to terminate the statement in this way and always return false.
return false;

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 21:09
by Oliver Uwira
Dann Corbit wrote:static bool CheckMateSearchScore(Engine *engine, int score)
{
int mateply;
Move best, ponder;

if (score < MIN_MATE_SCORE); // Is this semi-colon intended? It seems very strange to terminate the statement in this way and always return false.
return false;


Of course it is not intended. :?

Good catch. It is amazing how quick you hit something like this. :shock:

I've corrected the uploaded archive.

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 21:30
by Dann Corbit
This archive:
http://cap.connx.com/chess-engines/new- ... _2_beta.7z

Has the correction I mentioned above (along with a few minor tweaks) and a 64 bit binary that does not require the C runtime libraries to be installed (it is statically linked).

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 21:49
by Tuvoc
Thanks - and this engine should be able to play chess960 engine matches ?

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 22:00
by Oliver Uwira
Yes, but I haven't tested it under WinBoard yet.

Under UCI it has played a lot of Chess960 and it works. I've also played a couple of Chess960 under Arena when Kurt is run via WB2 and it seemed to work.
I hope it will also work when run under WinBoard.

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 22:26
by Tuvoc
What GUI did you use for the chess960 matches, and what setting for FEN_Version ?

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 22:54
by Oliver Uwira
Kurt supports four FEN dialects:

1) Standard FEN: Castling rights in FEN string are given as KQkq, castling moves as e1g1 etc.
2) Chess960 FEN: Castling rights in FEN string are given as AHah, castling moves as a "king takes rook"
3) X-FEN: Castling rights, erm... haven't touched the code for 4 years, would need to read up on it again :?
4) Arena FEN: Castling rights like 1), castling moves as O-O etc.

Chess960 under UCI and Arena runs without trouble. If you want to run Kurt under XBoard protocol, the FEN_Version cannot be changed.
It will be 1) by default and here a WinBoard expert needs to help out. I'd believe WinBoard would recognize e1g1 as a castling move in Chess960, wouldn't it?

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 23:25
by Tuvoc
I would not run it under Winboard, it would either be Shredder GUI or ChessGUI

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 23:30
by Oliver Uwira
ShredderGUI should work with option 2 (maybe also option 1). I've never tried ChessGUI yet.

Re: New Version: Kurt 0.9.2 beta

PostPosted: 19 Oct 2010, 23:31
by Tuvoc
OK I'll try that with Shredder.
It is virtually guaranteed to run under ChessGUI, that supports all the chess960 standards.

Re: New Version: Kurt 0.9.2 beta

PostPosted: 20 Oct 2010, 18:26
by Oliver Uwira
Dann Corbit wrote:This archive:
http://cap.connx.com/chess-engines/new- ... _2_beta.7z

Has the correction I mentioned above (along with a few minor tweaks) and a 64 bit binary that does not require the C runtime libraries to be installed (it is statically linked).


Regarding the other issues that popped up on the CCC, here is a correction.

http://home.arcor.de/steve-o13/kurt/kurt_0_9_2_beta_update.zip

Dann, is it possible to import your VS configuration into my solution from the solution and project files in your archive? I wonder, because my project folder structure is different.

Re: New Version: Kurt 0.9.2 beta

PostPosted: 20 Oct 2010, 20:39
by Dann Corbit
Oliver Uwira wrote:
Dann Corbit wrote:This archive:
http://cap.connx.com/chess-engines/new- ... _2_beta.7z

Has the correction I mentioned above (along with a few minor tweaks) and a 64 bit binary that does not require the C runtime libraries to be installed (it is statically linked).


Regarding the other issues that popped up on the CCC, here is a correction.

http://home.arcor.de/steve-o13/kurt/kurt_0_9_2_beta_update.zip

Dann, is it possible to import your VS configuration into my solution from the solution and project files in your archive? I wonder, because my project folder structure is different.


The paths are relative paths, so it seems to me it should work. Instead of replacing your project, just put my project in a folder underneath of your source folder. Then you can compare options and use anything from my project you like while retaining your current efforts.

I am using VS2010 premium and it is not backwards compatible with previous installations.

I made a few more things const safe in your code, and removed some unused variables. I also noticed that you only had buffering turned off for one direction of standard input/output so I turned it off in the other direction also. Buffering tends to cause subtle bugs for different GUIs, and it does not add anything to Xboard and UCI communication, which does not have to be fast anyway.
http://cap.connx.com/chess-engines/new- ... _2_beta.7z

Re: New Version: Kurt 0.9.2 beta

PostPosted: 22 Oct 2010, 18:25
by Charles Browne
There is a 404 error for the Kurt engine download link in the below post. Currently the last post in the below thread. Only an error here?

http://talkchess.com/forum/viewtopic.ph ... 754#373754

Re: New Version: Kurt 0.9.2 beta

PostPosted: 23 Oct 2010, 08:49
by Oliver Uwira
There was a typo, correct is:

http://home.arcor.de/steve-o13/kurt/kurt_0_9_2_beta_update.zip

Thanks for the hint.

Re: New Version: Kurt 0.9.2 beta

PostPosted: 31 Oct 2010, 18:47
by Tuvoc
Can I double-check - does the link in the post above this one give the latest x64 version ? There have been a few re-compiles

Re: New Version: Kurt 0.9.2 beta

PostPosted: 31 Oct 2010, 21:17
by Tuvoc
I cannot get Kurt to play chess960 under Shredder GUI. It announces mate on it's first move, which is of course an illegal one :shock:
Slightly better luck so far under ChessGUI, mid-way through game one :wink:

Re: New Version: Kurt 0.9.2 beta

PostPosted: 01 Nov 2010, 09:58
by Oliver Uwira
Tuvoc wrote:I cannot get Kurt to play chess960 under Shredder GUI. It announces mate on it's first move, which is of course an illegal one :shock:
Slightly better luck so far under ChessGUI, mid-way through game one :wink:


Hi,

I've found a problem in Shredder GUI in that it sends incomplete FEN strings (missing 50 move counter and move number) which made Kurt choke. I've fixed that problem and uploaded an update

http://home.arcor.de/steve-o13/kurt/kurt_0_9_3_beta.zip

I have tested with Shredder GUI and Chess960 works right away.

I have no idea about ChessGUI because up to now I never managed to make any engine play there. Understanding that software is a science in its own right. I have a hint for you, however. I've seen engine options for Chess960 in ChessGUI and you should switch the radio button for castling moves to HAha. Also, set Kurt's UCI option FEN_Version to Chess960 which will make Kurt send castling moves as "king takes rook", i.e. e1h1 for castling kingside in standard chess.

In the uploaded archive, you find my own binaries for 64 bit (kurt_0_9_3_beta_x64.exe) and 32 bit (kurt_0_9_3_beta_x86.exe), both of which are not very fast.