Edit: gave it a try but it auto resigns at the start of every game. Using the 32bit Linux version with icsdrone.
Icdrone resigns if the engine plays an illegal move or crashes or does something else that would make it impossible for the engine to continue the game. The log file should indicate what went wrong.
This feature is useful in order to have slightly unstable engines run reliably on FICS (especially variant engines do not tend to be very stable). The principal design requirement of icsdrone is that it should run forever, requiring no user interaction whatsoever.
This being said I have to make this feature optional since it apparently leads to much confusion.
Michel wrote:
Icdrone resigns if the engine plays an illegal move or crashes or does something else that would make it impossible for the engine to continue the game. The log file should indicate what went wrong.
This feature is useful in order to have slightly unstable engines run reliably on FICS (especially variant engines do not tend to be very stable). The principal design requirement of icsdrone is that it should run forever, requiring no user interaction whatsoever.
This being said I have to make this feature optional since it apparently leads to much confusion.
Well, it's mainly confusion if the engine cannot resign but the bug-report is that the engine resigns.
geots wrote:Well, I am not sure you know I have been running a huge freeware tourney with over 220 engines. Your version before this one I could not get to work in Fritz 11 or Fritz 13 gui . That is why it was not in the tournament. It says in the list WB/UCI- which I assume means either. Tho I don't know that for sure. I just know it would not load as WB or UCI in Windows 7, Fritz 11, using either of my 2 new Intel i5 4-core systems. And the same in my XP Pro quad. It just will not work at all- as I spent 6 hours working with your engine. So I have to assume this will be the same. And a pity- I really wanted to run it.
Well, I didn't know about the tournament, which is a shame.
I obviously cannot fix problems that I don't know about, but even knowing that the program fails to run by itself makes it hard to figure out what the problem may be. All I do know for sure is that it runs properly in my own development environment, which consists of OS X and Linux (64 bit, Core 2 and i7), XBoard and cutechess-cli. The Windows builds I can only create with a cross compiler and test in Wine, which I'm sure adds to the list of potential issues. I'm quite happy to spend some time figuring out what the problem is (when I have the time, which I do just right now); perhaps I'll start with providing binaries with different compiler/architecture options; I didn't touch those and they may be pre-set to something that works on my machine but not anything else. I should check what I did with Sjaak, there may have been some similar issues there. To be continued.
Jazz can work as a UCI or as an XBoard engine, but you need distinct executables for each: xbjazz is the XBoard version, ucijazz is the UCI version (which come to think of it I didn't include in the archive here). Most of my development goes through the XBoard version (the rest goes through a variety of other executables that do things like run test suits or analyse EPD files) and I haven't touched the UCI code for almost two years except to make sure that it still compiles. That said, it should still work.
Well, at least I figured out Jazz using Jim Ablett's 64-bit uci compile. The other 2 previous versions I tried work exactly like this new one. It works, but then again it doesn't. The reason I did not have the other 2 working was my fault, but then again it wasn't. Depends on your point of view. I always install an engine and then the first thing I do is load it in Fritz on the main, big board where you play against engines yourself. I make enough moves against an engine to check the hash it is using, check the number of cores it is using, make sure there is no internal opening book in the executable, etc. But Jazz creates a problem I have never seen before- and I remember now that is why I quit trying to run it. If you load it on the main board and make an opening move with white, it plays fine and answers with its move. But that is it. That is the last move it makes. When you check task manager and watch, as soon as it makes that move- the core used is now in the gui column, and Jazz has no core to use. So its clock just runs.
I never considered anything else- but IF you skip all that, and just start it in a match ag. another engine, so far it plays fine, and they trade the core back and forth as they should when ponder is OFF. I just never dreamed that if you could not play the engine yourself, it would still work ok ag. another engine. Just keep it off the main board where a person plays an engine. Because it won't. That is what I meant by it does and doesn't. From a tester's POV, so far at least- it seems to work. Go figure- it's way over my head- which I admit isn't hard to do.
So far it is on its 3rd game at 4'+2" against whoever the hell was playing there last. To tell you the truth- I didn't even look to see which engine it is playing. Wins and losses are not the objective at the present time. I just want to make sure it doesn't crash on me before I head to get some sleep. If you don't hear anything further- all is well in Fritz- as far as testing it goes. And that is all I do.
One problem I have noticed is in Jazz's evaluation of positions. If Jazz is playing white, in each thinking line- no matter the position- he shows 0.01 as the evaluation. Never changes. When he plays black- his evaluation is always -0.01- all the way thru the game in every thinking line. He was ahead- his opponent was white and showed -8.25. But Jazz still showed -0.01. Never changed- even when his opponent resigned. I do not know if he just doesn't show it, or if he even actually knows what the position should be evaluated as.
geots wrote:
I never considered anything else- but IF you skip all that, and just start it in a match ag. another engine, so far it plays fine, and they trade the core back and forth as they should when ponder is OFF. I just never dreamed that if you could not play the engine yourself, it would still work ok ag. another engine. Just keep it off the main board where a person plays an engine. Because it won't.
That sounds very messed up. Needless to say (perhaps), it works fine for me (with XBoard, but also under Sigma Chess as a UCI engine) and I have a hard time coming up with what goes on in the communication between the GUI and the engine that would cause this behaviour.
Is it possible to get a logfile of the communication between the GUI and the engine? If not I can provide a version of Jazz that writes its own logfile (at least in XBoard mode).
geots wrote:One problem I have noticed is in Jazz's evaluation of positions. If Jazz is playing white, in each thinking line- no matter the position- he shows 0.01 as the evaluation. Never changes. When he plays black- his evaluation is always -0.01- all the way thru the game in every thinking line. He was ahead- his opponent was white and showed -8.25. But Jazz still showed -0.01. Never changed- even when his opponent resigned. I do not know if he just doesn't show it, or if he even actually knows what the position should be evaluated as.
Again, this sounds weird. Jazz should definitely output normal scores and PVs. Once again, would it be possible to get a logfile to monitor the engine <---> GUI communication?
geots wrote:One problem I have noticed is in Jazz's evaluation of positions. If Jazz is playing white, in each thinking line- no matter the position- he shows 0.01 as the evaluation. Never changes. When he plays black- his evaluation is always -0.01- all the way thru the game in every thinking line. He was ahead- his opponent was white and showed -8.25. But Jazz still showed -0.01. Never changed- even when his opponent resigned. I do not know if he just doesn't show it, or if he even actually knows what the position should be evaluated as.
Again, this sounds weird. Jazz should definitely output normal scores and PVs. Once again, would it be possible to get a logfile to monitor the engine <---> GUI communication?
Evert, to tell you the truth, I don't know about the logfile. Only thing I have ever really done with them is try to stop engines from creating them- not the other way around. Never tried to create one, IOW. I could come up with the pgns, but that really won't help you.
geots wrote:
Evert, to tell you the truth, I don't know about the logfile. Only thing I have ever really done with them is try to stop engines from creating them- not the other way around. Never tried to create one, IOW. I could come up with the pgns, but that really won't help you.
You're right, the PGN wouldn't be much help.
It seems that I had forgotten that I'd already added the ability to switch on the logfile in Jazz a while back. If you start it with "xbjazz -log" or "xbjazz -log filename.log" it will generate a logfile containing all GUI <---> engine traffic (in the first case it'll be called "jazz.log", in the second it'll be whatever you specify).
Unfortunately this will only work for the XBoard version, not for the UCI version (I should probably change that, or add the option to the engine options dialogue).
geots wrote:
Evert, to tell you the truth, I don't know about the logfile. Only thing I have ever really done with them is try to stop engines from creating them- not the other way around. Never tried to create one, IOW. I could come up with the pgns, but that really won't help you.
You're right, the PGN wouldn't be much help.
It seems that I had forgotten that I'd already added the ability to switch on the logfile in Jazz a while back. If you start it with "xbjazz -log" or "xbjazz -log filename.log" it will generate a logfile containing all GUI <---> engine traffic (in the first case it'll be called "jazz.log", in the second it'll be whatever you specify).
Unfortunately this will only work for the XBoard version, not for the UCI version (I should probably change that, or add the option to the engine options dialogue).
It does bring up an interesting point. For many situations- not all- but many- is a correct evaluation necessary!? As long as he continues to pick the best moves per situation- that could often be enough. Of course I realize it is important for him to evaluate correctly, so my question to you: Is he evaluating correctly per situation- and just not showing it- or does he just not have the ability to evaluate it?