Bored with orthodox Chess?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Richard Allbert
Posts: 792
Joined: Wed Jul 19, 2006 9:58 am

Re: Bored with orthodox Chess?

Post by Richard Allbert »

Hi HG,

I'm in a debugging minefield... and came up with this during a game (from WB debug file)

Code: Select all



time odds: 1.000000 1.000000 
Interrupting second
72721 >second: time 3798
72721 >second: otim 4950
book hit = (NULL)
72721 >second: h1h7
silence
72828 <first &#58; 
72828 <first &#58;  Made move, board now&#58; 
72828 <first &#58; 
72829 <first &#58;   .  G  S  .  .  S  .  .
72829 <first &#58;   .  H  .  .  H  H  .  R
72829 <first &#58;   .  H  .  .  C  .  .  .
72829 <first &#58;   .  .  .  .  H  .  N  .
72830 <second&#58;  1    -21        0          7 e4c2 d1c2
72834 <first &#58;   .  L  .  B  L  N  .  .
72834 <first &#58;   .  .  .  .  .  .  P  .
72835 <first &#58;   P  P  P  .  .  .  P  .
72835 <first &#58;   R  .  .  K  .  .  .  .
72835 <first &#58; 
72835 <first &#58; 
72835 <first &#58; wking d1 bking1 c8 bking2 f8
72836 <first &#58; wmaterial 2475 bmaterial 1950
72836 <first &#58; wnum 16 bnum 16--
72836 <first &#58; fifty 0 side 1 ply 1 hply = 39
72836 <first &#58; hashkey 11835796895167718124
72837 <first &#58; Eval &#58; -520
72837 <second&#58;  1    117        0         31 e4f5 h7f7
72838 <second&#58;  1    118        0         75 b8a8 h7f7
72840 <second&#58;  1    161        0        100 b8c7 g5e4
72841 <second&#58;  2    161        0        108 b8c7 g5e4
72842 <second&#58;  3    129        0        378 b8c7 c2c3 b4c5 g5e6 e7e6
72843 <second&#58;  3    131        0        539 b7d5 g5e6 e7e6
72844 <second&#58;  3    141        0        854 b4a4
72845 <second&#58;  4    141        0        869 b4a4
72846 <second&#58;  5    141        1       1459 b4a4
72847 <second&#58;  6    141        1       1921 b4a4
73116 <second&#58;  7    133       40     160991 b4a4 a1c1 a4c2 c1c2 e4c2 d1c2 b8c7
74072 <second&#58; move b4a4
machine move 39, castling = 45 0 45 45 45 45
45 0 45 45 45 45 Legality test? b4a4
pChar=0
TC string = '&#58;60+1'
mps=0 tc=60000 inc=1000
CoordsToAlgebraic, piece=40 &#40;1,3&#41;-&#40;0,3&#41; -
MateTest&#58; K=1, my=11, his=11
move&#58; b4a4
, parse&#58; Lb4a4 (
)
repeat test fmm=40 bmm=0 ep=-4, reps=3
40 ep=-4
39 ep=-2
38 ep=-2
37 ep=-4
36 ep=-2
35 ep=-3
34 ep=-4
33 ep=-3
32 ep=-2
31 ep=-4
30 ep=4
29 ep=-4
28 ep=-4
27 ep=-4
26 ep=-4
25 ep=-4
24 ep=-4
23 ep=-3
22 ep=-3
21 ep=-3
20 ep=-4
19 ep=-4
18 ep=-4
17 ep=-4
16 ep=-4
15 ep=-4
14 ep=-2
13 ep=-2
12 ep=-3
11 ep=-4
10 ep=4
9 ep=-3
8 ep=-4
7 ep=-3
6 ep=-4
5 ep=-3
4 ep=-3
3 ep=-4
2 ep=-4
1 ep=-4
0 ep=-4
time odds&#58; 1.000000 1.000000 
Interrupting first
74076 >first &#58; time 4950
74077 >first &#58; otim 3761
book hit = &#40;NULL&#41;
74077 >first &#58; usermove 74077 >first &#58; b4a4
silence
74163 <first &#58; 
74165 <first &#58; Jabba setting it's white movetime 49500
74165 <first &#58; 
74166 <first &#58; Jabba setting opponent black movetime 37610
74166 <first &#58; 
74166 <first &#58; Jabba received usermove b4a4
74166 <first &#58; 
74167 <first &#58; Jabba entering iter_deep&#40;)
74167 <first &#58; timer->movestogo = -1
74167 <first &#58; timer->depth 9999
74167 <first &#58; timer->wtime 49500
74167 <first &#58; timer->btime 37610
74168 <first &#58; timer->movetime 4294967295
74168 <first &#58;  Start time = 73957
74168 <first &#58;  movetime = 1650
74168 <first &#58;  stop = 75607
74169 <first &#58; 
74169 <first &#58;  Think&#40;) called 
74169 <first &#58; 
74169 <first &#58; 
74169 <first &#58;   .  G  S  .  .  S  .  .
74169 <first &#58;   .  H  .  .  H  H  .  R
74170 <first &#58;   .  H  .  .  C  .  .  .
74170 <first &#58;   .  .  .  .  H  .  N  .
74170 <first &#58;   L  .  .  B  L  N  .  .
74170 <first &#58;   .  .  .  .  .  .  P  .
74171 <first &#58;   P  P  P  .  .  .  P  .
74171 <first &#58;   R  .  .  K  .  .  .  .
74171 <first &#58; 
74171 <first &#58; 
74171 <first &#58; wking d1 bking1 c8 bking2 f8
74172 <first &#58; wmaterial 2475 bmaterial 1950
74172 <first &#58; wnum 16 bnum 16--
74172 <first &#58; fifty 0 side 0 ply 0 hply = 40
74173 <first &#58; hashkey 8046560040093465773
74173 <first &#58; Eval &#58; 530
74173 <first &#58; 
74173 <first &#58; 1 655 0 254  f4e6
74175 <first &#58; 
74175 <first &#58; 2 1045 0 2084  h7h8 f8e8
74176 <first &#58; 
74176 <first &#58; 3 1045 0 5688  h7h8 f8e8 h8e8 e6e8
74177 <first &#58; 
74177 <first &#58; 4 929 4 31608  h7h8 a4c2 h8f8 c8d7 d1e2
74263 <first &#58; 
74263 <first &#58; 5 929 18 197973  h7h8 a4c2 h8f8 c8d7 d1e2 b8f8
75509 <first &#58; 
75509 <first &#58; move h7h8
machine move 40, castling = 45 0 45 45 45 45
45 0 45 45 45 45 Legality test? h7h8
pChar=0
TC string = '&#58;60+1'
mps=0 tc=60000 inc=1000
CoordsToAlgebraic, piece=3 &#40;7,6&#41;-&#40;7,7&#41; -
MateTest&#58; K=0, my=11, his=11
LegalDrop&#58; 3 @ 1,0&#41;
LegalDrop&#58; 0 @ 1,0&#41;
LegalDrop&#58; 40 @ 1,0&#41;
LegalDrop&#58; 3 @ 2,0&#41;
LegalDrop&#58; 0 @ 2,0&#41;
LegalDrop&#58; 40 @ 2,0&#41;
LegalDrop&#58; 3 @ 4,0&#41;
LegalDrop&#58; 0 @ 4,0&#41;
LegalDrop&#58; 40 @ 4,0&#41;
LegalDrop&#58; 3 @ 5,0&#41;
LegalDrop&#58; 0 @ 5,0&#41;
LegalDrop&#58; 40 @ 5,0&#41;
LegalDrop&#58; 3 @ 6,0&#41;
LegalDrop&#58; 0 @ 6,0&#41;
LegalDrop&#58; 40 @ 6,0&#41;
LegalDrop&#58; 3 @ 7,0&#41;
LegalDrop&#58; 0 @ 7,0&#41;
LegalDrop&#58; 40 @ 7,0&#41;
LegalDrop&#58; 3 @ 3,1&#41;
LegalDrop&#58; 0 @ 3,1&#41;
LegalDrop&#58; 40 @ 3,1&#41;
LegalDrop&#58; 3 @ 4,1&#41;
LegalDrop&#58; 0 @ 4,1&#41;
LegalDrop&#58; 40 @ 4,1&#41;
LegalDrop&#58; 3 @ 5,1&#41;
LegalDrop&#58; 0 @ 5,1&#41;
LegalDrop&#58; 40 @ 5,1&#41;
LegalDrop&#58; 3 @ 7,1&#41;
LegalDrop&#58; 0 @ 7,1&#41;
LegalDrop&#58; 40 @ 7,1&#41;
LegalDrop&#58; 3 @ 0,2&#41;
LegalDrop&#58; 0 @ 0,2&#41;
LegalDrop&#58; 40 @ 0,2&#41;
LegalDrop&#58; 3 @ 1,2&#41;
LegalDrop&#58; 0 @ 1,2&#41;
LegalDrop&#58; 40 @ 1,2&#41;
LegalDrop&#58; 3 @ 2,2&#41;
LegalDrop&#58; 0 @ 2,2&#41;
LegalDrop&#58; 40 @ 2,2&#41;
LegalDrop&#58; 3 @ 3,2&#41;
LegalDrop&#58; 0 @ 3,2&#41;
LegalDrop&#58; 40 @ 3,2&#41;
LegalDrop&#58; 3 @ 4,2&#41;
LegalDrop&#58; 0 @ 4,2&#41;
LegalDrop&#58; 40 @ 4,2&#41;
LegalDrop&#58; 3 @ 5,2&#41;
LegalDrop&#58; 0 @ 5,2&#41;
LegalDrop&#58; 40 @ 5,2&#41;
LegalDrop&#58; 3 @ 7,2&#41;
LegalDrop&#58; 0 @ 7,2&#41;
LegalDrop&#58; 40 @ 7,2&#41;
LegalDrop&#58; 3 @ 1,3&#41;
LegalDrop&#58; 0 @ 1,3&#41;
LegalDrop&#58; 40 @ 1,3&#41;
LegalDrop&#58; 3 @ 2,3&#41;
LegalDrop&#58; 0 @ 2,3&#41;
LegalDrop&#58; 40 @ 2,3&#41;
LegalDrop&#58; 3 @ 6,3&#41;
LegalDrop&#58; 0 @ 6,3&#41;
LegalDrop&#58; 40 @ 6,3&#41;
LegalDrop&#58; 3 @ 7,3&#41;
LegalDrop&#58; 0 @ 7,3&#41;
LegalDrop&#58; 40 @ 7,3&#41;
LegalDrop&#58; 3 @ 0,4&#41;
LegalDrop&#58; 0 @ 0,4&#41;
LegalDrop&#58; 40 @ 0,4&#41;
LegalDrop&#58; 3 @ 1,4&#41;
LegalDrop&#58; 0 @ 1,4&#41;
LegalDrop&#58; 40 @ 1,4&#41;
LegalDrop&#58; 3 @ 2,4&#41;
LegalDrop&#58; 0 @ 2,4&#41;
LegalDrop&#58; 40 @ 2,4&#41;
LegalDrop&#58; 3 @ 3,4&#41;
LegalDrop&#58; 0 @ 3,4&#41;
LegalDrop&#58; 40 @ 3,4&#41;
LegalDrop&#58; 3 @ 5,4&#41;
LegalDrop&#58; 0 @ 5,4&#41;
LegalDrop&#58; 40 @ 5,4&#41;
LegalDrop&#58; 3 @ 7,4&#41;
LegalDrop&#58; 0 @ 7,4&#41;
LegalDrop&#58; 40 @ 7,4&#41;
LegalDrop&#58; 3 @ 0,5&#41;
LegalDrop&#58; 0 @ 0,5&#41;
LegalDrop&#58; 40 @ 0,5&#41;
LegalDrop&#58; 3 @ 2,5&#41;
LegalDrop&#58; 0 @ 2,5&#41;
LegalDrop&#58; 40 @ 2,5&#41;
LegalDrop&#58; 3 @ 3,5&#41;
LegalDrop&#58; 0 @ 3,5&#41;
LegalDrop&#58; 40 @ 3,5&#41;
LegalDrop&#58; 3 @ 5,5&#41;
LegalDrop&#58; 0 @ 5,5&#41;
LegalDrop&#58; 40 @ 5,5&#41;
LegalDrop&#58; 3 @ 6,5&#41;
LegalDrop&#58; 0 @ 6,5&#41;
LegalDrop&#58; 40 @ 6,5&#41;
LegalDrop&#58; 3 @ 7,5&#41;
LegalDrop&#58; 0 @ 7,5&#41;
LegalDrop&#58; 40 @ 7,5&#41;
LegalDrop&#58; 3 @ 0,6&#41;
LegalDrop&#58; 0 @ 0,6&#41;
LegalDrop&#58; 40 @ 0,6&#41;
LegalDrop&#58; 3 @ 2,6&#41;
LegalDrop&#58; 0 @ 2,6&#41;
LegalDrop&#58; 40 @ 2,6&#41;
LegalDrop&#58; 3 @ 3,6&#41;
LegalDrop&#58; 0 @ 3,6&#41;
LegalDrop&#58; 40 @ 3,6&#41;
LegalDrop&#58; 3 @ 6,6&#41;
LegalDrop&#58; 0 @ 6,6&#41;
LegalDrop&#58; 40 @ 6,6&#41;
LegalDrop&#58; 3 @ 7,6&#41;
LegalDrop&#58; 0 @ 7,6&#41;
LegalDrop&#58; 40 @ 7,6&#41;
LegalDrop&#58; 3 @ 0,7&#41;
LegalDrop&#58; 0 @ 0,7&#41;
LegalDrop&#58; 40 @ 0,7&#41;
LegalDrop&#58; 3 @ 3,7&#41;
LegalDrop&#58; 0 @ 3,7&#41;
LegalDrop&#58; 40 @ 3,7&#41;
LegalDrop&#58; 3 @ 4,7&#41;
LegalDrop&#58; 0 @ 4,7&#41;
LegalDrop&#58; 40 @ 4,7&#41;
LegalDrop&#58; 3 @ 6,7&#41;
LegalDrop&#58; 0 @ 6,7&#41;
LegalDrop&#58; 40 @ 6,7&#41;
move&#58; h7h8
, parse&#58; Rh8# (
)
repeat test fmm=41 bmm=0 ep=-4, reps=3
41 ep=-4
40 ep=-4
39 ep=-2
38 ep=-2
37 ep=-4
36 ep=-2
35 ep=-3
34 ep=-4
33 ep=-3
32 ep=-2
31 ep=-4
30 ep=4
29 ep=-4
28 ep=-4
27 ep=-4
26 ep=-4
25 ep=-4
24 ep=-4
23 ep=-3
22 ep=-3
21 ep=-3
20 ep=-4
19 ep=-4
18 ep=-4
17 ep=-4
16 ep=-4
15 ep=-4
14 ep=-2
13 ep=-2
12 ep=-3
11 ep=-4
10 ep=4
9 ep=-3
8 ep=-4
7 ep=-3
6 ep=-4
5 ep=-3
4 ep=-3
3 ep=-4
2 ep=-4
1 ep=-4
0 ep=-4
time odds&#58; 1.000000 1.000000 
Interrupting second
75531 >second&#58; time 3761
75531 >second&#58; otim 4906
book hit = &#40;NULL&#41;
75531 >second&#58; h7h8
silence
75616 <first &#58; 
75616 <first &#58;  Made move, board now&#58; 
75616 <first &#58; 
75616 <first &#58;   .  G  S  .  .  S  .  R
75616 <first &#58;   .  H  .  .  H  H  .  .
75617 <first &#58;   .  H  .  .  C  .  .  .
75617 <second&#58;  1    268        0          3 a4c2
75620 <first &#58;   .  .  .  .  H  .  N  .
75620 <first &#58;   L  .  .  B  L  N  .  .
75621 <first &#58;   .  .  .  .  .  .  P  .
75621 <first &#58;   P  P  P  .  .  .  P  .
75621 <first &#58;   R  .  .  K  .  .  .  .
75621 <first &#58; 
75622 <first &#58; 
75622 <first &#58; wking d1 bking1 c8 bking2 f8
75622 <first &#58; wmaterial 2475 bmaterial 1950
75622 <first &#58; wnum 16 bnum 16--
75622 <first &#58; fifty 0 side 1 ply 1 hply = 41
75623 <first &#58; hashkey 8959314410947723471
75624 <first &#58; Eval &#58; -530
75624 <second&#58;  2    207        0       2172 a4c2 d1e2 f8g7 h8c8 b8c8 g5e6 e7e6 f4e6
75625 <second&#58;  3    207        0       3123 a4c2 d1e2 f8g7 h8c8
75626 <second&#58;  4    207        6      29753 a4c2 d1e2 f8g7 h8c8 b8c8
75675 <second&#58;  5    207       14      56661 a4c2 d1e2 f8g7 h8c8 b8c8 g5e6
75877 <second&#58;  6    202       34     143292 a4c2 d1d2 f8g7 f4e6 e7e6 h8e8 f7d5 g5e6
76130 <second&#58;  7    202       59     250611 a4c2 d1d2 f8g7 f4e6 e7e6 h8e8 f7d5 g5e6
76766 <second&#58;  8    194      123     527241 a4c2 d1d2 f8g7 f4e6 e7e6 h8e8 g7f6 g5e6 c2d3
77364 <second&#58; move a4c2
machine move 41, castling = 45 0 45 45 45 45
45 0 45 45 45 45 Legality test? a4c2
pChar=0
TC string = '&#58;60+1'
mps=0 tc=60000 inc=1000
CoordsToAlgebraic, piece=40 &#40;0,3&#41;-&#40;2,1&#41; -
MateTest&#58; K=1, my=10, his=11
move&#58; a4c2
, parse&#58; La4xc2 (
)
repeat test fmm=42 bmm=0 ep=-4, reps=3
42 ep=-2
41 ep=-4
40 ep=-4
39 ep=-2
38 ep=-2
37 ep=-4
36 ep=-2
35 ep=-3
34 ep=-4
33 ep=-3
32 ep=-2
31 ep=-4
30 ep=4
29 ep=-4
28 ep=-4
27 ep=-4
26 ep=-4
25 ep=-4
24 ep=-4
23 ep=-3
22 ep=-3
21 ep=-3
20 ep=-4
19 ep=-4
18 ep=-4
17 ep=-4
16 ep=-4
15 ep=-4
14 ep=-2
13 ep=-2
12 ep=-3
11 ep=-4
10 ep=4
9 ep=-3
8 ep=-4
7 ep=-3
6 ep=-4
5 ep=-3
4 ep=-3
3 ep=-4
2 ep=-4
1 ep=-4
0 ep=-4
time odds&#58; 1.000000 1.000000 
Interrupting first
77369 >first &#58; time 4906
77370 >first &#58; otim 3676
book hit = &#40;NULL&#41;
77370 >first &#58; usermove 77370 >first &#58; a4c2
silence
77478 <first &#58; 
77480 <first &#58; Jabba setting it's white movetime 49060
77480 <first &#58; 
77480 <first &#58; Jabba setting opponent black movetime 36760
77480 <first &#58; 
77481 <first &#58; Jabba received usermove a4c2
77481 <first &#58; 
77481 <first &#58; Jabba entering iter_deep&#40;)
77481 <first &#58; timer->movestogo = -1
77482 <first &#58; timer->depth 9999
77482 <first &#58; timer->wtime 49060
77482 <first &#58; timer->btime 36760
77482 <first &#58; timer->movetime 4294967295
77482 <first &#58;  Start time = 77253
77483 <first &#58;  movetime = 1635
77483 <first &#58;  stop = 78888
77483 <first &#58; 
77483 <first &#58;  Think&#40;) called 
77483 <first &#58; 
77484 <first &#58; 
77484 <first &#58;   .  G  S  .  .  S  .  R
77484 <first &#58;   .  H  .  .  H  H  .  .
77484 <first &#58;   .  H  .  .  C  .  .  .
77484 <first &#58;   .  .  .  .  H  .  N  .
77485 <first &#58;   .  .  .  B  L  N  .  .
77485 <first &#58;   .  .  .  .  .  .  P  .
77485 <first &#58;   P  P  L  .  .  .  P  .
77485 <first &#58;   R  .  .  K  .  .  .  .
77486 <first &#58; 
77486 <first &#58; 
77486 <first &#58; wking d1 bking1 c8 bking2 f8
77486 <first &#58; wmaterial 2375 bmaterial 1950
77487 <first &#58; wnum 16 bnum 16--
77487 <first &#58; fifty 0 side 0 ply 0 hply = 42
77487 <first &#58; hashkey 8405046365625276671
77487 <first &#58; Eval &#58; 418
77488 <first &#58; 
77488 <first &#58; 1 1408 0 167  h8f8 c8d7
77490 <first &#58; 
77490 <first &#58; 2 929 0 2302  h8f8 c8d7 d1e2
77491 <first &#58; 
77491 <first &#58; 3 929 1 10023  h8f8 c8d7 d1e2 b8f8
77492 <first &#58; 
77492 <first &#58; 4 929 7 52367  h8f8 c8d7 d1e2 b8f8 g5e6
77699 <first &#58; 
77699 <first &#58; 5 929 32 305101  h8f8 c8d7 d1e2 b8f8 g5e6 e7e6
79042 <first &#58; 
79042 <first &#58; move h8f8
machine move 42, castling = 45 0 45 45 45 45
45 0 45 45 45 45 Legality test? h8f8
pChar=0
TC string = '&#58;60+1'
mps=0 tc=60000 inc=1000
CoordsToAlgebraic, piece=3 &#40;7,7&#41;-&#40;5,7&#41; -
MateTest&#58; K=0, my=10, his=10
LegalDrop&#58; 3 @ 1,0&#41;
LegalDrop&#58; 0 @ 1,0&#41;
LegalDrop&#58; 3 @ 2,0&#41;
LegalDrop&#58; 0 @ 2,0&#41;
LegalDrop&#58; 3 @ 4,0&#41;
LegalDrop&#58; 0 @ 4,0&#41;
LegalDrop&#58; 3 @ 5,0&#41;
LegalDrop&#58; 0 @ 5,0&#41;
LegalDrop&#58; 3 @ 6,0&#41;
LegalDrop&#58; 0 @ 6,0&#41;
LegalDrop&#58; 3 @ 7,0&#41;
LegalDrop&#58; 0 @ 7,0&#41;
LegalDrop&#58; 3 @ 3,1&#41;
LegalDrop&#58; 0 @ 3,1&#41;
LegalDrop&#58; 3 @ 4,1&#41;
LegalDrop&#58; 0 @ 4,1&#41;
LegalDrop&#58; 3 @ 5,1&#41;
LegalDrop&#58; 0 @ 5,1&#41;
LegalDrop&#58; 3 @ 7,1&#41;
LegalDrop&#58; 0 @ 7,1&#41;
LegalDrop&#58; 3 @ 0,2&#41;
LegalDrop&#58; 0 @ 0,2&#41;
LegalDrop&#58; 3 @ 1,2&#41;
LegalDrop&#58; 0 @ 1,2&#41;
LegalDrop&#58; 3 @ 2,2&#41;
LegalDrop&#58; 0 @ 2,2&#41;
LegalDrop&#58; 3 @ 3,2&#41;
LegalDrop&#58; 0 @ 3,2&#41;
LegalDrop&#58; 3 @ 4,2&#41;
LegalDrop&#58; 0 @ 4,2&#41;
LegalDrop&#58; 3 @ 5,2&#41;
LegalDrop&#58; 0 @ 5,2&#41;
LegalDrop&#58; 3 @ 7,2&#41;
LegalDrop&#58; 0 @ 7,2&#41;
LegalDrop&#58; 3 @ 0,3&#41;
LegalDrop&#58; 0 @ 0,3&#41;
LegalDrop&#58; 3 @ 1,3&#41;
LegalDrop&#58; 0 @ 1,3&#41;
LegalDrop&#58; 3 @ 2,3&#41;
LegalDrop&#58; 0 @ 2,3&#41;
LegalDrop&#58; 3 @ 6,3&#41;
LegalDrop&#58; 0 @ 6,3&#41;
LegalDrop&#58; 3 @ 7,3&#41;
LegalDrop&#58; 0 @ 7,3&#41;
LegalDrop&#58; 3 @ 0,4&#41;
LegalDrop&#58; 0 @ 0,4&#41;
LegalDrop&#58; 3 @ 1,4&#41;
LegalDrop&#58; 0 @ 1,4&#41;
LegalDrop&#58; 3 @ 2,4&#41;
LegalDrop&#58; 0 @ 2,4&#41;
LegalDrop&#58; 3 @ 3,4&#41;
LegalDrop&#58; 0 @ 3,4&#41;
LegalDrop&#58; 3 @ 5,4&#41;
LegalDrop&#58; 0 @ 5,4&#41;
LegalDrop&#58; 3 @ 7,4&#41;
LegalDrop&#58; 0 @ 7,4&#41;
LegalDrop&#58; 3 @ 0,5&#41;
LegalDrop&#58; 0 @ 0,5&#41;
LegalDrop&#58; 3 @ 2,5&#41;
LegalDrop&#58; 0 @ 2,5&#41;
LegalDrop&#58; 3 @ 3,5&#41;
LegalDrop&#58; 0 @ 3,5&#41;
LegalDrop&#58; 3 @ 5,5&#41;
LegalDrop&#58; 0 @ 5,5&#41;
LegalDrop&#58; 3 @ 6,5&#41;
LegalDrop&#58; 0 @ 6,5&#41;
LegalDrop&#58; 3 @ 7,5&#41;
LegalDrop&#58; 0 @ 7,5&#41;
LegalDrop&#58; 3 @ 0,6&#41;
LegalDrop&#58; 0 @ 0,6&#41;
LegalDrop&#58; 3 @ 2,6&#41;
LegalDrop&#58; 0 @ 2,6&#41;
LegalDrop&#58; 3 @ 3,6&#41;
LegalDrop&#58; 0 @ 3,6&#41;
LegalDrop&#58; 3 @ 6,6&#41;
LegalDrop&#58; 0 @ 6,6&#41;
LegalDrop&#58; 3 @ 7,6&#41;
LegalDrop&#58; 0 @ 7,6&#41;
LegalDrop&#58; 3 @ 0,7&#41;
LegalDrop&#58; 0 @ 0,7&#41;
LegalDrop&#58; 3 @ 3,7&#41;
LegalDrop&#58; 0 @ 3,7&#41;
LegalDrop&#58; 3 @ 4,7&#41;
LegalDrop&#58; 0 @ 4,7&#41;
LegalDrop&#58; 3 @ 6,7&#41;
LegalDrop&#58; 0 @ 6,7&#41;
LegalDrop&#58; 3 @ 7,7&#41;
LegalDrop&#58; 0 @ 7,7&#41;
move&#58; h8f8
, parse&#58; Rxf8# (
)
repeat test fmm=43 bmm=0 ep=-4, reps=3
43 ep=-2
42 ep=-2
41 ep=-4
40 ep=-4
39 ep=-2
38 ep=-2
37 ep=-4
36 ep=-2
35 ep=-3
34 ep=-4
33 ep=-3
32 ep=-2
31 ep=-4
30 ep=4
29 ep=-4
28 ep=-4
27 ep=-4
26 ep=-4
25 ep=-4
24 ep=-4
23 ep=-3
22 ep=-3
21 ep=-3
20 ep=-4
19 ep=-4
18 ep=-4
17 ep=-4
16 ep=-4
15 ep=-4
14 ep=-2
13 ep=-2
12 ep=-3
11 ep=-4
10 ep=4
9 ep=-3
8 ep=-4
7 ep=-3
6 ep=-4
5 ep=-3
4 ep=-3
3 ep=-4
2 ep=-4
1 ep=-4
0 ep=-4
time odds&#58; 1.000000 1.000000 
Interrupting second
79058 >second&#58; time 3676
79058 >second&#58; otim 4838
book hit = &#40;NULL&#41;
79059 >second&#58; h8f8
silence
79144 <first &#58; 
79144 <first &#58;  Made move, board now&#58; 
79145 <first &#58; 
79145 <first &#58;   .  G  S  .  .  R  .  .
79145 <first &#58;   .  H  .  .  H  H  .  .
79145 <first &#58;   .  H  .  .  C  .  .  .
79145 <first &#58;   .  .  .  .  H  .  N  .
79146 <second&#58; Illegal move&#58;h8f8
TC string = '&#58;60+1'
mps=0 tc=60000 inc=1000
79155 <first &#58;   .  .  .  B  L  N  .  .
79156 <first &#58;   .  .  .  .  .  .  P  .
79156 <first &#58;   P  P  L  .  .  .  P  .
79156 <first &#58;   R  .  .  K  .  .  .  .
79156 <first &#58; 
79157 <first &#58; 
79157 <first &#58; wking d1 bking1 c8 bking2 bb
79157 <first &#58; wmaterial 2375 bmaterial 950
79157 <first &#58; wnum 16 bnum 16--
79157 <first &#58; fifty 0 side 1 ply 1 hply = 43
79158 <first &#58; hashkey 2465959468199391290
79158 <first &#58; Eval &#58; -1416
write FEN 50-move&#58; 0 42 0
e0. p=-4
e1. p=-4
e2. p=-4
e3. p=-4
e4. p=-3
e5. p=-3
e6. p=-4
e7. p=-3
e8. p=-4
e9. p=-3
e10. p=4
e11. p=-4
e12. p=-3
e13. p=-2
e14. p=-2
e15. p=-4
e16. p=-4
e17. p=-4
e18. p=-4
e19. p=-4
e20. p=-4
e21. p=-3
e22. p=-3
e23. p=-3
e24. p=-4
e25. p=-4
e26. p=-4
e27. p=-4
e28. p=-4
e29. p=-4
e30. p=4
e31. p=-4
e32. p=-2
e33. p=-3
e34. p=-4
e35. p=-3
e36. p=-2
e37. p=-4
e38. p=-2
e39. p=-2
e40. p=-4
e41. p=-4
e42. p=-2
CopyTextToClipboard&#40;)&#58; lock count 1
CopyTextToClipboard&#40;)&#58; lock count 0
CopyTextToClipboard&#40;)&#58; err 0 locked 0
GameEnds&#40;28, xboard exit, 2&#41;
GE&#40;28, xboard exit, 2&#41; bare king k=11 color=22
Interrupting first
102171 >first &#58; result * &#123;xboard exit&#125;
102171 >second&#58; result * &#123;xboard exit&#125;
102172 >first &#58; quit
102173 >second&#58; quit
... where (if it's at all clear), fmax makes b4a4, Jabba reads ok, makes h7h8, which is then parsed as Rh8# by WB. Same happens on the following moves. I exited then, manually.

Can't be mate after h7h8 as there are two kings?

Hope that's clear,

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

Re: Bored with orthodox Chess?

Post by hgm »

Greg Strong wrote:So how does Winboard handle castling if you rearrange the pieces with this new command?
WinBoard considers any King move over more than one rank as castling with the piece on the same rank on the edge that you are approaching, and then automatically moves that piece next to the King on the other side. (Except when you move from one edge to the other edge, which is considered a Cylinder-Chess normal King move.) Fischer-castling has to be entered as O-O /O-O-O (as text) or by KxR. In Seirawan Chess RxK is accepted as a castling on which you want to gate on Rook square.

B.t.w., the impression that Clobberers and Nutters of CWDA are significantly stronger than FIDE did not originate from adding values of individual pieces, but from playing games. In Fairy-Max the Clobberers win by about 65%, the Nutters by 70%. Despite the fact that I only allow promotion to each armies own Queen replacement. (The rule description was a bit ambiguous about this.)
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Bored with orthodox Chess?

Post by hgm »

Richard Allbert wrote:Hi HG,

I'm in a debugging minefield... and came up with this during a game (from WB debug file)

...

... where (if it's at all clear), fmax makes b4a4, Jabba reads ok, makes h7h8, which is then parsed as Rh8# by WB. Same happens on the following moves. I exited then, manually.

Can't be mate after h7h8 as there are two kings?

Hope that's clear,

Richard
Sorry I overlooked this message untilnow, as we were posting at the same time. :oops:

For the moment Spartan Chess should be played in WinBoard with legality checking off (as variant fairy). Indeed WinBoard is not aware of how checkmating two Kings in Spartan Chess works (I guess it uses the rules for the ICC variant TwoKings in this case), which apparently makes it think this is a checkmate. With legality testing off this will never end the game, though, and the only effect is a spurious # sign.

This will change when I willadd Spatan Chess as a primary variant, which it seemsI will certainly do now.
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Re: Bored with orthodox Chess?

Post by George Tsavdaris »

Greg Strong wrote:That's a tough question...

I love playing Shogi. It's an awesome game but I'm terrible at it, and it's incredibly hard to write a program for it. I'm not dedicated enough to even try.

Another favorite is Chess with Different Armies. Kinda similar to Spartan, but the kings and pawns aren't altered. The four main armies have proven to be remarkably balanced under significant chessv scrutiny with powerful servers I have at work, but Ralph Betza was studying piece values for close to two decades.

There are several good 10x10 games such as Grand Chess and Unicorn Great Chess, but there aren't too many engines that can play on 10x10. At least 10x8 is starting to develop a decent set of programs.

Switching Chess is a fun game that wouldn't be too hard for standard chess programs to implement. Alice Chess is wild fun to play but would be strange to implement to say the least.
No, no, no. :cry: You miss all the fun. :D

Any fan of Chess variants should start his favorite variants with Dark Chess as the undisputed number 1!

I bet that if this obscure, uncelebrated, not known in the public, game becomes a little more known, it will become the best variant and will quickly become popular. It's amazing!
One great flaw of it is that you can't play it live over the board but only with a computer help, but it's OK, since it's so incredible that it makes one obsessed with it once it plays it 1-2 times, even only through a computer.

And the programming challenge is higher than in every other Chess-type game. Programming even a crappy AI is difficult i guess.

And here ends my annual try to make people get interested in Dark Chess. :D


---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
And the rules for Dark Chess(remember you have to play it 1-2 times in order to feel the intensity and the excitement this game gives you):

Dark Chess follows all normal Chess rules except that:

•The squares the player see must follow at least one of the above conditions:
-A player's piece stands on that square.
-The player can move* a piece to that square. This means that he can see empty squares that he can move to and he can see an opponent's piece that he can capture*.
-The square is directly in front of one of player's pawns OR 2 squares in front if the Pawn is on its starting square OR it is an adjacent forward diagonal from one of player's pawns.
-The square is an adjacent right or left to a Pawn and an opponent Pawn has moved there directly in its previous move coming from its starting square(this rule is simply to letting the player know that he can capture en-passant).

*"Can move" and "can capture" means and since there is no check in this game that a movement or capture that exposes own King to check is a legal move.

•There is no check or checkmate. Each player can move his King to a position where the opponent can capture it.
•There is no 50-move rule, no 3-fold repetition and no stalemate.
•In case 2 bare Kings left in the board, if after 3 moves by both players there is no capture then game ends as a draw.
•The player who captures the opponent's king wins the game.

Here is a small example:

Here is what white sees in the starting position.
Obviously he has full information about the board position even he doesn't see it.
Image


Here is what white sees after playing 1.Nf3
Obviously black doesn't know that white has played 1.Nf3
Image


Here is again what white sees after black's first move too.
Obviously black was careless enough and played 1...g5 so we can now see the Pawn on g5.
Image


Here is what white sees after he played 2.Nxg5
Black does NOT see the white Knight on g5.
But he can understand that one white piece captured his g5-Pawn as he can't see the g5 Pawn any more.
Image
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....
Richard Allbert
Posts: 792
Joined: Wed Jul 19, 2006 9:58 am

Re: Bored with orthodox Chess?

Post by Richard Allbert »

Ok, thanks, that means there were no real problems... I was worried about erroneous mate claims!

I still have a couple of errors to trace, hopefully be finished on Monday, as we're travelling tomorrow.

It's been a while since I've had to dig through perft outputs looking for silly errors!

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

Re: Bored with orthodox Chess?

Post by hgm »

Although I have no doubt that Dark Chess is a very interesting game, it stretches the concept of 'Chess variant'. Not being a game of complete information, it seems to differ more from Chess than Checkers or Go differ from Chess. As for programming it, a program to play it would probably have more in common with a Bridge program than with a Chess engine.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Bored with orthodox Chess?

Post by hgm »

I have included a new WinBoard binary in the beta installer ( http://hgm.nubati.net/WinBoard-4.5.0.exe ), which supports Spartan Chess as one of the primary variants ("variant spartan"). This can now be played with legality testing on.

(I had to fix a lot of things that turned out to only work with legality testing off, or in two-machines mode. Like promotion of the Hoplites, the promotion popup when black and white had different pieces. And of course change the check and mate test to treat the dal Kings correctly.)

I also included a Fairy-Max that has defined Spartan Chess as a primary variant in its fmax.ini.
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Re: Bored with orthodox Chess?

Post by George Tsavdaris »

Hmm after reading about it for a while i became interested in this indeed very exciting variant. The multiple different pieces with different armies, the fact that these are Spartans versus Persians, and the very interesting concept of 2 Kings and the duple checkmate, all these create a very good concept!

I like it! :D

I tried to create a ZRF file for Zillions of Games and i created all the graphics and the rules but i have one major problem:
It's disgustingly difficult for Zillions to handle the duple checkmate rule.

HERE i give the whole ready to play set for the Zillions of Games(it has the ZRF file as also the graphics), but the incapability of mine to implement the correct rules for checkmate for Spartans make it incomplete.
Perhaps someone can fix it and find a way to implement it. 8-)

The problem in detail: All SpartansChess rules are correct in the ZRF except that it allows the 2 Spartan Kings to be in check at the same time. So obviously there is no duple checkmate to them. That alters gameplay.

Anyone can find a way to fix it? It is known that in Zillions of Games you can't put an OR in "checkmate" goal. If they would allow that simple thing, the implementation would be easy. But now it's a nightmare for someone hat knows only the basics.

(Note that from the implementation it is missing also the promotion to a King for Spartans, which is easy to implement but i preferred not to do it because i wanted first to solve the duple checkmate problem)

Here are 2 pictures of the game(i tried to make the Spartans look as war machines with intense colors and heavily armed, as they were in reality):
Image

Image
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Bored with orthodox Chess?

Post by hgm »

I don't have Zillions, and I have no idea of how it is programmed, so I can do littlemore than make some general suggestions. I suppose you can program an extinction condition, where you lose by having no Kings. Perhaps it is possible to program King capture as a multiple move, where after capturing one King, you are in the same turn also allowed to capture another King.

As to promotion to King, I suspect that this in real games this is never useful. Fairy-Max still suffers from the restriction that in its search it has no under-promotion (although it accepts it from the user), so it romotes to Queen for the Persians and Archbishop=Warlord for the Spartans. So the problem of promoting to King (and putting a limit on the number of Kings) did not occur. The rule that you cannot get 3 Kings through promotion seems even less relevant, and neither WinBoard not Fairy-Max enforce it at the moment. A General is upward compatible with a King, and much stronger, as it has the Rook moves in addition. So there never s any tactical reason to choose King (like in normal Chess you sometimes promote to Knight to deliver check). The only reason to want a King woud be if your other King(s) would be threatened by an unavoidable checkmate, and if you already have two, that would be quite inconceivable. Especially since Fairy-Max applies the rule that you cannot leave two Kings in check even when you have more than two Kings.

I like your piece design. The 'woodware' I made for Spartan Chess looks like this (not quite finished...):

Image

Image
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Some questions to H.G.Muller about Winboard.

Post by George Tsavdaris »

I see that in SpartanChess Spartan.ini file there is the line:
/pieceToCharTable="PNBRQ..............K....q.lwg.....c...hk"

•1)First question is: is it important to have this line?

•2)What does the q is for? I mean isn't unnecessary and instead a "." should be used?

•3)I see from 34(17·2) now a 40(2·20) piece's string is used in pieceToCharTable.
I knew before the following was true:

/pieceToCharTable="PNBRQFWEMOUHACGSKpnbrqfwemouhacgsk"
1 P Pawn
2 N Knight
3 B Bishop
4 R Rook
5 Q Queen
6 F Ferz/General
7 W Wazir/GrandVizer
8 E Alfil/Elephant
9 M Commoner/Man
10 O Cannon/Pao
11 U Unicorn
12 H Nightrider
13 A Archbishop/Cardinal
14 C Chancellor/Marshall
15 G Grasshopper
16 S
17 K King


What is valid now? Can you modify(and add 3 pieces) this list to the current format Winboard understands?

•4)I see in:http://www.sfr-fresh.com/unix/privat/xb ... tml/16.htm
that some thing are written in red, some in green and some in black font. What are the colors mean in each paragraph? Do the red statements mean the feature is obsolete and it will be rejected from Winboard?
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....