Grand Chess

Discussion of chess software programming and technical issues.

Moderator: Ras

Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Nebiyu 1.2 with 6 more variants

Post by Daniel Shawul »

About the Berolina FEN. I don't really know, I guess it is upto us to think up something. Up to now WinBoard did not really support berolina; I just made some hacks in it to prevent Pawns from disappearing from the display due to mis-identified e.p. captures, and then it could be played with legality testing off. I think a logical extension to the FEN standard would be to mention both the skipped square and the square the pawn to be captured is now on. Like
I agree. That is an easy fix and I don't see any other problems with it.
I think since the only double moves are either two steps forward or diagonal, there is no need to mention the whole move.
User avatar
hgm
Posts: 28395
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Nebiyu 1.2 with 6 more variants

Post by hgm »

Well, if we think ahead, there could be variants on 10-deep boards where the Pawns start on second rank, and are allowed to do 3 steps from there, and 2 steps from the third rank. But I guess even that would be no problem, if we adopt the convention to always mention the first square you skip. All squares lying between the two mentioned squares must be valid e.p. targets too. So I would say, yes, go ahead!
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Grand Chess

Post by Daniel Shawul »

Ok it is now implemented and works as shown below. It accepts additional info after the ep_square if winboard sends it, otherwise it is same old format.

I don't know if the previous move can also be useful for other purposes. We can still change it to saving the whole move in the FEN if we find other uses for it. Also it is only in chess that we can save a move in two squares format.


Edit:
Version with Makruk and Berolina uploaded.

Code: Select all


setboard rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPPPPP1/RNBQKBNR w KQkq e6f5 0 3
d

            a b c d e f g h
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
          8 r n b q k b n r * * * * * * * * * * * * * * * * 8
          7 p p p . p . p p * * * * * * * * * * * * * * * * 7
          6 . . . . . . . . * * * * * * * * * * * * * * * * 6
          5 . . . p P p . . * * * * * * * * * * * * * * * * 5
          4 . . . . . . . . * * * * * * * * * * * * * * * * 4
          3 . . . . . . . . * * * * * * * * * * * * * * * * 3
          2 P P P P P P P . * * * * * * * * * * * * * * * * 2
          1 R N B Q K B N R * * * * * * * * * * * * * * * * 1
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            a b c d e f g h

        rnbqkbnr/ppp1p1pp/8/3pPp2/8/8/PPPPPPP1/RNBQKBNR w KQkq e6f5 0 3

play = 0 opp = 1 ep = 124 101 cas = 15 fif = 0 hkey 0x3706d4aec443b849

P: [  8] :   e5   g2   f2   e2   d2   c2   b2   a2
p: [  8] :   h7   g7   e7   c7   b7   a7   f5   d5
K: [  1] :   e1
k: [  1] :   e8
Q: [  1] :   d1
q: [  1] :   d8
R: [  2] :   h1   a1
r: [  2] :   h8   a8
B: [  2] :   f1   c1
b: [  2] :   f8   c8
N: [  2] :   g1   b1
n: [  2] :   g8   b8
 : [  0] :
 : [  0] :
 : [  0] :
 : [  0] :
 : [  0] :
 : [  0] :
moves
1. e5e6
2. e5d6
3. e5f6
4. g2f3
5. g2e4
6. g2h3
7. f2e3
8. f2d4
9. f2g3
10. f2h4
11. e2d3
12. e2c4
13. e2f3
14. e2g4
15. d2c3
16. d2b4
17. d2e3
18. d2f4
19. c2b3
20. c2a4
21. c2d3
22. c2e4
23. b2a3
24. b2c3
25. b2d4
26. a2b3
27. a2c4
28. g1h3
29. g1f3
30. b1c3
31. b1a3
32. h1h2
33. h1h3
34. h1h4
35. h1h5
36. h1h6
37. h1h7
force
e5e6
d

            a b c d e f g h
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
          8 r n b q k b n r * * * * * * * * * * * * * * * * 8
          7 p p p . p . p p * * * * * * * * * * * * * * * * 7
          6 . . . . P . . . * * * * * * * * * * * * * * * * 6
          5 . . . p . . . . * * * * * * * * * * * * * * * * 5
          4 . . . . . . . . * * * * * * * * * * * * * * * * 4
          3 . . . . . . . . * * * * * * * * * * * * * * * * 3
          2 P P P P P P P . * * * * * * * * * * * * * * * * 2
          1 R N B Q K B N R * * * * * * * * * * * * * * * * 1
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * * * * * * *
            a b c d e f g h

        rnbqkbnr/ppp1p1pp/4P3/3p4/8/8/PPPPPPP1/RNBQKBNR b KQkq - 0 3

play = 1 opp = 0 ep = 0 0 cas = 15 fif = 0 hkey 0xa436f4907fc1ad7c

P: [  8] :   e6   a2   b2   c2   d2   e2   f2   g2
p: [  7] :   h7   g7   e7   c7   b7   a7   d5
K: [  1] :   e1
k: [  1] :   e8
Q: [  1] :   d1
q: [  1] :   d8
R: [  2] :   h1   a1
r: [  2] :   h8   a8
B: [  2] :   f1   c1
b: [  2] :   f8   c8
N: [  2] :   b1   g1
n: [  2] :   g8   b8
 : [  0] :
 : [  0] :
 : [  0] :
 : [  0] :
 : [  0] :
 : [  0] : 
Albert Silver
Posts: 3026
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: Grand Chess

Post by Albert Silver »

