Page 1 of 1

Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 13 Sep 2006, 18:10
by Jim Ablett
Image

Winboard support added + some bugfixes/tweaks.

Plays around TSCP strength, which was pretty strong
in 1997!

There is one major bug which remains. When Vanilla Chess
is playing black against another engine in Winboard, it
illegally plays moves for white. Strangely, this doesn't
happen when using Arena, so use that for engine/engine
matches. I'm releasing it together with the modified
source in the hope that someone else can fix the bug as
I'm starting to get a headache. :(

Download exe/modified src from my homepage.

Jim.

Re: Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 13 Sep 2006, 22:50
by Dann Corbit
Made a few small corrections so that it can compile under MS VC++ C compiler.
http://cap.connx.com/chess-engines/new- ... chess26a.c

Re: Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 14 Sep 2006, 06:58
by Jim Ablett
Made a few small corrections so that it can compile under MS VC++ C compiler.


Thanks, Dann.

Now maybe a fast 'DC' build? :wink:

Regards,
Jim.

Re: Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 14 Sep 2006, 21:20
by Dann Corbit
Jim Ablett wrote:
Made a few small corrections so that it can compile under MS VC++ C compiler.


Thanks, Dann.

Now maybe a fast 'DC' build? :wink:

Regards,
Jim.


My philosophy is "Make it right, then make it fast".
It isn't right yet. By using /debug on the Winboard command options, it is obvious that there is a problem interrupting the search. That needs to be fixed before optimzation passes.

