hgm wrote:Indeed, that is the direct link. I still have not gotten to updating the pages at WinBoard forum, sorry about that.
Thanks! It was also very easy to copy the engines from previous
WB-version. Also very nice that some settings were saved like those
chosen for the chessboard.
Problem solved.
Clicking abort/resign before clicking 'new' , saves the game in those cases where the game isn't over yet.
Others GUIs work diferently.
I checked the code, and indeed pressing New Game does not call the routine GameEnds (which is responsible for auto-saving of the game currently in progress). I have never changed anything in this respect, so it must have been like that since ancient times.
I can very well imagine that this is intentional, in order to leave the user at least one way to leave a game without saving it. I am reluctant to change such things, because I have no idea how many users rely on this behavior. For all I know I could be swamped by complaints by users that now see their game database fill up with garbage games of just a few moves long, which they had not intended to be saved.
You could always pop up a dialog box asking the user if they want to save the game or not, with one of those "don't ask again" checkboxes to remember their choice as default.
Of course you'd then need to have a way to get the dialog box back if you wanted to, but that could be an option "ask to save game when starting a new game" or something like that.
Well, I guess a checkbox in the Save Game Options dialog "Also save games interrupted by pressing New Game" would do it. People cannot auto-save unless they have opened that dialog first.
It is just that no one ever complained about this before, or we could have had it long ago.
First, i'm not complaining.
Second, since this is the natural/normal behaviour of xboard, i think we should leave as it is.
May i sugest just one thing, it is to clarify this behaviour in xboard/winboard help files.
If we are aware of this when using it, there will be no problem.
Testing variant KotH with Fairy-Max against Gitna on winboard 4.8.0b with verify engine claims set to true.
Case 1, Gitna claimed a win by "White K is in center" because its king had reached the center sq, but winboard flags the claim as false and awarded the game to Fairy-max.
[pgn]
[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2014.11.01"]
[Round "2"]
[White "Gitna v0.4"]
[Black "Fairy-Max 4.8V"]
[Result "0-1"]
[TimeControl "300+1"]
[Variant "king-of-the-hill"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"]
[SetUp "1"]
{--------------
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B Q K B N R
white to play
--------------}
1. e4 {+0.33/15} c5 {+0.13/9 17} 2. Nc3 {+0.52/17 4} Nc6 {+0.01/9 8} 3. Nf3
{+0.33/17 7} g6 {+0.09/9 16} 4. Bc4 {+0.92/17 5} Nf6 {+0.00/9 5} 5. O-O
{+0.73/15 8} Bg7 {+0.19/9 5} 6. Bb3 {+0.37/16 6} Nd4 {+0.16/9 8} 7. d3
{+0.36/16 4} Nxb3 {+0.43/11 5} 8. axb3 {+0.40/16 2.2} d5 {+0.53/9 4} 9. e5
{+0.91/17 4} Nd7 {+0.26/11 8} 10. d4 {+1.11/18 5} cxd4 {+0.11/11 13} 11.
Qxd4 {+1.06/15 0.8} Nb6 {+0.13/10 10} 12. Be3 {+1.55/15 3} Be6 {+0.20/9 7}
13. Qh4 {+1.35/16 5} Nd7 {+0.28/8 4} 14. Bh6 {+1.40/17 3} Bxh6 {+0.31/10 4}
15. Qxh6 {+1.47/16 1.3} Qb6 {+0.31/9 3} 16. Rfd1 {+1.40/18 6} Qc7
{-0.07/9 4} 17. Nxd5 {+2.74/16 4} Bxd5 {+0.01/10 3} 18. Rxd5 {+2.77/15 1.2}
O-O-O {-0.47/10 30} 19. Qe3 {+2.82/16 4} a6 {-0.76/8 3} 20. e6 {+2.58/18 3}
fxe6 {-0.83/11 4} 21. Qxe6 {+2.19/18 2.9} Qc6 {-0.84/11 3} 22. Qxc6+
{+2.46/16 4} bxc6 {-0.85/13 7} 23. Rd4 {+2.40/16 5} Nb8 {-1.02/11 8} 24.
Re4 {+2.50/15 3} Rd7 {-0.99/10 2.4} 25. Rae1 {+2.64/16 2.8} Kc7
{-1.06/11 6} 26. Ne5 {+2.51/16 3} Rd5 {-1.22/11 7} 27. Nc4 {+2.48/16 2.6}
e5 {-1.29/10 2.6} 28. Rxe5 {+3.02/17 3} Rxe5 {-1.69/12 6} 29. Rxe5
{+2.66/20 2.7} Nd7 {-1.93/11 3} 30. Re6 {+2.61/19 4} Nb6 {-2.64/12 4} 31.
Re7+ {+3.51/19 2.5} Kd8 {-2.54/13 3} 32. Ra7 {+3.46/20 2.3} Nxc4
{-2.38/12 2.6} 33. bxc4 {+8.21/16 0.8} Re8 {-2.67/12 2.0} 34. Ra8+
{+299.85/14 1.7} Kc7 {-8.19/17 2.2} 35. Rxe8 {+299.89/15 2.1} Kb6
{-8.20/11 2.0} 36. f4 {+299.91/13 0.7} Kc5 {-79.96/15 2.1} 37. Rd8
{+299.93/13 0.6} Kxc4 {-79.97/28 1.2} 38. Kf2 {+299.95/13 0.9} h5
{-79.98/28 0.1} 39. Ke3 {+299.97/13 0.9} a5 {-79.99/28 0.1} 40. Ke4
{+299.99/13 0.8}
{False win claim: 'White K is in center'} 0-1[/pgn]
Case 2, I reduce the strength level of Gitna, and Fairy-Max was able to bring his king to one of those center squares first and claimed a win as "Black mates" although there is no mate, and winboard flags the claim as false and awarded the game to Gitna.
[pgn]
[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2014.11.01"]
[Round "2"]
[White "Gitna v0.4"]
[Black "Fairy-Max 4.8V"]
[Result "1-0"]
[TimeControl "300+1"]
[Variant "king-of-the-hill"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"]
[SetUp "1"]
KOTH is not a WinBoard standard variant, but a variant unknown to WinBoard played as a sufficiently compatible standard variant. That the engine configured WB 'behind the user's back' to make it as compatible as possible does not alter that. WinBoard would just apply normal Chess rules to it, also when judging engine claims. So indeed, these kind of features will have to be switched off. (There is no protocol yet to have the engine swicth these options on and off. This could be made, of course. A kludgy way to do it would be to allow the engine to send a command "configure XXX" where XBoard would then process the XXX as if it had been on its command line. I don't like that much, however, because it would contaminate the protocol with the XBoard-specific command-line options.)
That also holds for trivial draws and material draws: KK isn't necessarily draw in KOTH (I think).
Fairy-Max' interpretation of KOTH is that a King is allowed to move anywhere from the hill squares. So it will be checking the opponent King, and there will be no evasion other than capturing the checker. If no evasion is possible, it considers it a mate.