Happy new year all of you.hgm wrote: ↑Mon Dec 30, 2019 12:36 pm Oh, I had completely forgotten that KingSlayer uses the same flag in the move encoding for indicating castling and double-pushing, and the moves have to be distinguished by testing the type of the moved piece. So the code I added to print a gating suffix when something is left on a1/h1 after castling also added a suffix if something was left on a2/h2 after the double-push e2e4. (Unfortunately WinBoard still needs gating suffixes from the engine, even though the gating in holdingless seirawan is fully implied by the move. It seems good practice to write the gating suffixes in SAN/PGN, though. Perhaps WinBoard should make gating suffixes optional on reading.
Anyway, I fixed KingSlayer-Aramis' move-printing routine to not add spurious gating suffixes on pawn double pushes, and uploaded it in the updated WinBoard-AA package.
Engines playing Musketeer Chess, good price
Moderators: hgm, Rebel, chrisw
-
- Posts: 161
- Joined: Sun Apr 21, 2013 2:02 pm
- Location: Paris, France
Re: Engines playing Musketeer Chess, good price
inventor of Musketeer Chess. A modern commercial chess variant.
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
-
- Posts: 161
- Joined: Sun Apr 21, 2013 2:02 pm
- Location: Paris, France
Re: Engines playing Musketeer Chess, good price
Hi my friendsmusketeerchess wrote: ↑Tue Dec 31, 2019 10:39 pmHappy new year all of you.hgm wrote: ↑Mon Dec 30, 2019 12:36 pm Oh, I had completely forgotten that KingSlayer uses the same flag in the move encoding for indicating castling and double-pushing, and the moves have to be distinguished by testing the type of the moved piece. So the code I added to print a gating suffix when something is left on a1/h1 after castling also added a suffix if something was left on a2/h2 after the double-push e2e4. (Unfortunately WinBoard still needs gating suffixes from the engine, even though the gating in holdingless seirawan is fully implied by the move. It seems good practice to write the gating suffixes in SAN/PGN, though. Perhaps WinBoard should make gating suffixes optional on reading.
Anyway, I fixed KingSlayer-Aramis' move-printing routine to not add spurious gating suffixes on pawn double pushes, and uploaded it in the updated WinBoard-AA package.
Follow also this discussion:
https://github.com/ianfab/Musketeer-Stockfish/issues/3
inventor of Musketeer Chess. A modern commercial chess variant.
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
-
- Posts: 161
- Joined: Sun Apr 21, 2013 2:02 pm
- Location: Paris, France
Re: Engines playing Musketeer Chess, good price
Some very interesting discussions can be checked in the link above. Don't miss themmusketeerchess wrote: ↑Sun Jan 05, 2020 4:54 pmHi my friendsmusketeerchess wrote: ↑Tue Dec 31, 2019 10:39 pmHappy new year all of you.hgm wrote: ↑Mon Dec 30, 2019 12:36 pm Oh, I had completely forgotten that KingSlayer uses the same flag in the move encoding for indicating castling and double-pushing, and the moves have to be distinguished by testing the type of the moved piece. So the code I added to print a gating suffix when something is left on a1/h1 after castling also added a suffix if something was left on a2/h2 after the double-push e2e4. (Unfortunately WinBoard still needs gating suffixes from the engine, even though the gating in holdingless seirawan is fully implied by the move. It seems good practice to write the gating suffixes in SAN/PGN, though. Perhaps WinBoard should make gating suffixes optional on reading.
Anyway, I fixed KingSlayer-Aramis' move-printing routine to not add spurious gating suffixes on pawn double pushes, and uploaded it in the updated WinBoard-AA package.
Follow also this discussion:
https://github.com/ianfab/Musketeer-Stockfish/issues/3
inventor of Musketeer Chess. A modern commercial chess variant.
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
-
- Posts: 4185
- Joined: Tue Mar 14, 2006 11:34 am
- Location: Ethiopia
Re: Engines playing Musketeer Chess, good price
Does anyone have a perft test for this game?
-
- Posts: 4185
- Joined: Tue Mar 14, 2006 11:34 am
- Location: Ethiopia
Re: Engines playing Musketeer Chess, good price
Also, I am not sure I understand the negotiation rules. What I did is to add the new pieces to standard chess.
I am assuming that the pieces are already selected when the game starts.
I assume the fact that stockfish ( a bitboard engine ) plays it means it is 8x8 board.
My game definition file for Nebiyu.
I am assuming that the pieces are already selected when the game starts.
I assume the fact that stockfish ( a bitboard engine ) plays it means it is 8x8 board.
My game definition file for Nebiyu.
Code: Select all
variant musketeerchess musketeerchess 2
8 8 0
.*PpKkQqRrBbNnLlCcUuDdMmAaEeHhFfSs
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
#PNBRQFEACWMOHIJGDVLSUKpnbrqfeacwmohijgdvlsuk
PNBRQFEAC.M.H...D.LSUKpnbrqfeac.m.h...d.lsuk
P 100 wpawn
p 100 bpawn
K 1000 king
k 1000 king
Q 900 queen
q 900 queen
R 500 rook
r 500 rook
B 350 bishop
b 350 bishop
N 300 knight
n 300 knight
L 500 leopard
l 500 leopard
C 400 cannon
c 400 cannon
U 600 unicorn
u 600 unicorn
D 1200 dragonm
d 1200 dragonm
M 800 chancellor
m 800 chancellor
A 650 archbishop
a 650 archbishop
E 500 elephant
e 500 elephant
H 650 hawk
h 650 hawk
F 600 fortress
f 600 fortress
S 650 spider
s 650 spider
2 8 8
45 2
-
- Posts: 27825
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Engines playing Musketeer Chess, good price
How are the new pieces introduced on the board?
Note that Fairy-Stockfish can do other board sizes (e.g. 10x8 for Capablanca).
Note that Fairy-Stockfish can do other board sizes (e.g. 10x8 for Capablanca).
-
- Posts: 4833
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: Engines playing Musketeer Chess, good price
It has 2 initial game phases in order.Daniel Shawul wrote: ↑Sun Jan 12, 2020 6:42 am Also, I am not sure I understand the negotiation rules.
1. PS (piece selection) phase
2. GP (gating preparation) phase.
Starting position used by Jocly (an internet server, was down still down). See image 1.
image 1
In PS white will select a musketeer piece type, then black will also select another piece type. That's the first move.
Example white selects a cannon, and black selects an elephant. After that both sides have a cannon and an elephant.
PS phase is now complete. See image 2.
image 2
Next is GP, user will decide which file are they going to gate their cannon and elephant.
White can move its cannon to b file. See image 3. When the Knight at B1 moves the cannon will enter at B1 square. It's like a promotion move b1c3c or b1a3c. White can play b1c3 without gating, in this case, the cannon loses its right to gate, and it can never be gated for the rest of the game.
image 3
Black can reply by moving its cannon to d file. See image 4.
image 4
That completes move 2.
Next is moving the elephants to row 0 and row 9, white likes to gate to f file and black to g file, that completes move 3. See image 5.
image 5
That completes the PS and GP phases. Game can continue with white playing e2e4 as in chess.
Ref. game rules: https://musketeerchess.net/games/musket ... -short.php
-
- Posts: 161
- Joined: Sun Apr 21, 2013 2:02 pm
- Location: Paris, France
Re: Engines playing Musketeer Chess, good price
Hi Daniel (thanks for joining), Ferdy and HG,Ferdy wrote: ↑Sun Jan 12, 2020 11:58 amIt has 2 initial game phases in order.Daniel Shawul wrote: ↑Sun Jan 12, 2020 6:42 am Also, I am not sure I understand the negotiation rules.
1. PS (piece selection) phase
2. GP (gating preparation) phase.
Starting position used by Jocly (an internet server, was down still down). See image 1.
image 1
In PS white will select a musketeer piece type, then black will also select another piece type. That's the first move.
Example white selects a cannon, and black selects an elephant. After that both sides have a cannon and an elephant.
PS phase is now complete. See image 2.
image 2
Next is GP, user will decide which file are they going to gate their cannon and elephant.
White can move its cannon to b file. See image 3. When the Knight at B1 moves the cannon will enter at B1 square. It's like a promotion move b1c3c or b1a3c. White can play b1c3 without gating, in this case, the cannon loses its right to gate, and it can never be gated for the rest of the game.
image 3
Black can reply by moving its cannon to d file. See image 4.
image 4
That completes move 2.
Next is moving the elephants to row 0 and row 9, white likes to gate to f file and black to g file, that completes move 3. See image 5.
image 5
That completes the PS and GP phases. Game can continue with white playing e2e4 as in chess.
Ref. game rules: https://musketeerchess.net/games/musket ... -short.php
Ferdy already explained the Piece Selection and Gating Phase rules which are the particularity of Musketeer Chess.
Concerning your relative values for the pieces, i think you can reasonably make the Following choices:
Pawn 100
King your choice is 1000!! please explain
Queen 900
Rook 500
Bishop 350
Knight 300
Leopard : 670, (your value 500 too low)
Archbishop : 810, (your value 650 is too low !)
Cannon : 750, (your value 400 too low)
Chancellor : 840 (your value 800 is accurate, but i still think that the Chancellor is Under estimated slightly, for me it's the piece i can handle with the most difficulty)
Dragon or Amazone : 1250 (your value 1200 is accurate)
Unicorn : 560, (your value 600 is probably accurate, the Truth is certainly between both)
Hawk : 550, (your value 650 is probably slightly over estimating this piece. It's probably true in the opening phase as it's moves are only jumps, but once the opening surprise passed (forking capabilities limited) it's slightly less valuable)
Elephant : 630 (your value 500 is too low)
Fortress : 780 (your value 600 is probably too low)
Spider : 860 (your value 650 is probably too low)
THESE ARE SLIGHTLY MODIFIED VALUES OF THE WORK I'VE DONE WITH FERDY TO DETERMINE THE RELATIVE PIECE VALUE.
https://musketeerchess.net/site/muskete ... ece-value/
Ferdy has done a perft test. He can share with you.
inventor of Musketeer Chess. A modern commercial chess variant.
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
www.musketeerchess.net
Pieces are available on Houseofstaunton.com or Paypal
-
- Posts: 4185
- Joined: Tue Mar 14, 2006 11:34 am
- Location: Ethiopia
Re: Engines playing Musketeer Chess, good price
@Ferdy Thanks, I now understand how the piece selection rules work
@HG My implementation was rather limited because I assumed that the fairy pieces are already in play. I did not even
implement how they get into play properly. It is my understanding that ranks 0 and 9 are "water" and can not be moved to
with other pieces. I have a holdings area just like that but is not file-restricted. So are there represented in the FEN as
e.g [C2D1c4d3] where they are preceded by file numbers? The drop rule is not a regular one and I probably need to implement a
special rule for it ( Not moved piece + drop-to-from square -- I like Ferdy representation with promotion letters but since I have a combo move
capability it may be easier for me to do "move b1c3 move C@b1" )
Edit: In a way the drops of pieces is square-restricted because it can only go to first/last rank. So the first time the target square becomes
empty, I drop it or lose it forever. In the latter case, do we just remove the piece from the holdings list forever?
@musketeerchess Thanks for the piece values. King's value is just a placeholder ( is actually infinity ). Anyway, I may decide to train
a neural network for it if it turns out to be simple enough.
@HG My implementation was rather limited because I assumed that the fairy pieces are already in play. I did not even
implement how they get into play properly. It is my understanding that ranks 0 and 9 are "water" and can not be moved to
with other pieces. I have a holdings area just like that but is not file-restricted. So are there represented in the FEN as
e.g [C2D1c4d3] where they are preceded by file numbers? The drop rule is not a regular one and I probably need to implement a
special rule for it ( Not moved piece + drop-to-from square -- I like Ferdy representation with promotion letters but since I have a combo move
capability it may be easier for me to do "move b1c3 move C@b1" )
Edit: In a way the drops of pieces is square-restricted because it can only go to first/last rank. So the first time the target square becomes
empty, I drop it or lose it forever. In the latter case, do we just remove the piece from the holdings list forever?
@musketeerchess Thanks for the piece values. King's value is just a placeholder ( is actually infinity ). Anyway, I may decide to train
a neural network for it if it turns out to be simple enough.
-
- Posts: 4185
- Joined: Tue Mar 14, 2006 11:34 am
- Location: Ethiopia
Re: Engines playing Musketeer Chess, good price
If a fairy piece had the chance to get into play but declined it, it is as if the piece is out of the game forever, right? So why not
make this move forced? No player is ever going to decline to do that anyway... also it is easier to handle for engines too
i.e. b1c3 and b1c3C are the same now. So I made this move forced now and also instead of a "combo" move, I now handle
this move as I do castling. That is, nothing needs to be encoded with the move, but proper way to do/undo the move will be figured
out later. Also, now I use an 8x10 board for the fen, which I believe is what is agreed upon for the tournament ...
Here is a search from a pre-selected start position:
make this move forced? No player is ever going to decline to do that anyway... also it is easier to handle for engines too
i.e. b1c3 and b1c3C are the same now. So I made this move forced now and also instead of a "combo" move, I now handle
this move as I do castling. That is, nothing needs to be encoded with the move, but proper way to do/undo the move will be figured
out later. Also, now I use an 8x10 board for the fen, which I believe is what is agreed upon for the tournament ...
Here is a search from a pre-selected start position:
Code: Select all
feature done=0
Number of cores 4 of 4
treeht 18641351 X 720 = 12800.0 MB
processors [1]
ht 1048576 X 48 = 48.0 MB
a b c d e f g h
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
10 * d * * * a * * * * * * * * * * * * * * * * * * * * * * 10
9 r n b q k b n r * * * * * * * * * * * * * * * * * * * * 9
8 p p p p p p p p * * * * * * * * * * * * * * * * * * * * 8
7 . . . . . . . . * * * * * * * * * * * * * * * * * * * * 7
6 . . . . . . . . * * * * * * * * * * * * * * * * * * * * 6
5 . . . . . . . . * * * * * * * * * * * * * * * * * * * * 5
4 . . . . . . . . * * * * * * * * * * * * * * * * * * * * 4
3 P P P P P P P P * * * * * * * * * * * * * * * * * * * * 3
2 R N B Q K B N R * * * * * * * * * * * * * * * * * * * * 2
1 * D * * * * A * * * * * * * * * * * * * * * * * * * * * 1
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
a b c d e f g h
[Material: 8996 9002 ]
*d***a**/rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR/*D****A* w KQkq - 0 1
movelist 20 h3h4 h3h5 g3g4 g3g5 f3f4 f3f5 e3e4 e3e5 d3d4 d3d5 c3c4 c3c5 b3b4 b3b5 a3a4 a3a5 g2h4 g2f4 b2c4 b2a4
EgbbProbe not Loaded!
loading_time = 0s
# *d***a**/rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR/*D****A* w KQkq - 0 1
# [st = 8335ms, mt = 29250ms , hply = 0 , moves_left 10]
2 -20 0 44 h3h4 h8h6
2 -6 0 75 h3h5 h8h6
3 18 0 253 h3h5 h8h6 a3a5
4 -6 0 410 h3h5 h8h6 a3a5 f8f6
5 4 0 1185 h3h5 a8a6 g3g5 d8d6 f3f4
6 -6 1 2515 h3h5 a8a6 g3g5 h8h6 e3e5 d8d6
7 8 3 8852 h3h5 a8a6 d3d5 d8d6 f3f4 c9f6 g1f3
8 14 4 16002 h3h5 a8a6 f3f5 f8f6 g1f3 h8h6 f3d5 d8d6
9 14 5 26616 h3h5 a8a6 e3e5 d8d6 f3f4 h8h6 g1f3 c9e7 f2d4
9 18 5 30531 f3f5 h8h6 h3h5 a8a6 d3d5 c8c7 g3g4 b10c8 g1f3
10 14 7 44778 h3h5 a8a6 d3d5 h8h6 c2e4 d8d6 f3f5 f8f6 b1d3 c9e7
10 18 8 67648 d3d5 d8d6 c2e4 c8c7 b1d3 c9e7 f3f5 b10d8 g1f3 f8f6
11 14 14 150884 d3d5 d8d6 a3a5 f8f6 c2f5 c9e7 b1e4 b10d8 b3b5 a8a6 c3c4 a6b5 c4b5
12 8 28 405926 d3d5 d8d6 h3h5 h8h6 c2f5 c9e7 b1e4 b10d8 b3b5 f8f6 a3a5 a8a6
13 8 54 923679 d3d5 d8d6 c2f5 c9e7 b1d3 g9f7 h3h5 b10d8 b3b5 f7e5 d3e4 a8a6 b2c4
14 8 75 1342536 d3d5 d8d6 f3f4 a8a6 g1f3 c9e7 h3h5 b10d8 c2f5 c8c7 a3a5 d9b7 b1c2 f10d9
15 10 136 2580115 d3d5 d8d6 h3h5 h8h6 c2f5 c9f6 f3f4 b10e7 b1e4 e7e4 f5e4 b8b6 g1f3 a8a6 a3a5
16 10 247 4880634 d3d5 d8d6 h3h5 h8h6 c2f5 c9f6 b1e4 b10d8 a3a5 g9f7 f3f4 a8a6 g1f3 b9c7 c3c5 a9c9
17 6 409 8352941 d3d5 d8d6 h3h5 h8h6 c2f5 g9f7 b1e4 c9e7 a3a5 b10d8 g2f4 a8a6 b2c4 f7g5 e4d3 f8f6 f4e6 g5e6 f5e6
# splits = 0 badsplits = 0 egbb_probes = 0
# nodes = 9241870 <75 qnodes> time = 4573ms nps = 2020964 eps = 0 nneps = 0
move d3d5
Bye Bye