Code: Select all
recognized 'normal' (-1) as variant normal
WinBoard 4.2.7 + vchess26a.exe
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
StartChildProcess (dir="e:\programme\winboard\vchess") vchess26a.exe
563 >first : xboard
protover 2
578 <first : Vanilla Chess by Shaun Press
578 <first :
578 <first : Vchess: enter move >
578 <first : feature done=0
578 >first : accepted done
578 <first :
578 <first : feature colors=1 myname="Vanilla Chess" time=1 pause=0 name=1 reuse=1 done=1
578 >first : accepted colors
578 >first : accepted myname
578 >first : accepted time
578 >first : accepted pause
578 >first : accepted name
578 >first : accepted reuse
578 >first : accepted done
578 <first :
578 <first :
578 <first :
578 <first :
578 <first :
578 <first :
578 <first :
578 <first :
578 <first :
594 >first : new
random
594 >first : level 0 10 5
594 >first : post
594 >first : hard
594 >first : easy
625 >first : force
StartChildProcess (dir="e:\programme\winboard\vchess") vchess26a.exe
1125 >second: xboard
protover 2
1125 <first :
1125 <first :
1125 <first :
1125 <first :
1125 <first : hard (ponder not implemented)
1125 <first :
1125 <first : easy (ponder off)
1125 <first :
1125 <first :
1125 <second: Vanilla Chess by Shaun Press
1125 <second:
1125 <second: Vchess: enter move >
1125 <second: feature done=0
1125 >second: accepted done
1125 <second:
1125 <second: feature colors=1 myname="Vanilla Chess" time=1 pause=0 name=1 reuse=1 done=1
1125 >second: accepted colors
1125 >second: accepted myname
1125 >second: accepted time
1125 >second: accepted pause
1125 >second: accepted name
1125 >second: accepted reuse
1125 >second: accepted done
1125 <second:
1125 <second:
1125 <second:
1125 <second:
1125 <second:
1125 <second:
1125 <second:
1125 <second:
1125 <second:
1141 >second: new
random
1141 >second: level 0 10 5
1141 >second: post
1141 >second: hard
1141 >second: easy
1141 >second: force
1141 >first : computer
1141 >first : name Vanilla Chess
1141 >second: computer
1141 >second: name Vanilla Chess
1141 >first : black
1141 >first : time 60000
1141 >first : otim 60000
1141 >first : white
1141 >first : go
1172 <first :
1172 <first :
1172 <first :
1172 <first :
1172 <first :
1172 <first :
1172 <first : 1 11 0 20 b1c3
1188 <first : 2 -3 0 59 b1c3 g8f6
1188 <first : 3 7 0 378 g1f3 g8f6 b1c3
1188 <first : 4 -4 0 1080 b1c3 g8f6 g1f3 b8c6
1203 <first : 5 8 0 7002 b1c3 g8f6 d2d4 b8c6 d4d5
1360 <second:
1360 <second:
1360 <second:
1360 <second:
1360 <second: hard (ponder not implemented)
1360 <second:
1360 <second: easy (ponder off)
1360 <second:
1360 <second:
1360 <second:
1360 <second:
1547 <first : 6 -4 0 58373 c2c4 b8c6 d2d4 g8f6 d4d5
3922 <first : 7 3 2 463203 d2d4 g8f6 b1c3 d7d5 g1f3 f6e4 f3e5
18188 <first : 8 -6 17 2809218 b1c3 g8f6 d2d4 d7d5 c1f4 c8f5 f4e5 b8c6
18188 <first : Exit move = 9.11
18188 <first :
18188 <first : move b1c3
18204 >second: time 60000
18204 >second: otim 58793
18204 >second: b1c3
18204 >second: black
18204 >second: go
18204 <first : Nodes = 2809218 Hits = 771961 Adds = 3379671
18204 <first : Nodes per second = 210657
18204 <first :
18391 <second:
18391 <second:
18391 <second: 1 13 0 20 g8f6
18391 <second: 2 8 0 65 g8f6 g1f3
18391 <second: 3 15 0 409 g8f6 g1f3 b8c6
18391 <second: 4 7 0 2641 d7d5 d2d4 c8g4 c1g5
18391 <second: 5 18 0 17188 d7d5 e2e4 d5d4 c3d5 b8c6
18969 <second: 6 12 0 129160 d7d5 g1f3 g8f6 d2d4 c8g4 c1g5
22829 <second: 7 17 4 827838 d7d5 d2d4 g8f6 c1f4 b8a6 f4e5 c8g4
34048 <second: 8 13 15 2938824 d7d5 d2d4 g8f6 g1f3 c8f5 f3e5 f6e4 c1f4 e4c3 b2c3
34048 <second: Exit move = 9.4
34048 <second:
34048 <second: move d7d5
Interrupting first
34048 >first : time 58793
34048 >first : otim 58915
34048 >first : d7d5
34048 <first :
34048 <first :
34048 <first : 1 13 0 23 g1f3
34048 <first : 2 -5 0 157 g1f3 c8g4
34064 <first : 3 5 0 1472 d2d4 c8g4 c1g5
34079 <first : 4 -9 0 4949 d2d4 b8c6 c1g5 c8g4
34142 <first : 5 1 1 18281 d2d4 g8f6 g1f3 c8g4 c1g5
34220 <second: Nodes = 2938824 Hits = 661709 Adds = 3451404
34220 <second: Nodes per second = 225033
34220 <second:
34220 <second:
34220 <second: 1 16 0 23 g1f3
34220 <second: 2 -6 0 152 g1f3 c8g4
34220 <second: 3 3 0 1498 d2d4 c8g4 c1g5
34251 <second: 4 -10 0 5636 d2d4 g8f6 c1g5 c8g4
34564 <second: 5 0 0 33233 d2d4 b8c6 g1f3
35126 <first : 6 -8 2 97572 d2d4 g8f6 g1f3 b8c6 c1g5 c8g4
35595 <second: 6 -9 1 151378 d2d4 g8f6 g1f3 f6e4 c1g5 c8g4
40361 <first : 7 -2 7 595746 d2d4 g8f6 c1f4 c8f5 c3b5 b8a6 f4e5
45001 <second: 7 -2 10 1010168 d2d4 g8f6 g1f3 c8f5 f3e5 b8d7 c1g5 d7e5 d4e5
58783 <first : 8 -7 25 2415253 d2d4 g8f6 c1f4 c8f5 g1f3 f6e4 f4e5 b8c6
58783 <first : Exit move = 9.1
58783 <first :
58783 <first : move d2d4
Interrupting second
58783 >second: time 58915
58783 >second: otim 56820
58783 >second: d2d4
58783 <first : Nodes = 2415253 Hits = 561088 Adds = 2780087
58783 <first : Nodes per second = 119053
58783 <first :
60642 <second: 8 -8 26 2743787 d2d4 g8f6 c1f4 c8f5 g1f3 b8c6
60642 <second: Exit move = 9.2
60642 <second:
60642 <second: move d2d4
GameEnds(31, Forfeit due to illegal move, 4)
Interrupting first
60642 >first : result 1-0 {Forfeit due to illegal move}
Interrupting second
60642 >second: result 1-0 {Forfeit due to illegal move}
60705 >first : force
60705 >second: force
60705 <first :
60705 <second: Nodes = 2743787 Hits = 545183 Adds = 3156502
60705 <second: Nodes per second = 126498
60705 <second:
60705 <second:
60705 <second:
60705 <second:
60705 <second:
60705 <first :
60705 <second:
GameEnds(0, (null), 2)
69158 >first : quit
69158 >second: quit
[quote][/quote]

