WinBoard, exotic version

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27788
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:So to play in multi player mode the engine should always be in force mode when it gets a move, then explicitly told to 'go' afterwards after legality testing is done.
I don't see that. If there is a fixed order in which the players move, or it can be deduced from the moves who's turn it is next, it should still be possible to assign it a color, and have it play automatically when its color comes up.

If the players are red, green and blue, playing in that order, when all engines at startup by default think they are playing blue, you would have to tell some of them differently,of course. But that is not different in WB protocol for Chess, where both engines also start playing black, and the one you want to play white has to be told by a 'go' command. In this case you would start sending 'go' to the red player, then send the move it comes up with to green and blue, and then 'go' to green to have it produce its move. And from then on, only moves would suffice.
Rein Halbersma
Posts: 741
Joined: Tue May 22, 2007 11:13 am

Re: WinBoard, exotic version

Post by Rein Halbersma »

hgm wrote:
In any case, it would be nice if multi-leg moves could be entered by clicking on the intermediate squares only once. So for a e4c6, c6a4 capture, it would be nice just to click on e4c6a4.
I agree this would be nice, but it is also a bit of a problem. Because how is the GUI to know that the next leg will necessarily start with the same piece as the previous one? In Arimaa, for instance, this will not be the case. (And neither in Chess variants for non-standard castlings.)
This could be specified in a game specific variable. All draughts variants have this property.
Or better yet, just to click e4a4, and let the engine decide whether this is the only unique move. Or is this at odds with what is to be expected from an engine?
Well, this is a problem that led us to the complex multi-leg move entry in the first place. In general from- and to-square are not enough information to fully specify the move, in Draughts. There could be different paths between the same squares. Basically, what you ask is the equivalent of the /oneClickMove option in Chess, where a move is already done based on partial entry (either the from or the to square, if there is only a single legal move from or to it). In a general GUI completely devoid of game knowledge this might be asking a bit too much. Even in the very simpletwo-square case of Chess the usefulness of one-click moving is a controversial topic.
The CheckerBoard GUI http://www.fierz.ch/cbdeveloper.php is designed for 8x8 draughts, and as such knows the rules of the specific variant English/American checkers. However, to support other game rules that the GUI is unaware of, the engine can define a function

Code: Select all

 
int WINAPI islegal(int board[8][8], int color, int from, int to, struct CBmove *move);

struct CBmove
{
int jumps; // number of jumps in this move
int newpiece; // moving piece after jump
int oldpiece; // moving piece before jump
struct coor from,to; // from,to squares of moving piece
struct coor path[12];	// intermediate squares to jump to
struct coor del[12];	// squares where men are removed
int delpiece[12]; // piece type which is removed
}

struct coor
{
int x;
int y;
}
If you combine this with a game specific flag that the game has multiple-leg captures (with the destination of the previous capture equal to the from square of the next one), then the user could simply click the capture sequence by single-crt-clicking the sequence. The GUI then simply has to marshall the click-sequence into the CBmove struct.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

I read here in this forum just recently about a chess game being played by two different engines (of two different strength or style), playing a game against another engine. Would a (Rybka + Tscp) combo beat (Scorpio) ? This is multi-player games playing a normal chess. I can add other combinations and each time it will be different. This is the one I tested.
You can not depend on the order of play to make auto moves, so the engine should be in force mode and explicity told to go when the GUI says so.

In the real multi-player games like chineese checkers or three way chess, you pick one color and stick with it i.e RGB order you mentioned. In some multi player variants , one of the players can loose , at which point the game is stopped Or the other engines can fight it out to determine the winner. So the game will be reduced to two player etc.. So either we have to use the force mode, or update all engines to how many players are participating in the game currently.

P.S: where is the specification you mentioned in winboard forum
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Hello Rein