hgm wrote:OK, I fixed the WB mate-detection problem, and uploaded a WinBoard Grand Chess package to http://hgm.nubati.net/WinBoard-GC.zip . You can take the winboard.exe from there. The package also contains Fairy-Max and a number of shortcuts and ini files they are based on, and a winboard.ini master file, but you can discard these, as apart from the fact it now supports "variant grand" it is a normal 4.5.1, and needs no additional configuration. This stuff is just included for some human Grand Chess players that do not have WinBoard at all, and to which I want to distribute it.

Note that this is NOT a version from the "alien" branch, so that things like Go and Checkers will not work. I still have to transplant the Grand-Chess patch to this branch (but there were some conflicts). There also is still no menu support for Grand Chess.
Cool, I'll check it out. I read the Wikipedia instructions of Grand Chess and found them quite intriguing. You should PM Kaufman about it as he is a big adept of chess variants.
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Nebiyu 1.2 with 6 more variants

Post by Daniel Shawul »

I decided to write another super-variant named 'alien' which allows definition of the game from the ini. Ultima would be able to be defined from ini similar to fmax defines games. Fairy piece games which require only different movingpieces are already supported now. I will include a lot more featues for definng a random game... For orthodox chess, I get something like a 25%
hit in nps already. So I will keep all the games I supported already as they are faster but the NebiyuAlein version will play any of them and a lot more other games with weird rules I can think of...

P.S: Did you update winboard with the new FEN extension ? I have uploaded a version for that incase you missed my post.
Albert Silver
Posts: 3026
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: Grand Chess

Post by Albert Silver »

Albert Silver wrote:
hgm wrote:OK, I fixed the WB mate-detection problem, and uploaded a WinBoard Grand Chess package to http://hgm.nubati.net/WinBoard-GC.zip . You can take the winboard.exe from there. The package also contains Fairy-Max and a number of shortcuts and ini files they are based on, and a winboard.ini master file, but you can discard these, as apart from the fact it now supports "variant grand" it is a normal 4.5.1, and needs no additional configuration. This stuff is just included for some human Grand Chess players that do not have WinBoard at all, and to which I want to distribute it.

Note that this is NOT a version from the "alien" branch, so that things like Go and Checkers will not work. I still have to transplant the Grand-Chess patch to this branch (but there were some conflicts). There also is still no menu support for Grand Chess.
Cool, I'll check it out. I read the Wikipedia instructions of Grand Chess and found them quite intriguing. You should PM Kaufman about it as he is a big adept of chess variants.
I have to admit it is quite disconcerting to factor in the two new pieces into the tactics and calculations. Is there any way to play a time-handicapped game?
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
User avatar
hgm
Posts: 28395
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Grand Chess

Post by hgm »

Albert Silver wrote: Is there any way to play a time-handicapped game?
Sure, You can set time-odds factors in the Time-Control menu dialog in WinBoard / XBoard. Factor #1 is for the engine.
User avatar
hgm
Posts: 28395
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Nebiyu 1.2 with 6 more variants

Post by hgm »

Daniel Shawul wrote:P.S: Did you update winboard with the new FEN extension ? I have uploaded a version for that incase you missed my post.
No, I did not get to that yet. That is only needed for Berolina, and I am still stuck with Grand Chess. I spent all day trying to fix Spartacus. Currently it loses about 80% against Nebiyu 1.2. Partly because it throws almost every game where it is obviously winnng, by either crashing, let itself be tricked by not getting the promotion piece it was planning for, and neglecting King-Safety. The version I was playing before also switched null move on and off erratically, because the material table (which controls this) was still formatted and initialized for normal Chess, and the presence of A and C caused uninitialized or out-of-bounds data to be read.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

NebiyuAlien 1.2

Post by Daniel Shawul »

NebiyuAlien is available now. https://sites.google.com/site/dshawul/N ... ects=0&d=1

It can play any of the chess games I already did and a lot more...
The alien.ini can be edited by user to create games. This method inspired by
fairy-max. Thanks HG. I hope the ini is explained well.

I will keep on adding support for more weird types of movers as in checkers & ultima , but the basic implementation is done now.

There is a major hit in nps (almost 3x lower nps). So don't use this in competitions if NebiyuChess can play it. NebiyuAlien is for those games that are not supported.

Suggestions are welcome.

Also some bugs in NebiyuChess are fixed. But as you know I probably have introduced a lot more :)
User avatar
hgm
Posts: 28395
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: NebiyuAlien 1.2

Post by hgm »

Daniel Shawul wrote:Also some bugs in NebiyuChess are fixed. But as you know I probably have introduced a lot more :)
OK, that is good, as I had some problems with it. For the live Grand-Chess games I am still running the version I obtained March 13 (212,992 bytes), which seems to run well enough. (At Grand Chess, a least.) I just downloaded a newer version from your website, to try it at Gothic Chess. (The other did that as well, and even Courier, but not yet Berolina.) But in a 10-game bullet match it hung during 2 of 3 games, and then apparently was permanently stuck,as it forfeited the remaining 7 games without moving.

I will download and try the new one.

Btw, to make the list of supported variants more readable to a human that runs it from the command line, you could omit all the 8x8+0_ prefixes if they merely describe the standard size in the variants feature. WinBoard will not send them anyway in that case; if the engine says it plays 8x8+0_shatranj WinBoard will simply send variant shatranj to let it play it. Only for other shatranj sizes WinBoard would check if the engine listed the correct prefix,and attach the prefix in that case.