WinBoard, exotic version

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

If it does not accept the comma on the first leg, this should definitely be considered a WinBoard bug. Problem is that without engine I can test none of this.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Oh I thought you were using NebiyuAmazons which I included in the package. It has the working version with 'legality off ' available here https://sites.google.com/site/dshawul/home . If you turn on legality it rejects it.

Also, the fifty move rule should be disabled otherwise it adjuncates Go and reversi games to a draw ;)
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

I did not know that you already had the 0-9 and drop-less version there.

Anyway, I downloaded it now, and did some testing, and indeed various things were broken in WB in Amazons in connection with multi-move, and legality testing (I had forgotten to strip the continuation flag off the promoChar before submitting it to legality testing, which was wrecking TwoMachines mode), and the first leg was immediately sent to the engine when you did not press control becase I tested a wrong flag).

This is fixed now. Multi-move breaks move animation in two-machines mode, though. Still got to fix that, but engine-engine and engine-human games do work. (And I beat Nebiyu ovewhelmingly, having still a half-empty board available for one of my Amazons when Nebiyou ran out of moves, in a blitz game. 8-) )
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

OK, animation (of the first leg) now works too, in TwoMachines mode, and the moved Amazon and dropped arrow will remain highlighted after the move. That makes the game a lot easier to follow.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Yes everything works great now! Wait till I implement my super-duper territory eval for amazons too :wink:
Good news for the alien edition too. I was able to report amazons as an alien and play a single move with it. The engine sent a setup which winboard willingly accepted and updated its display as well. Impressive! But it stoped right there, didn't send the newly updated board to the second engine! which was waiting because it still has the starting fen which has white to play. I am sure this is easy to fix.

First engine
<000000000516>new
<000000000532>random
<000000000532>variant 10x10+0_alien
setup (....A.............L.....a.............l.) 3a2a3/10/10/a8a/10/10/A8A/10/10/3A2A3 w - - 0 1

<000000000532>level 40 2 0
<000000000532>post
<000000000532>hard
<000000000532>easy
<000000002188>force
<000000002704>computer
<000000002704>name NebiyuAmazons_1.0
Hello NebiyuAmazons_1.0!
<000000002704>time 12000
<000000002704>otim 12000
<000000002704>go
[st = 2813ms, mt = 59250ms , hply = 0 , moves_left 40]
2 40 0 2445 g0g6b6 g9e7e3
2 40 3 9138 g0g6b6 g9e7e3
3 110 4 10576 g0g6b6 g9e7e3 g6f6f7
3 200 6 14325 d0d6i6 g9g3d3 j3e8e9
3 200 9 19758 d0d6i6 g9g3d3 j3e8e9
4 50 10 21606 d0d6i6 g9g3d3 j3e8e9 g3g5e7
4 70 15 31136 j3g6d6 g9h8g9 d0h4h6 a6e2g4
4 80 28 53472 j3g6e6 g9g7g9 d0d4d7 a6f1d3
4 90 75 137067 a3d6g6 a6e2g4 d0f2f9 g9e7i3
4 100 126 226218 d0d5b5 g9g1i3 j3g6b6 a6c8f5
nodes = 490391 <34 qnodes> time = 2828ms nps = 173405
splits = 0 badsplits = 0
<000000005532>setup (....A.............L.....a.............l.) 3a2a3/10/10/a8a/1L1A6/10/A8A/10/10/6A3 b - - 0 1
<000000014032>result * {xboard exit}
Second engine
<000000000516>new
<000000000547>random
<000000000547>variant 10x10+0_alien
setup (....A.............L.....a.............l.) 3a2a3/10/10/a8a/10/10/A8A/10/10/3A2A3 w - - 0 1

<000000000547>level 40 2 0
<000000000547>post
<000000000547>hard
<000000000547>easy
<000000000547>force
<000000000547>setboard 3a2a3/10/10/a8a/10/10/A8A/10/10/3A2A3 w - - 0 1
<000000000562>computer
<000000000562>name NebiyuAmazons_1.0
Hello NebiyuAmazons_1.0!
<000000011844>result * {xboard exit}


<000000011844>force
<000000011844>quit
Bye Bye
In the mean time I am looking for a really alien game to implement, maybe something from Mars :roll:
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

I am not sure I read the engine logs correctly, but it seems you do not send any move commands. In varient alien you still would have to send the same move commands as in a normal variant, WB will be waiting for them to pass them to the opponent. The board update is just an optional extra. It will not lead to any state change, and will not be transmitted to the opponent. (Who is assumed to know the side effects of the moves.)