Here is a link to a new Nebiyu that I promised earlier. It is v1.4 and has many changes. The Alien version has experimental alien games such as crazyhouse which are not finished yet. I forgot what I have done since it has been some time.. Enjoy and let me know if the checkers input problem is fixed or not .
The CheckerBoard GUI http://www.fierz.ch/cbdeveloper.php is designed for 8x8 draughts, and as such knows the rules of the specific variant English/American checkers. However, to support other game rules that the GUI is unaware of, the engine can define a function
CheckerBoard and another old chess GUI written in OWL (forgot the name) was what motivated me to do chess.
I think checkerboard still has some problems in resolving multiple captures when i tried it recently. I setup a triple capture which can be made in two ways to two different squares and it just did one of them automatically.

cheers
Rein Halbersma
Posts: 741
Joined: Tue May 22, 2007 11:13 am

Re: WinBoard, exotic version

Post by Rein Halbersma »

Daniel Shawul wrote:Hello Rein

Here is a link to a new Nebiyu that I promised earlier. It is v1.4 and has many changes. The Alien version has experimental alien games such as crazyhouse which are not finished yet. I forgot what I have done since it has been some time.. Enjoy and let me know if the checkers input problem is fixed or not .
Just tested it, but it still doesn't work! The exact same example and sequence I posted here earlies gives a crash of Nebiyu. This example was in Analysis Mode. During games against the engine, I had no problems entering captures (also not in the previous version).
The CheckerBoard GUI http://www.fierz.ch/cbdeveloper.php is designed for 8x8 draughts, and as such knows the rules of the specific variant English/American checkers. However, to support other game rules that the GUI is unaware of, the engine can define a function
CheckerBoard and another old chess GUI written in OWL (forgot the name) was what motivated me to do chess.
I think checkerboard still has some problems in resolving multiple captures when i tried it recently. I setup a triple capture which can be made in two ways to two different squares and it just did one of them automatically.

cheers
You are right! From http://www.fierz.ch/faq.php :
"CheckerBoard doesn't understand ambiguous captures and there is only one way out, which may not work though: Have the engine play your move for you - it will choose the better capture. Then continue to play normally."
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Are you sure about that. I get correct behaviour here. First console mode

Winboard gui starts counting ranks from 0 so i input e5c7,c7a5 for console but in winboard it is e4c6,c6a4. My winboard version is 4.4.4.
I will test selection of the longest capture problem next.

First console mode

Code: Select all


            a b c d e f g h i j
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
         10 . p . p . p . p . p * * * * * * 10
          9 p . p . p . p . p . * * * * * * 9
          8 . p . p . p . p . p * * * * * * 8
          7 . . . . p . p . p . * * * * * * 7
          6 . p . p . . . . . . * * * * * * 6
          5 . . . . P . . . . . * * * * * * 5
          4 . P . P . P . P . P * * * * * * 4
          3 P . . . P . P . P . * * * * * * 3
          2 . P . P . P . P . P * * * * * * 2
          1 P . P . P . P . P . * * * * * * 1
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
            a b c d e f g h i j

        1p1p1p1p1p/p1p1p1p1p1/1p1p1p1p1p/4p1p1p1/1p1p6/4P5/1P1P1P1P1P/P3P1P1P1/1
P1P1P1P1P/P1P1P1P1P1 w - - 0 3

