Engines playing Musketeer Chess, good price

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

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

Re: Engines playing Musketeer Chess, good price

Post by hgm »

I had planned to do this through a special PGN tag: [Prelude "...."]. WinBoard already supports arbitrary tags in its PGN handling, i.e. if a loaded PGN contains a non-standard tag, this tag will be shown in the Edit Tags window like all the others, and when the game is saved the tag will again be saved with it. When a game is recorded, and actually goes through the prelude phase (as opposed to being started from a FEN of a position after this phase), it should be possible for the engine to request adding of this tag to the PGN of the game that is being recorded.

An alternative would be to add prelude info as a comment. But I am not sure whether the PGN standard allows comments before the first move. (Which would be the logical place.)

I am also not sure how the prelude should be encoded. Because the FEN of the position after the prelude, which will always be included in the PGN, whill show which pieces can be gated and where, the only missing piece of info is which of the two Musketeer piece types was chosen by white. But it is no crime to be somewhat redundant, so perhaps all pieces and gating squares should be mentioned. Like [Prelude "He1 Hd8 Eb1 Eb8"], implying that white chose a Hawk, and black an Elephant.
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engines playing Musketeer Chess, good price

Post by musketeerchess »

Hi HG
I totally agree.
Adding the Prelude to the PGN is among the important steps to be able to replay the games correctly.

Also i suggest that for the piece chosen by white you stick to what you suggested: In your example [Prelude "He1 Hd8 Eb1 Eb8"] should mean, white chose Hawk, Black chose Elephant. White Gated the Hawk in the e1 square etc.

Thanks and waiting to see your excellent work.

By the way, we have discussed a few months ago concerning End Game Table Bases for Fairy Pieces.
How it's possible to automate EGTB for 3, 4, 5 pieces (including the Pawns is the most difficult part) and make these EGTB easily checked on WB on another tool.

Thanks again.

Zied
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Engines playing Musketeer Chess, good price

Post by hgm »

Well, I only have written EGT generators for pawnless end-games, as my interest is to determine whether certain pieces or combinations of pieces have mating potential. With Pawns one usually always has mating potential, so those end-games are not very interesting. (Except perhaps in games like Shatranj, where Pawn promotion is not decisive, but hardly improves your tactical abilities.) Furthermore, generation of EGTs in the presence of Pawns is best done through a different method, factorizing the EGT into 'P-slices', which can then be individually solved in a specific order defined by the irreverible movement of Pawns.
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engines playing Musketeer Chess, good price

Post by musketeerchess »

hgm wrote: Thu Mar 26, 2020 5:01 pm Well, I only have written EGT generators for pawnless end-games, as my interest is to determine whether certain pieces or combinations of pieces have mating potential. With Pawns one usually always has mating potential, so those end-games are not very interesting. (Except perhaps in games like Shatranj, where Pawn promotion is not decisive, but hardly improves your tactical abilities.) Furthermore, generation of EGTs in the presence of Pawns is best done through a different method, factorizing the EGT into 'P-slices', which can then be individually solved in a specific order defined by the irreverible movement of Pawns.
Hi HG
I understand your point of view concerning the Pawns. The importance of EGTB generation for fairy pieces is as you pointed to learn technique on how to mate. This is important especially when the pieces aren't very strong.

Take the example of the Hawk or Unicorn for example. These pieces can mate a Bare King but there is a very important manoeuvring to learn. Learning such endgames will for sure help take good décisions during the game.
Image
Image
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Engines playing Musketeer Chess, good price

Post by hgm »

This is why I put up the checkmating applet on my website; people can practice there.

Unicorn cannot force checkmate, btw.
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engines playing Musketeer Chess, good price

Post by musketeerchess »

hgm wrote: Fri Mar 27, 2020 12:50 am This is why I put up the checkmating applet on my website; people can practice there.

Unicorn cannot force checkmate, btw.
Hi HG
I agree concerning the Unicorn, there are a few positions (but not forced) where it can mate. Such informations are of great value when programming these pieces especially in middle and endgame where a unicorn value is closely related to the number of remaining pieces pawns !! The more pieces and pawns are traded the less valuable the unicorn is.

A unicorn and a knight can force a mate !!
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Engines playing Musketeer Chess, good price

Post by hgm »

Sure, helpmate is possible. But the situation is exactly like in KNNK: with the weak side to move, the strong side can NEVER force a win. With the stong side to move, there can be mate-in-1. But there are zero mated-in-1 positions, and consequently zero mate-in-2 positions.