Re: Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 14 Sep 2006, 22:53
by Sven Schüle
Hi,

Dann Corbit wrote:it is obvious that there is a problem interrupting the search. That needs to be fixed

when playing black ("second"), the engine continues thinking after having played its move (d7d5), so it looks like a bug in managing the player which is on move:
Code: Select all
34048 <second: move d7d5
Interrupting first
34048 >first : time 58793
34048 >first : otim 58915
34048 >first : d7d5
34048 <first :
34048 <first :
34048 <first : 1 13 0 23 g1f3
34048 <first : 2 -5 0 157 g1f3 c8g4
34064 <first : 3 5 0 1472 d2d4 c8g4 c1g5
34079 <first : 4 -9 0 4949 d2d4 b8c6 c1g5 c8g4
34142 <first : 5 1 1 18281 d2d4 g8f6 g1f3 c8g4 c1g5
34220 <second: Nodes = 2938824 Hits = 661709 Adds = 3451404
34220 <second: Nodes per second = 225033
34220 <second:
34220 <second:
34220 <second: 1 16 0 23 g1f3

I took a short look into the source. There may be a problem with some variables (playing, player, selfplay, nocomp) which are defined twice, once as globals and once within main(). The main() definitions hide the global ones but the global ones are used by all functions other than main(), so I think this was not intended. Try removing the definitions in main() and see what happens.

Sven

Re: Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 15 Sep 2006, 05:48
by Dann Corbit
Sven Schüle wrote:Hi,

Dann Corbit wrote:it is obvious that there is a problem interrupting the search. That needs to be fixed

when playing black ("second"), the engine continues thinking after having played its move (d7d5), so it looks like a bug in managing the player which is on move:
Code: Select all
34048 <second: move d7d5
Interrupting first
34048 >first : time 58793
34048 >first : otim 58915
34048 >first : d7d5
34048 <first :
34048 <first :
34048 <first : 1 13 0 23 g1f3
34048 <first : 2 -5 0 157 g1f3 c8g4
34064 <first : 3 5 0 1472 d2d4 c8g4 c1g5
34079 <first : 4 -9 0 4949 d2d4 b8c6 c1g5 c8g4
34142 <first : 5 1 1 18281 d2d4 g8f6 g1f3 c8g4 c1g5
34220 <second: Nodes = 2938824 Hits = 661709 Adds = 3451404
34220 <second: Nodes per second = 225033
34220 <second:
34220 <second:
34220 <second: 1 16 0 23 g1f3

I took a short look into the source. There may be a problem with some variables (playing, player, selfplay, nocomp) which are defined twice, once as globals and once within main(). The main() definitions hide the global ones but the global ones are used by all functions other than main(), so I think this was not intended. Try removing the definitions in main() and see what happens.

Sven


Quite right, of course.

I posted a fixed version along with a zip containing the workspace and a Winboard binary.

Re: Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 15 Sep 2006, 07:05
by Dann Corbit
It only plays one game successfully, unless you choose not to reuse the engine. Something is not being reset between games, I guess.

Anyway, it will play both black and white now.

Re: Vanilla Chess by Shaun Press (1997) resurrected.

PostPosted: 15 Sep 2006, 10:18
by Jim Ablett
It only plays one game successfully, unless you choose not to reuse the engine. Something is not being reset between games, I guess.

Anyway, it will play both black and white now.


That's great, thanks. I'll put the fixed version up on my
homepage.

Thanks for help Dann/Sven. I takes pros to sort these things out, instead of enthusiast amateurs like myself :)

Jim.