moves
Illegal move: moves
movelist
movelist 1 e5c7a5
e5c7a5
Illegal move: e5c7a5
e5c7,c7a5
[st = 6946ms, mt = 14625ms , moves_left 8]
2 -205 0 103  i7h6 a5b6 EBF = 9.61
3 -190 1 395  b8c7 j4i5 a9b8 EBF = 6.97
4 -190 1 684  b8c7 j4i5 i7h6 i3j4 EBF = 4.83
5 -190 1 1126  b8c7 b2c3 a9b8 a1b2 i7h6 EBF = 3.84
5 -180 1 1504  i7h6 h4i5 j8i7 f4g5 h6f4 g3e5 EBF = 4.08
5 -180 1 1741  i7h6 h4i5 j8i7 f4g5 h6f4 g3e5 EBF = 4.21
6 -190 3 2426  i7h6 b4c5 g7f6 f4g5 h6f4 e3g5 EBF = 3.46
6 -190 3 3151  i7h6 b4c5 g7f6 f4g5 h6f4 e3g5 EBF = 3.63
7 -190 3 3986  i7h6 b4c5 g7f6 h4g5 f6h4 g3i5g7 h8f6 EBF = 3.09
7 -190 3 4954  i7h6 b4c5 g7f6 h4g5 f6h4 g3i5g7 h8f6 EBF = 3.20
8 -190 4 8260  i7h6 b4c5 j8i7 b2c3 b8c7 a3b4 e7d6 c5e7 d8f6 EBF = 2.93
8 -190 4 10047  i7h6 b4c5 j8i7 b2c3 b8c7 a3b4 e7d6 c5e7 d8f6 EBF = 3.01
9 -200 4 14556  i7h6 b2c3 h8i7 a1b2 b8c7 f4g5 h6f4 g3e5 a9b8 EBF = 2.76
9 -200 6 18360  i7h6 b2c3 h8i7 a1b2 b8c7 f4g5 h6f4 g3e5 a9b8 EBF = 2.84
10 -190 6 25150  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 a3b4 e7d6 c5e7 d8f6 EBF = 2.
63
10 -190 7 30266  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 a3b4 e7d6 c5e7 d8f6 EBF = 2.
68
11 -190 7 35495  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 a3b4 e7d6 c5e7 d8f6 EBF = 2.
47
11 -190 9 47136  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 a3b4 e7d6 c5e7 d8f6 EBF = 2.
54
12 -210 10 60104  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 a3b4 b10a9 f4g5 h6f4 g3e5 E
BF = 2.39
12 -200 14 108980  b8c7 b2c3 a9b8 a1b2 e7f6 f4e5 i7h6 b4c5 j8i7 a3b4 d8e7 g3f4 E
BF = 2.52
12 -200 14 116792  b8c7 b2c3 a9b8 a1b2 e7f6 f4e5 i7h6 b4c5 j8i7 a3b4 d8e7 g3f4 E
BF = 2.54
13 -210 15 139781  b8c7 b2c3 a9b8 a1b2 i7h6 b4c5 g7f6 a3b4 b10a9 h4g5 f6h4 i3g5i
7 j8h6 EBF = 2.39
13 -195 17 164253  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 b10a9 a3b4 e7f6 g5e7
d8f6 EBF = 2.42
13 -195 18 174686  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 b10a9 a3b4 e7f6 g5e7
d8f6 EBF = 2.43
14 -195 20 199238  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 b10a9 a3b4 e7f6 g5e7
f8d6 c5e7 d8f6 EBF = 2.29
14 -195 21 220107  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 b10a9 a3b4 e7f6 g5e7
f8d6 c5e7 d8f6 EBF = 2.31
15 -195 25 281068  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 b10a9 a3b4 e7f6 g5e7
f8d6 c5e7 d8f6 EBF = 2.22
15 -195 28 320435  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 b10a9 a3b4 e7f6 g5e7
f8d6 c5e7 d8f6 EBF = 2.24
16 -195 32 393184  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 i9j8 a3b4 c7d6 d4e5 b
8c7 i3h4 i7j6 g5i7 j8h6 EBF = 2.15
16 -195 35 454232  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 h4g5 i9j8 a3b4 c7d6 d4e5 b
8c7 i3h4 i7j6 g5i7 j8h6 EBF = 2.17
17 -210 43 612146  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 a9b8 a3b4 e7f6 f4g5 h6f4 e3g5e7
 d8f6 h4g5 f6h4 i3g5 c7d6 c5e7 f8d6 EBF = 2.11
17 -205 68 1115991  g7f6 b2c3 b8c7 a1b2 a9b8 d4e5 f6d4 c3e5 e7f6 e5g7 h8f6 h4g5
f6h4 g3i5 i7h6 i5g7 f8h6 EBF = 2.19
17 -205 71 1185340  g7f6 b2c3 b8c7 a1b2 a9b8 d4e5 f6d4 c3e5 e7f6 e5g7 h8f6 h4g5
f6h4 g3i5 i7h6 i5g7 f8h6 EBF = 2.20
18 -205 79 1333157  g7f6 b2c3 b8c7 a1b2 a9b8 d4e5 f6d4 c3e5 e7f6 e5g7 h8f6 h4g5
f6h4 g3i5 d8e7 b4c5 i7h6 i5g7 f8h6 EBF = 2.11
18 -205 87 1484937  g7f6 b2c3 b8c7 a1b2 a9b8 d4e5 f6d4 c3e5 e7f6 e5g7 h8f6 h4g5
f6h4 g3i5 d8e7 b4c5 i7h6 i5g7 f8h6 EBF = 2.13
19 -205 106 1860868  g7f6 b2c3 b8c7 a1b2 h8g7 h4g5 f6h4 g3i5 i7h6 d4e5 a9b8 h2g3
 j8i7 i1h2 i9h8 b4c5 e7d6 c5e7 f8d6 EBF = 2.06
19 -205 123 2210591  g7f6 b2c3 b8c7 a1b2 h8g7 h4g5 f6h4 g3i5 i7h6 d4e5 a9b8 h2g3
 j8i7 i1h2 i9h8 b4c5 e7d6 c5e7 f8d6 EBF = 2.08
20 -205 146 2704310  g7f6 b2c3 b8c7 a1b2 h8g7 h4g5 f6h4 g3i5 i7h6 d4e5 a9b8 h2g3
 j8i7 i1h2 i9h8 b4c5 j10i9 a3b4 e7d6 c5e7 f8d6 EBF = 2.03
20 -205 176 3322837  g7f6 b2c3 b8c7 a1b2 h8g7 h4g5 f6h4 g3i5 i7h6 d4e5 a9b8 h2g3
 j8i7 i1h2 i9h8 b4c5 j10i9 a3b4 e7d6 c5e7 f8d6 EBF = 2.05
21 -205 212 4069927  g7f6 b2c3 b8c7 a1b2 h8g7 h4g5 f6h4 g3i5 i7h6 d4e5 a9b8 h2g3
 j8i7 i1h2 i9h8 b4c5 j10i9 a3b4 e7d6 c5e7 f8d6 EBF = 2.00
21 -205 250 4850886  g7f6 b2c3 b8c7 a1b2 h8g7 h4g5 f6h4 g3i5 i7h6 d4e5 a9b8 h2g3
 j8i7 i1h2 i9h8 b4c5 j10i9 a3b4 e7d6 c5e7 f8d6 EBF = 2.01
22 -210 339 6712477  g7f6 b2c3 b8c7 a1b2 h8g7 h4g5 f6h4 g3i5 i7h6 b4c5 j8i7 a3b4
 a9b8 i3h4 c7d6 j2i3 i9h8 f2g3 b8c7 f4e5 d6f4 g3e5 EBF = 1.98
22 -205 451 9040296  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 c9b8 a3b4 b10c9 f4g5 h6f4 e3g
5 c7d6 d2e3 b8c7 c1d2 a9b8 g5f6 g7e5 d4f6 e7g5 h4f6 EBF = 2.01
22 -205 526 10441198  i7h6 b2c3 j8i7 a1b2 b8c7 b4c5 c9b8 a3b4 b10c9 f4g5 h6f4 e3
g5 c7d6 d2e3 b8c7 c1d2 a9b8 g5f6 g7e5 d4f6 e7g5 h4f6 EBF = 2.02
nodes = 10441198 <33 qnodes> time = 5266ms nps = 1982756
splits = 0 badsplits = 0
move i7h6
Then using winboard 4.4.4

Code: Select all

21	-2.05	4.2M	0&#58;02.14	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 f3g4 h5f3 e2g4 c6d5 d1e2 b7c6 c0d1 a8b7 g4f5 g6e4 d3f5 e6g4 h3f5 EBF = 2.00
 21	-2.05	3.5M	0&#58;01.78	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 f3g4 h5f3 e2g4 c6d5 d1e2 b7c6 c0d1 a8b7 g4f5 g6e4 d3f5 e6g4 h3f5 EBF = 1.98
 20	-2.05	2.6M	0&#58;01.34	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 f3g4 h5f3 e2g4 c6d5 d1e2 b7c6 g4f5 g6e4 d3f5 e6g4 h3f5 EBF = 2.02
 20	-2.05	2.2M	0&#58;01.12	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 f3g4 h5f3 e2g4 c6d5 d1e2 b7c6 g4f5 g6e4 d3f5 e6g4 h3f5 EBF = 2.01
 19	-2.05	1.7M	0&#58;00.85	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 f3g4 h5f3 e2g4 c6d5 d1e2 b7c6 g4f5 g6e4 d3f5 e6g4 h3f5 EBF = 2.05
 19	-2.05	1.4M	0&#58;00.71	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 f3g4 h5f3 e2g4 c6d5 d1e2 b7c6 g4f5 g6e4 d3f5 e6g4 h3f5 EBF = 2.03
 18	-2.05	1.0M	0&#58;00.54	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 h3g4 b7a6 j3i4 h5j3 g4f5 e6g4 f3h5j7 c6d5 c4e6 d7f5 EBF = 2.08
 18	-2.05	894634	0&#58;00.46	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 h3g4 b7a6 j3i4 h5j3 g4f5 e6g4 f3h5j7 c6d5 c4e6 d7f5 EBF = 2.06
 17	-2.10	667249	0&#58;00.34	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 e6f5 h3g4 f5h3 i2g4 g6f5 g4e6 f7d5 c4e6 d7f5 EBF = 2.12
 17	-2.10	559986	0&#58;00.29	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 e6f5 h3g4 f5h3 i2g4 g6f5 g4e6 f7d5 c4e6 d7f5 EBF = 2.10
 16	-2.05	426461	0&#58;00.23	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 h3g4 c6d5 j3i4 h5j3 g4f5 g6e4 d3f5 e6g4 f3h5j7 EBF = 2.16
 16	-2.05	370137	0&#58;00.20	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 b9a8 h3g4 c6d5 j3i4 h5j3 g4f5 g6e4 d3f5 e6g4 f3h5j7 EBF = 2.14
 15	-2.10	291329	0&#58;00.15	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 e6f5 h3g4 f5h3 i2g4 g6f5 g4e6 d7f5 EBF = 2.22
 15	-2.10	242971	0&#58;00.14	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 j7i6 a0b1 e6f5 h3g4 f5h3 i2g4 g6f5 g4e6 d7f5 EBF = 2.19
 14	-2.00	190811	0&#58;00.10	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 e6d5 c4e6 d7f5 a0b1 f5e4 d3f5 g6e4 f3d5 c6e4 EBF = 2.29
 14	-2.00	171939	0&#58;00.09	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 e6d5 c4e6 d7f5 a0b1 f5e4 d3f5 g6e4 f3d5 c6e4 EBF = 2.27
 13	-2.00	149860	0&#58;00.09	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 e6d5 c4e6 d7f5 a0b1 f5e4 d3f5 g6e4 f3d5 c6e4 EBF = 2.40
 13	-2.00	138919	0&#58;00.07	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 e6d5 c4e6 d7f5 a0b1 f5e4 d3f5 g6e4 f3d5 c6e4 EBF = 2.38
 12	-2.05	113004	0&#58;00.06	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 e6d5 c4e6 d7f5 h3g4 f5h3 g2i4 EBF = 2.53
 12	-2.05	55670	0&#58;00.03	i6h5 b3c4 b7c6 a2b3 a8b7 b1c2 e6d5 c4e6 d7f5 h3g4 f5h3 g2i4 EBF = 2.38
 11	-1.90	36357	0&#58;00.03	i6h5 b3c4 j7i6 a2b3 b7c6 b1c2 a8b7 a0b1 e6d5 c4e6 d7f5 EBF = 2.48
 11	-1.90	30035	0&#58;00.03	i6h5 b3c4 j7i6 a2b3 b7c6 b1c2 a8b7 a0b1 e6d5 c4e6 d7f5 EBF = 2.43
 10	-1.90	22891	0&#58;00.01	i6h5 b3c4 j7i6 a2b3 b7c6 b1c2 a8b7 f3g4 h5f3 g2e4 EBF = 2.60
 10	-1.90	18950	0&#58;00.01	i6h5 b3c4 j7i6 a2b3 b7c6 b1c2 a8b7 f3g4 h5f3 g2e4 EBF = 2.55
  9	-1.90	16194	0&#58;00.01	i6h5 b3c4 j7i6 a2b3 b7c6 b1c2 e6d5 c4e6 d7f5 EBF = 2.79
  9	-1.90	13514	0&#58;00.01	i6h5 b3c4 j7i6 a2b3 b7c6 b1c2 e6d5 c4e6 d7f5 EBF = 2.74
  8	-2.00	7972	0&#58;00.01	i6h5 b1c2 j7i6 a0b1 b7c6 f3g4 h5f3 g2e4 EBF = 2.92
  8	-2.00	6502	0&#58;00.01	i6h5 b1c2 j7i6 a0b1 b7c6 f3g4 h5f3 g2e4 EBF = 2.84
  7	-2.00	5320	0&#58;00.01	i6h5 b1c2 j7i6 a0b1 b7c6 f3g4 h5f3 g2e4 EBF = 3.23
  7	-2.00	4274	0&#58;00.00	i6h5 b1c2 j7i6 a0b1 b7c6 f3g4 h5f3 g2e4 EBF = 3.12
  6	-1.90	3121	0&#58;00.00	i6h5 b1c2 j7i6 f3g4 h5f3 g2e4 EBF = 3.62
  6	-1.90	2419	0&#58;00.00	i6h5 b1c2 j7i6 f3g4 h5f3 g2e4 EBF = 3.46
  5	-1.80	1952	0&#58;00.00	i6h5 h3i4 j7i6 f3g4 h5f3 g2e4 EBF = 4.32
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: WinBoard, exotic version

Post by Daniel Shawul »

Indeed the code for selecting the longest capture was effectively disabled while I was shuffling declartion of variables. Now it is fixed. In the following pos. it would have shown two captures before, but now only the longest capture is retained. thanks for the report.

New version with the fix is uploaded.

Code: Select all

variant 10x10+0_checkers
setup &#40;P...Q.p...q.) 10x10+0 1p1p1p1p1p/p1p1p1p1p1/1p1p1p1p1p/p1p1p1p1p1/10/10/1
P1P1P1P1P/P1P1P1P1P1/1P1P1P1P1P/P1P1P1P1P1 w - - 0 1
setboard 1p1p1p1p1p/p1p1p1p1p1/1p1p1p1p1p/4p1p1p1/1p1p6/4P5/1P1P1P1P1P/P3P1P1P1/
1P1P1P1P1P/P1P1P1P1P1 w - - 0 3
d

            a b c d e f g h i j
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
         10 . p . p . p . p . p * * * * * * 10
          9 p . p . p . p . p . * * * * * * 9
          8 . p . p . p . p . p * * * * * * 8
          7 . . . . p . p . p . * * * * * * 7
          6 . p . p . . . . . . * * * * * * 6
          5 . . . . P . . . . . * * * * * * 5
          4 . P . P . P . P . P * * * * * * 4
          3 P . . . P . P . P . * * * * * * 3
          2 . P . P . P . P . P * * * * * * 2
          1 P . P . P . P . P . * * * * * * 1
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * *
            a b c d e f g h i j

        1p1p1p1p1p/p1p1p1p1p1/1p1p1p1p1p/4p1p1p1/1p1p6/4P5/1P1P1P1P1P/P3P1P1P1/1
P1P1P1P1P/P1P1P1P1P1 w - - 0 3

movelist
movelist 1 e5c7a5
go
&#91;st = 6946ms, mt = 14625ms , moves_left 8&#93;
1 0 0 0  e5c7a5 EBF = 1.00
move e5c7,
move c7a5
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: WinBoard, exotic version

Post by hgm »

I think I managed to transplant the alien branch onto the latest normal WinBoard version. The problem was that I have completely written the parser, and this had gone into the main branch much earlier than I thought it would, while I was developing the alien branch on the old parser. And the alien branch did require many changes in the parser. So I had to figure out which they were, and rewrite them in the context of the new parser.

But I think it works now. I have made a new branch, "aliennew", in my http://hgm.nubati.net XBoard repository. This also has a patch that should make it work (together with the new parser) for boards of more than 10 ranks. I also added the "single continuation click", by leaving the moved piece selected when Ctrl was pressed. I already had this for Amazons; I just removed an if-statement to apply it in all multi-move variants now.

I have no time to make a binary from it now, but if you are set up to compile WinBoard, you could try it from source. The XBoard version sort of worked. (Which is also new, because before the Ctrl key was not connected to the mouse driver.)
Roger Brown
Posts: 782
Joined: Wed Mar 08, 2006 9:22 pm

Re: WinBoard, exotic version

Post by Roger Brown »

hgm wrote:I think I managed to transplant the alien branch onto the latest normal WinBoard version. The problem was that I have completely written the parser, and this had gone into the main branch much earlier than I thought it would, while I was developing the alien branch on the old parser. And the alien branch did require many changes in the parser. So I had to figure out which they were, and rewrite them in the context of the new parser.

But I think it works now. I have made a new branch, "aliennew", in my http://hgm.nubati.net XBoard repository. This also has a patch that should make it work (together with the new parser) for boards of more than 10 ranks. I also added the "single continuation click", by leaving the moved piece selected when Ctrl was pressed. I already had this for Amazons; I just removed an if-statement to apply it in all multi-move variants now.

I have no time to make a binary from it now, but if you are set up to compile WinBoard, you could try it from source. The XBoard version sort of worked. (Which is also new, because before the Ctrl key was not connected to the mouse driver.)


Hello H.G.,

This latest development actually addresses a question I had asked in the main forum about folding everything into the TM version so you know I am feeling as though I have a 0.00000000000001% stake in the creation of this all in one version.

I cannot wait for the Windows compile...

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

Re: WinBoard, exotic version

Post by hgm »

Well, it is still not decided that the alien stuff should go into the next release. But the standard procedure is to keep such patches for future use in a fork of the development, and to keep it compatible with the current man line by sliding the forking point along the main line as the latter is extended. Problem here was that the alien side branch had got stuck, because it could not pass the introduction of the new parser in the main line. It had many changes and additions in code that did no longer exist in the main line (namely the parser.l file). So that code had to be re-written, and I was ust too busy with other stuff to do that upto now.

Some patches in the alien branch I will definitely incorporate into the main line, though, now that they are compatible again. This is the ability to do boards with more than 10 ranks (this was a very small patch, but so far completely untested), and the addition of variants Dark Chess and Grand Chess (because they are genuine Chess variants).

The Amazons, Checkers, Reversi, Go and Ultima stuff will probaby always be kept only as a fork, but this fork will incorporate any changes in the main line (such as in this case the tourney manager).