Martian Chess seems to be called Jetan...
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Indeed, the move had to be sent to. I thought since it will not interpret it why send it, but it can animate moves with it , produce a nice PGN with it. I like this. It is like it can do everything the winboard understood variants do except legality testing is off. A little glitch is that the moves are being wrongly interpreted in the PGN. For instance the first move is a non-capture c3b4 but it is interpreted as a capture movecxb4.

I have now an optional parameter in my ini file 'alien' which can be set to 'yes' to play any variant in alien mode. Here is checkers played as an alien

Code: Select all

1. cxb4 &#123;+0.00/24&#125; dxc5 &#123;+0.00/24&#125; 2. bxd6 exc5 &#123;+0.00/25&#125; 3. bxc3 &#123;+0.00/24&#125; cxd6 &#123;-0.08/24&#125; 4. cxb4 &#123;+0.08/24&#125; bxa5 &#123;-0.16/23&#125; 5. exf4 &#123;+0.08/27&#125; axc3 6. dxb4 fxe7 &#123;+0.00/25&#125; 7. axb2 &#123;+0.16/27&#125; axb6 &#123;-0.08/27&#125; 8. cxd2 &#123;+0.16/28&#125; bxa5 &#123;+0.08/28&#125; 9. bxc3 &#123;-0.90/30&#125; bxc7 &#123;-0.22/29&#125; 10. fxe3 &#123;+0.04/31&#125; cxb6 &#123;-0.06/32&#125; 11. gxh4 &#123;+0.08/33&#125; fxg5 &#123;-0.10/34&#125; 12. hxf6 gxe5,exg3 &#123;-0.18/33&#125; 13. hxf4 exf6 &#123;-0.10/33&#125; 14. cxd4 &#123;+0.06/31&#125; axc3 15. dxb4 bxa5 &#123;-0.06/30&#125; 16. dxb6 axc3 17. bxa7 &#123;+0.04/25&#125; cxb2 &#123;-0.10/24&#125; 18. axb8=Q &#123;+0.06/25&#125; bxc1=Q &#123;-0.10/24&#125; 19. exd4 &#123;+0.12/26&#125; fxg5 &#123;+0.26/27&#125; 20. Qa7 &#123;+0.02/28&#125; gxe3 21. exd2 &#123;-0.20/28&#125; exf2 &#123;+0.90/28&#125; 22. gxe3 hxg5 &#123;+0.88/27&#125; 23. dxc3 &#123;-0.42/26&#125; Qb2 &#123;+0.82/27&#125; 24. cxb4 &#123;-1.04/29&#125; Qc3 &#123;+1.08/29&#125; 25. dxc5 &#123;-1.32/33&#125; Qa5 26. cxe7 dxf6 27. exd4 &#123;-1.50/32&#125; gxh4 &#123;+1.10/26&#125; 28. dxc5 &#123;-1.76/30&#125; hxg3 &#123;+1.70/29&#125; 29. cxd6 &#123;-1.36/34&#125; gxf2 &#123;+1.30/29&#125; 30. dxe7 &#123;-2.80/33&#125; fxe5 &#123;+2.90/32&#125; 31. exd8=Q &#123;-1.60/31&#125; hxg7 &#123;+3.12/34&#125; 32. Qab6 &#123;-3.30/35&#125; Qc7 33. Qb6 exf4 &#123;+3.50/34&#125; 34. axb4 &#123;-3.70/35&#125; gxf6 &#123;+3.60/35&#125; 35. Qc5 &#123;-3.80/37&#125; fxg5 &#123;+3.70/35&#125; 36. bxa5 &#123;-3.90/36&#125; fxg3 &#123;+3.90/37&#125; 37. Qd4 &#123;-4.00/39&#125; gxf4 &#123;+4.00/39&#125; 38. axb6 &#123;-4.00/40&#125; gxh2 &#123;+4.00/38&#125; 39. Qe5 &#123;-4.00/40&#125; fxe3 &#123;+4.00/40&#125; 40. bxc7 &#123;-4.00/39&#125; hxg1=Q &#123;+4.10/38&#125; 41. cxd8=Q &#123;-4.20/36&#125; exd2 &#123;+4.00/35&#125; 42. Qed4 &#123;-4.20/33&#125; fxe1=Q &#123;+4.00/34&#125; 43. Qe7 &#123;-4.20/33&#125; dxc1=Q &#123;+4.10/31&#125; 44. Qef6 &#123;-4.20/34&#125; Qgf2 &#123;+4.30/32&#125; 45. Qc5 &#123;-4.30/31&#125; Qed2 &#123;+4.20/32&#125; 46. Qcd6 &#123;-4.30/31&#125; Qdc3 &#123;+4.30/31&#125; 47. Qde5 &#123;-4.30/33&#125; Q1d2 &#123;+4.30/31&#125; 48. Qfe7 &#123;-4.30/34&#125; Qfe3 &#123;+4.30/33&#125; 49. Q7f6 &#123;-4.40/35&#125; Qed4 &#123;+4.40/35&#125; 50. Qef4 &#123;-4.40/35&#125; Qe1 &#123;+4.40/32&#125; 51. Qg3 &#123;-4.50/31&#125; Qed2 &#123;+4.40/34&#125; 52. Qgf4 &#123;-4.50/32&#125; Qdc5 &#123;+4.50/33&#125; 53. Q6e5 &#123;-4.50/35&#125; Q5d4 &#123;+4.50/36&#125; 54. Qef6 &#123;-4.50/34&#125; Qdc5 &#123;+4.40/35&#125; 55. Q6e5 &#123;-4.50/34&#125; Q5d4 &#123;+4.40/35&#125; 56. Qef6 &#123;-4.50/35&#125; Qe1 &#123;+10.30/37&#125; 57. Qe7 &#123;-4.50/32&#125; Qb2 &#123;+8.00/32&#125; 58. Qd8 &#123;-4.50/34&#125; Qbc3 &#123;+4.40/32&#125; 59. Qg3 &#123;-4.40/35&#125; Qde5 &#123;+4.70/33&#125; 60. Qc7 &#123;-4.40/35&#125; Qcd4 &#123;+4.60/34&#125; 61. Qb6 &#123;-4.50/36&#125; Qed6 &#123;+4.60/35&#125; 62. Qa7 &#123;-4.40/31&#125; Qed2 &#123;+4.60/34&#125; 63. Qb6 &#123;-4.50/37&#125; Qe1 &#123;+4.60/37&#125; 64. Qh2 &#123;-4.60/38&#125; Qef2 &#123;+4.60/40&#125; 65. Qg1 &#123;-4.60/40&#125; Qfg3 &#123;+4.70/43&#125; 66. Qa7 &#123;-4.50/39&#125; Q6c5 &#123;+4.60/42&#125; 67. Qh2 &#123;-4.60/41&#125; Qgf2 &#123;+181.60/45&#125; 68. Qg1 &#123;-4.60/41&#125; Qfe3 &#123;+183.20/42&#125; 69. Qb8 &#123;-4.60/42&#125; Qf2 &#123;+188.00/96&#125; 70. Qe3 Qf2 71. Qc7 &#123;-188.40/96&#125; Qfe3 &#123;+189.60/96&#125; 72. Qb8 &#123;-162.00/96&#125; Qed4 &#123;+190.40/96&#125; 
I have recompiled and uploaded all the games to support setting the alien mode to on from the ini.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

Hmm, this suggests there still is a WB problem. The SAN generator uses 'x' in the move if the to-square was not empty, and it tests this on the board before the move (obviously). The fact that it unjustly uses it, suggests that the boards loaded by setup are stored 'out of phase', so that it is in practice testing the board after the move.

What happens when you step through the played game with the arrows? Do the board correspond with the move number and side to move (as indicated by the clock blackening)?
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

On a second thought, the PGN will probably not work for most alien games as it will not store the intermediate states anyway. The 'side effects' of the move like th flips in reversi will not be done correctly.

I will get back to you wit the checkers animation result.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

Daniel Shawul wrote:On a second thought, the PGN will probably not work for most alien games as it will not store the intermediate states anyway. The 'side effects' of the move like th flips in reversi will not be done correctly.

I will get back to you wit the checkers animation result.
This is why you always need an engine. An unsupported game cannot be viewed in game-viewer mode. But with a first engine loaded, in Edit Game mode, the moves will be forced into the engine while the game is being loaded. So I guess it is necessary to not only send a setup command for board update after your own move, but also after receiving the move of your opponent. Even when receiving that move in force mode. Just send a new board after every move. In TwoMachines mode, WB can ignore one of them. (Actually, it could even compare them! :idea: )