The defense is completely trivial: if you don't step to a corner when you still have another move, you will never be checkmated.

And yes, Unicorn + Knight can checkmate. But that should not be a big surprise. It is already sort of a miracle that two Knights cannot force checkmate; this is because of the unlucky coincidence that the King and the Knight compete for the same square. If they would be allowed to share a square, you could trap the bare King on {a1, b1} with the King at b3 and one Knight at b3. Then you could check the King when it is on a1 with the other Knight from b3, forcing it to b1, and play Na2-c3 to checkmate it there. With the King on a3 instead of b3 (to make room for the Knight) this plan does not work, because the King could escape to c2.

A Unicorn has so many extra moves compared to a Knight, that U+N very easily do what N+N cannot. With the same plan the Unicorn could check Ka1 from b4 instead of b3.

That a Unicorn alone cannot force mate can be traced to the same problem: the only way it can switch from covering c1 (to force the bare King to a1) to covering both a1 and b1 (only possible from d2) is from b3, where the strong King must be. Also here having the strong King at a3 is no good, because c2 would not be covered by a Unicorn at b3, and the bare King would excape to it rather than step into the corner.
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engines playing Musketeer Chess, good price

Post by musketeerchess »

hgm wrote: Fri Mar 27, 2020 9:58 pm Sure, helpmate is possible. But the situation is exactly like in KNNK: with the weak side to move, the strong side can NEVER force a win. With the stong side to move, there can be mate-in-1. But there are zero mated-in-1 positions, and consequently zero mate-in-2 positions.

The defense is completely trivial: if you don't step to a corner when you still have another move, you will never be checkmated.

And yes, Unicorn + Knight can checkmate. But that should not be a big surprise. It is already sort of a miracle that two Knights cannot force checkmate; this is because of the unlucky coincidence that the King and the Knight compete for the same square. If they would be allowed to share a square, you could trap the bare King on {a1, b1} with the King at b3 and one Knight at b3. Then you could check the King when it is on a1 with the other Knight from b3, forcing it to b1, and play Na2-c3 to checkmate it there. With the King on a3 instead of b3 (to make room for the Knight) this plan does not work, because the King could escape to c2.

A Unicorn has so many extra moves compared to a Knight, that U+N very easily do what N+N cannot. With the same plan the Unicorn could check Ka1 from b4 instead of b3.

That a Unicorn alone cannot force mate can be traced to the same problem: the only way it can switch from covering c1 (to force the bare King to a1) to covering both a1 and b1 (only possible from d2) is from b3, where the strong King must be. Also here having the strong King at a3 is no good, because c2 would not be covered by a Unicorn at b3, and the bare King would excape to it rather than step into the corner.
Hi HG
Thanks for this update.
Saw that Musketeer Stockfish by Faboan was released a few hours ago. I already enjoyed testing it.
There are a few things i wanted to check with both of you: check this link https://github.com/ianfab/Musketeer-Stockfish/issues/4

Winboard doesn't display correctly all the possible gating squares. It's probably because the Leopard and Cannon are gating by default at a1 / a8 b1/b8 squares. Will see this with HG.
Also after gating the pieces that gated remain visible on Gating squares. This reminds the engine which pieces can be promoted, but in terms of game playability for a human it's a problem.
This is probably related to a particular way the engine is communicating with the GUI.

Can you take a look?
Image

Best regards
Zied
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engines playing Musketeer Chess, good price

Post by musketeerchess »

Hi HG
Recently, Musketeer Stockfish was released to be used Under XBoard / Winboard.
I face a probable bug using it. It's impossible to use a book of EPD positions when using the engine in tournament matches (against each other).
Is it possible you take a look at it?

It's a winboard Bug or could be also a problem between communication of engine and GUI.

Thanks
Zied
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Engines playing Musketeer Chess, good price

Post by mvanthoor »

Hi :)

I've played a few games of Musketeer Chess on your site. I like this version of chess, even though it's a lot to remember with how the pieces go. I've noticed that I don't like the "big chess variants" with 10x10 or even 12x12 boards with huge numbers of pieces; too much to remember to be honest; but Musketeer Chess is a nice middle ground.

After I get my engine finished for normal chess, I'll consider creating a derivative to play Musketeer Chess under Winboard, or possibly in a self-implemented GUI (Electron/Typescript/CSS) with an adapted version of the UCI-protocol. I'll see when I get there, which will be quite some time in the future :P
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL