If you ready with Makruk and plan to add another variants Sittuyin (Burmese Chess) is a good candidate. It's rather interesting to play and implementing (opening) drop moves will whet your appetite to implement shogi variants in the futurestegemma wrote:Implementing the Makruk rules for piece moving has required less than half an hour! You can leave castling unchanged (it would be disabled in FEN), put some if statement to avoid 2 pushes of the pawns and under-promotions, accept S/M instead of B/Q in FEN and sligthly change move generation of Queens and Bishops... et voilà!hgm wrote:The gratifying thing about Makruk is that a good engine probably would have lots of users, many more than any engine for FIDE Chess (if it isn't at least as strong as Stockfish).[...]
Now i'm testing perft, then i can add alfabeta and see what happens.
Most common chess variant?
Moderators: hgm, Rebel, chrisw
-
- Posts: 389
- Joined: Wed Sep 26, 2012 1:29 pm
- Location: Hungary
Re: Most common chess variant?
-
- Posts: 859
- Joined: Mon Aug 10, 2009 10:05 pm
- Location: Italy
- Full name: Stefano Gemma
Re: Most common chess variant?
Of course make things works has required some more time, but this is my first Makruk perft. I suppose that this could be wrong but i'm googling to find some counts to compare with mines:
Code: Select all
rnsmksnr
........
pppppppp
........
........
PPPPPPPP
........
RNSMKSNR
FEN: rnsmksnr/8/pppppppp/8/8/PPPPPPPP/8/RNSMKSNR w -
perft 1 Nodes: 23, Time: 0 ms, Nodes/s: 23000
perft 2 Nodes: 529, Time: 0 ms, Nodes/s: 529000
perft 3 Nodes: 11920, Time: 1 ms, Nodes/s: 5960000
perft 4 Nodes: 268866, Time: 10 ms, Nodes/s: 24442363
perft 5 Nodes: 6036052, Time: 218 ms, Nodes/s: 27561881
perft 6 Nodes: 135817681, Time: 5254 ms, Nodes/s: 25845419
perft 7 Nodes: 3089959959, Time: 111667 ms, Nodes/s: 27670952
-
- Posts: 411
- Joined: Thu Dec 30, 2010 4:48 am
Re: Most common chess variant?
i think you'd find most piece values to be slightly positive still in suicide though perhaps not so much as losers which i'm more familiar with. Idea being if you have the move, and you don't have to capture, then more pieces (generally) means more control. the poor bastard that gets stuck with a few pawns while the opponent has pieces still is very often toast since pawns can be easily led around the board.Evert wrote:Do you really need a different search for suicide chess? I never really looked at it because I don't find it particularly interesting, but I figured that making the piece values negative would do it?hgm wrote: The original question is hard to answer. ICS usually only offer variants that can be played with standard pieces. The most popular of those are then Suicide and Crazyhouse. But from the viewpoint of an engine both are quite drastic departures from normal Chess: Suicide has mandatory capture and needs a completely different search to do it well. (And it is arguable whether it still counts as Chess, because there is no royal piece.) Crazyhouse has piece drops.
As for search, extensions to cover long capture-chains would be crucial (A captures, B moves a piece into take, A has to capture again, etc) since you can't really evaluate whether or not leading the opponent through said chain is a good thing until you get to the end of it all and find out if you gave away all your pieces, or just gave away control of the board.
-
- Posts: 859
- Joined: Mon Aug 10, 2009 10:05 pm
- Location: Italy
- Full name: Stefano Gemma
Re: Most common chess variant?
The pieces moving is the same as in Makruk but the other rules are more complex. Let me make chess/makruk variant play well in satana and i can step to this other interesting variant.gbtami wrote:[...]If you ready with Makruk and plan to add another variants Sittuyin (Burmese Chess) is a good candidate. It's rather interesting to play and implementing (opening) drop moves will whet your appetite to implement shogi variants in the future
Thanks
-
- Posts: 27828
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Most common chess variant?
I have no experience with it myself, but I noticed that Sjeng uses proof-number search in Suicide (requiring an extra table, bigger than the transition table). And Nilatac does seem to exist in an alpha-beta and a proof-number version.Evert wrote:Do you really need a different search for suicide chess? I never really looked at it because I don't find it particularly interesting, but I figured that making the piece values negative would do it?
Also Gian-Carlo told me that piece values are NOT negative. Being a Queen ahead in the initial position of Suicide is an advantage!
http://www.chessvariants.org/index/msdi ... ewolfchessThe Lion is a very complicated piece, but interesting. Do you have rules for Werewolf Chess up somewhere?
I made the Werewolf contageous to prevent its disappearance from the game. And it moves like a limited-range Queen (max 3 squares), but in addition has a direct jump to the second square, with which it can optionally capture the piece it jumps over (in addition to what it might capture on the final square). No igui or null move.
-
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Most common chess variant?
I need to take another look at proof-number search. I tried to read up on it once but the links I found were too technical to read late at night...hgm wrote:I have no experience with it myself, but I noticed that Sjeng uses proof-number search in Suicide (requiring an extra table, bigger than the transition table). And Nilatac does seem to exist in an alpha-beta and a proof-number version.Evert wrote:Do you really need a different search for suicide chess? I never really looked at it because I don't find it particularly interesting, but I figured that making the piece values negative would do it?
Also Gian-Carlo told me that piece values are NOT negative. Being a Queen ahead in the initial position of Suicide is an advantage!
Interesting note about piece values in Suicide. My source for thinking they're negative is this: http://www.ke.tu-darmstadt.de/publicati ... 008-07.pdf which is an interesting read regardless.
Hmm... not being able to return to its original square makes this something I can't easily implement in Sjaak right now. Solvable, but I'd need to explicitly disallow (or allow) that. The rest of it should work as-is though.http://www.chessvariants.org/index/msdi ... ewolfchessThe Lion is a very complicated piece, but interesting. Do you have rules for Werewolf Chess up somewhere?
I made the Werewolf contageous to prevent its disappearance from the game. And it moves like a limited-range Queen (max 3 squares), but in addition has a direct jump to the second square, with which it can optionally capture the piece it jumps over (in addition to what it might capture on the final square). No igui or null move.
-
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Most common chess variant?
http://www.eglebbk.dds.nl/program/chess-perft.html or https://sites.google.com/site/dshawul/home have Makruk perft numbers. For immediate reference, mine arestegemma wrote:Of course make things works has required some more time, but this is my first Makruk perft. I suppose that this could be wrong but i'm googling to find some counts to compare with mines:
Code: Select all
rnsmksnr ........ pppppppp ........ ........ PPPPPPPP ........ RNSMKSNR FEN: rnsmksnr/8/pppppppp/8/8/PPPPPPPP/8/RNSMKSNR w - perft 1 Nodes: 23, Time: 0 ms, Nodes/s: 23000 perft 2 Nodes: 529, Time: 0 ms, Nodes/s: 529000 perft 3 Nodes: 11920, Time: 1 ms, Nodes/s: 5960000 perft 4 Nodes: 268866, Time: 10 ms, Nodes/s: 24442363 perft 5 Nodes: 6036052, Time: 218 ms, Nodes/s: 27561881 perft 6 Nodes: 135817681, Time: 5254 ms, Nodes/s: 25845419 perft 7 Nodes: 3089959959, Time: 111667 ms, Nodes/s: 27670952
Code: Select all
1 23
2 529
3 12012
4 273026
5 6223994
6 142078049
7 3299342874
-
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Most common chess variant?
Sure, but that could just mean that pawns have a much larger negative value than a queen, right?kbhearn wrote: i think you'd find most piece values to be slightly positive still in suicide though perhaps not so much as losers which i'm more familiar with. Idea being if you have the move, and you don't have to capture, then more pieces (generally) means more control. the poor bastard that gets stuck with a few pawns while the opponent has pieces still is very often toast since pawns can be easily led around the board.
True, I suppose you shouldn't allow stand-pat as an option in q-search (since captures are mandatory). I should probably add that in Sjaak (although I don't think I handle mandatory captures as a rule at the moment, so the point is moot there).As for search, extensions to cover long capture-chains would be crucial (A captures, B moves a piece into take, A has to capture again, etc) since you can't really evaluate whether or not leading the opponent through said chain is a good thing until you get to the end of it all and find out if you gave away all your pieces, or just gave away control of the board.
-
- Posts: 27828
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Most common chess variant?
I would have thought it made it easier that the second step would always have to be the same as the first one, in a locust.
-
- Posts: 4833
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: Most common chess variant?
stegemma wrote:Of course make things works has required some more time, but this is my first Makruk perft. I suppose that this could be wrong but i'm googling to find some counts to compare with mines:
Code: Select all
rnsmksnr ........ pppppppp ........ ........ PPPPPPPP ........ RNSMKSNR FEN: rnsmksnr/8/pppppppp/8/8/PPPPPPPP/8/RNSMKSNR w - perft 1 Nodes: 23, Time: 0 ms, Nodes/s: 23000 perft 2 Nodes: 529, Time: 0 ms, Nodes/s: 529000 perft 3 Nodes: 11920, Time: 1 ms, Nodes/s: 5960000 perft 4 Nodes: 268866, Time: 10 ms, Nodes/s: 24442363 perft 5 Nodes: 6036052, Time: 218 ms, Nodes/s: 27561881 perft 6 Nodes: 135817681, Time: 5254 ms, Nodes/s: 25845419 perft 7 Nodes: 3089959959, Time: 111667 ms, Nodes/s: 27670952
Code: Select all
# Bilis v0.14
# Compiled: Apr 28 2013
# Can only play makruk chess variant
Code: Select all
perft 3
8 r n s m k s n r
7 . . . . . . . .
6 o o o o o o o o
5 . . . . . . . .
4 . . . . . . . .
3 P P P P P P P P
2 . . . . . . . .
1 R N S K M S N R
a b c d e f g h
a3a4 - 575
b3b4 - 530
c3c4 - 553
d3d4 - 530
e3e4 - 530
f3f4 - 553
g3g4 - 530
h3h4 - 575
b1d2 - 529
g1e2 - 552
c1b2 - 506
c1d2 - 437
c1c2 - 460
f1e2 - 437
f1g2 - 483
f1f2 - 437
a1a2 - 690
h1h2 - 690
e1d2 - 460
e1f2 - 506
d1c2 - 506
d1d2 - 460
d1e2 - 483
Perft 3 Summary
Nodes: 12012
Time: 0.01 sec
Nodes/sec: 1001000
Code: Select all
perft 4
8 r n s m k s n r
7 . . . . . . . .
6 o o o o o o o o
5 . . . . . . . .
4 . . . . . . . .
3 P P P P P P P P
2 . . . . . . . .
1 R N S K M S N R
a b c d e f g h
a3a4 - 13054
b3b4 - 12081
c3c4 - 12600
d3d4 - 12079
e3e4 - 12079
f3f4 - 12600
g3g4 - 12081
h3h4 - 13054
b1d2 - 12014
g1e2 - 12536
c1b2 - 11490
c1d2 - 9924
c1c2 - 10446
f1e2 - 9924
f1g2 - 10968
f1f2 - 9924
a1a2 - 15666
h1h2 - 15666
e1d2 - 10446
e1f2 - 11490
d1c2 - 11490
d1d2 - 10446
d1e2 - 10968
Perft 4 Summary
Nodes: 273026
Time: 0.05 sec
Nodes/sec: 5250500
Code: Select all
perft 5
8 r n s m k s n r
7 . . . . . . . .
6 o o o o o o o o
5 . . . . . . . .
4 . . . . . . . .
3 P P P P P P P P
2 . . . . . . . .
1 R N S K M S N R
a b c d e f g h
a3a4 - 323107
b3b4 - 278085
c3c4 - 305717
d3d4 - 278531
e3e4 - 279058
f3f4 - 304674
g3g4 - 278088
h3h4 - 323107
b1d2 - 281941
g1e2 - 302311
c1b2 - 253180
c1d2 - 192593
c1c2 - 212441
f1e2 - 192593
f1g2 - 233854
f1f2 - 191549
a1a2 - 416660
h1h2 - 417182
e1d2 - 211396
e1f2 - 252136
d1c2 - 251605
d1d2 - 215040
d1e2 - 229146
Perft 5 Summary
Nodes: 6223994
Time: 0.88 sec
Nodes/sec: 7080767
Code: Select all
perft 6
8 r n s m k s n r
7 . . . . . . . .
6 o o o o o o o o
5 . . . . . . . .
4 . . . . . . . .
3 P P P P P P P P
2 . . . . . . . .
1 R N S K M S N R
a b c d e f g h
a3a4 - 7355946
b3b4 - 6388190
c3c4 - 7003885
d3d4 - 6386776
e3e4 - 6400120
f3f4 - 6975587
g3g4 - 6388244
h3h4 - 7353858
b1d2 - 6398234
g1e2 - 6888903
c1b2 - 5772206
c1d2 - 4392680
c1c2 - 4844685
f1e2 - 4392684
f1g2 - 5332152
f1f2 - 4369015
a1a2 - 9494323
h1h2 - 9506195
e1d2 - 4820792
e1f2 - 5748471
d1c2 - 5736405
d1d2 - 4903680
d1e2 - 5225018
Perft 6 Summary
Nodes: 142078049
Time: 21.90 sec
Nodes/sec: 6487878
Code: Select all
perft 7
8 r n s m k s n r
7 . . . . . . . .
6 o o o o o o o o
5 . . . . . . . .
4 . . . . . . . .
3 P P P P P P P P
2 . . . . . . . .
1 R N S K M S N R
a b c d e f g h
a3a4 - 182526619
b3b4 - 148886448
c3c4 - 172987399
d3d4 - 148988404
e3e4 - 149821646
f3f4 - 171189027
g3g4 - 148914748
h3h4 - 182357799
b1d2 - 154292328
g1e2 - 169043296
c1b2 - 129906024
c1d2 - 89207359
c1c2 - 102172782
f1e2 - 89373440
f1g2 - 117516849
f1f2 - 87815290
a1a2 - 239940560
h1h2 - 240593574
e1d2 - 100840216
e1f2 - 128517370
d1c2 - 127892080
d1d2 - 104863956
d1e2 - 111695660
Perft 7 Summary
Nodes: 3299342874
Time: 488.90 sec
Nodes/sec: 6748544
https://sites.google.com/site/deuterium ... les/makruk