Engine development to play a chess variant

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Engine development to play a chess variant

Post by musketeerchess »

Hi All

i'm looking for talented engine developers to develop and engine for my chess variant: musketeerchess.com

The pieces will go commercial in October 2015.

Ideally, the engine should be developed in a specific (or modified GUI like Aquarium) to support Classic UCI engines.

please mail me at musketeerchess (at) Gmail.com

I'll finance the development for any programmer from the top 10.
We can discuss these issues in Private Messages (i prefer mails)

Thanks all of you
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Engine development to play a chess variant

Post by Ferdy »

I revised my s-chess engine to play musketeer but limited to Leopard and Cannon. The engine decides where and when to gate the new pieces respecting the s-chess rules, like gating at virgin pieces and at rook file when castling. Run a sample match between same engine from start position, using winboard 4.8.0b played under seirawan chess variant, but the hawk is now playing a Leopard and the Elephant is now playing as Cannon. The game is interesting, it is nice to see these new pieces, not very strong compared to full R+N and B+N combo pieces. The Leopard is a combo of B+N but the B is limited to 2 diag squares only and for Cannon, the rook-like move is also somewhat limited, resulting in a manuevering game. The engine were run on debug mode to see if there are asserts triggered which are non so far. Purely the piece movements are only revised, search and eval were not changed from s-chess variant.
I think that it is better that the engine will decide where and when the gate will be executed, but it has to follow of course the other rules on gating.

After the game, I loaded it to winboard to see the analysis. The hawk is a leopard and the star is a cannon. Is it mate in 8, there could be shorter. But I like the move 7 and move 12 of white :).

Image


Here are the 2 games.

Code: Select all

[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2015.07.19"]
[Round "1"]
[White "Musketeer 1"]
[Black "Musketeer 2"]
[Result "1-0"]
[TimeControl "300+1"]
[Variant "seirawan"]
[Annotator "1. +0.06   1... -0.08"]

1. Nc3/H {+0.06/16} Nc6/H {-0.08/16 15} 2. Nf3 {+0.04/17 11} Nf6/E
{-0.07/15 14} 3. d4 {+0.13/15 14} d6 {-0.07/16 13} 4. e4 {+0.21/13 13} a6
{-0.36/15 13} 5. Be2 {+1.02/14 8} d5 {-0.99/14 12} 6. exd5 {+1.05/15 12}
Nb4 {-1.12/16 12} 7. Rxe1/E {+1.05/15 12} Nbxd5 {-0.91/14 11} 8. Nxd5
{+1.32/15 1.7} Nxd5 {-1.24/14 2.1} 9. c4 {+1.41/16 7} Nf6 {-1.37/14 11} 10.
Bd3 {+1.41/14 11} Bg4 {-1.45/14 10} 11. Re1 {+1.46/15 7} Hd7 {-1.56/13 10}
12. Ef1 {+1.47/12 10} b5 {-1.41/13 9} 13. Hc3 {+1.22/13 9} c6 {-1.21/12 9}
14. Qd2 {+1.39/13 9} Bxf3 {-1.23/16 8} 15. Exf3 {+1.20/14 2.1} bxc4
{-1.20/17 5} 16. Bxc4 {+1.22/14 1.0} e6 {-1.06/15 7} 17. Qc2 {+1.22/13 9}
Bd6 {-0.98/15 8} 18. Bd2 {+0.98/14 8} a5 {-0.84/15 7} 19. a3 {+0.92/15 8}
Ee7 {-0.77/15 6} 20. b3 {+0.82/14 7} Qc7 {-0.69/14 7} 21. Bd3 {+0.66/12 7}
O-O {-0.57/14 6} 22. Eh3 {+0.67/13 7} h6 {-0.59/13 6} 23. Qa2 {+0.70/14 6}
Hb6 {-0.59/13 4} 24. Rac1 {+0.76/14 6} a4 {-0.78/13 6} 25. b4 {+0.75/15 5}
Qa7 {-0.67/13 6} 26. Qb2 {+0.77/14 6} Nd5 {-0.72/16 5} 27. He2 {+0.75/15 5}
Rab8 {-0.66/15 4} 28. Hf3 {+0.71/15 5} Rfc8 {-0.65/13 4} 29. g3
{+0.72/14 5} Ha8 {-0.75/14 5} 30. Kg2 {+0.80/13 5} Rb6 {-0.75/14 4} 31. Qb1
{+0.79/14 4} Ed7 {-0.77/13 4} 32. Eh1 {+0.83/14 4} Rbb8 {-0.80/12 4} 33.
Bh7+ {+0.82/13 4} Kf8 {-0.81/15 4} 34. Re2 {+0.82/14 4} Rb5 {-0.85/13 4}
35. h3 {+0.83/14 4} Rb7 {-0.86/13 4} 36. Eh2 {+0.81/15 3} Hc7 {-0.83/13 4}
37. Bd3 {+0.82/13 4} Kg8 {-0.81/13 4} 38. Qc2 {+0.80/12 2.6} Hd8
{-0.76/13 3} 39. Ree1 {+0.77/14 4} Hf6 {-0.76/13 3} 40. Re4 {+0.81/13 2.7}
He8 {-0.79/12 3} 41. Qc4 {+0.83/13 2.8} Rb6 {-0.78/14 3} 42. Qa2
{+0.81/14 3} Rbb8 {-0.78/14 2.8} 43. Rg4 {+0.81/15 3} Nf6 {-0.77/14 2.6}
44. Rh4 {+0.80/13 3} Rc7 {-0.77/12 2.7} 45. Qb2 {+0.78/13 2.8} Nd5
{-0.79/13 2.6} 46. Re4 {+0.80/14 2.7} Ef8 {-0.78/15 2.6} 47. Ree1
{+0.77/12 2.7} Eh8 {-0.77/13 2.5} 48. Re2 {+0.76/14 2.6} Hd7 {-0.77/14 2.5}
49. Re4 {+0.73/14 2.6} Rcc8 {-0.75/14 2.4} 50. Rg4 {+0.74/12 2.5} f5
{-0.45/12 2.0} 51. Rh4 {+0.32/13 2.5} Be7 {-0.18/13 2.3} 52. Rh5
{+0.19/14 2.4} Nf6 {-0.28/14 2.3} 53. Bg5 {+0.25/13 2.4} Bxb4
{+0.05/13 2.3} 54. Bxf6 {+0.08/13 2.3} Bd6 {+0.24/12 2.2} 55. Qa2
{+0.69/12 2.3} gxf6 {-0.66/12 2.2} 56. Bc4 {+0.46/13 2.2} Ef7
{-0.80/12 2.2} 57. Eh4 {+0.76/11 1.9} Kg7 {-0.10/11 1.7} 58. Re1
{+0.49/12 2.2} Re8 {-0.74/11 2.1} 59. Qd2 {+0.32/10 2.1} Hb6 {-1.12/10 2.1}
60. Qxh6+ {+4.68/12 1.8} Exh6 {-5.03/13 1.4} 61. Rxh6 {+5.26/11 0.3} Hxc4
{-5.09/11 2.0} 62. Rh7+ {+5.26/10 2.1} Kf8 {-5.23/11 2.0} 63. Rh8+
{+299.91/11 1.7} Ke7 {-299.92/11 2.0} 64. Hxc6+ {+299.93/5} Kf7 {-299.94/5}
65. Eh6+ {+299.95/5} Kg7 {-299.96/5} 66. Rh7+ {+299.97/5} Kf8 {-299.98/5}
67. Eg6# {+299.99/5}
{White mates} 1-0

[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2015.07.19"]
[Round "2"]
[White "Musketeer 2"]
[Black "Musketeer 1"]
[Result "1/2-1/2"]
[TimeControl "300+1"]
[Variant "seirawan"]
[Annotator "1. +0.06   1... -0.08"]

1. Nc3/H {+0.06/16} Nc6/H {-0.08/16 15} 2. d3 {+0.05/15 14} d6
{-0.08/16 14} 3. h3 {+0.11/17 12} a6 {-0.14/16 14} 4. Nf3 {+0.21/15 13} Nf6
{-0.04/16 13} 5. Bd2/E {+0.07/15 12} Bd7/E {+0.00/15 12} 6. a3
{+0.00/18 12} e5 {+0.00/18 12} 7. e4 {-0.01/18 11} Be7 {+0.00/20 10} 8. Be2
{-0.01/19 11} Nd4 {+0.14/20 9} 9. Nxd4 {-0.04/20 10} exd4 {+0.11/18 3} 10.
Nd5 {-0.14/19 10} Nxd5 {+0.10/19 10} 11. exd5 {-0.13/17 1.7} O-O
{+0.11/19 10} 12. O-O {-0.01/17 7} Re8 {+0.13/16 9} 13. Re1 {-0.10/16 9}
Bf6 {+0.09/16 5} 14. Ha2 {-0.07/14 9} Be5 {+0.17/15 9} 15. Hb3 {-0.08/14 7}
Ra7 {+0.12/14 8} 16. Eb1 {+0.00/13 8} Ea8 {+0.11/14 8} 17. Bg4 {+0.00/14 8}
b6 {+0.00/15 8} 18. Bxd7 {+0.18/15 5} Hxd7 {-0.13/13 1.1} 19. a4
{+0.12/14 5} a5 {-0.04/15 6} 20. Qf3 {+0.11/15 6} Eb7 {-0.12/15 7} 21. Ed1
{+0.14/15 6} Hf6 {-0.08/14 7} 22. Re4 {+0.20/15 6} Ed7 {+0.59/15 6} 23. Re1
{+0.00/15 6} Hh4 {+0.00/16 5} 24. Qg4 {+0.00/13 5} f5 {+0.00/15 4} 25. Qh5
{+0.00/15 5} Hg6 {-0.07/14 6} 26. Qf3 {+0.00/17 4} Hh4 {+0.00/18 6} 27. Qh5
{+0.00/21 3} Hg6 {+0.00/16 4} 28. Qf3 {+0.00/20 4} Hh4 {+0.00/19 4} 29. Qh5
{+0.00/22 4}
{XBoard adjudication: repetition draw} 1/2-1/2
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engine development to play a chess variant

Post by musketeerchess »

Hi
I developed myself an engine playing on zillions using only Leopard and Cannon as the sole 2 new added pieces.
I agree with you, a challenging and very rich and interesting game. Plenty of tactics and new strategical themes that give creativity new highs.

I'm interested to see your games and play them on a classic chess board with classic pieces and my latest designed pieces. They are very beautiful especially the Leopard !
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Engine development to play a chess variant

Post by Ferdy »

I have this kind of pieces from staunton 3.25 king size, so how the new pieces would look like?

Image
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Engine development to play a chess variant

Post by Evert »

Apart from the Fortress, I can easily make a rule description for SjaakII. I like many of the pieces, but the Amazon (what you call a Dragon) is not a very interesting piece in practice. It's simply too strong on an 8x8 board.

EDIT: hmm, on second thought, the gating rules look mor cumbersome than those for Seirawan, I had thought they were similar. There is no way to force SjaakII to only gate at specific squares without hardcoding the squares in the rules (ie, it cannot be implemented as a choice at the start of the game). Seirawan gating rules are probably a better idea.
In case you're wondering: the main issue I find with Seirawan Chess is that the new pieces are too strong on an 8x8 board: the board is simply too crowded. Adding them on a 10x8 (Capablanca and rlated variants) works better.
Last edited by Evert on Sat Jul 18, 2015 10:10 pm, edited 1 time in total.
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engine development to play a chess variant

Post by musketeerchess »

HI
I don't know how to upload images here (it changed). You find them on www.musketeerchess.com
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Engine development to play a chess variant

Post by Ferdy »

musketeerchess wrote:HI
I don't know how to upload images here (it changed).
When you see an image from web, right-click on it then press "copy image url". You can then paste the url here and enclose it with img tags.
Example right-click on the image I posted and get its url.

When the image is from your disk, upload that image to a website. Example I use mediafire (you need an account, it is free) to upload images from disk. Once it is there, open the image and right-click on it to get the url. Then paste it here like
Image
musketeerchess wrote: You find them on www.musketeerchess.com
I am not sure which one is it. Did you mean the one in the logo? If so, the first one is the Leopard and the 2nd one is the Cannon. I am not sure about the third and fourth.
User avatar
musketeerchess
Posts: 161
Joined: Sun Apr 21, 2013 2:02 pm
Location: Paris, France

Re: Engine development to play a chess variant

Post by musketeerchess »

Hi
concerning the Logo u r right: Leopard Cannon than Archbishop and Chancellor
inventor of Musketeer Chess. A modern commercial chess variant.

www.musketeerchess.net

Pieces are available on Houseofstaunton.com or Paypal
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Engine development to play a chess variant

Post by Ferdy »

I am trying to implement your rules but I will only use Leopard and Cannon at this time.. I have numbered your guides so that it is easy to follow.

Here it is.

Code: Select all

1. Musketeer Chess begins like Orthodox Chess, by placing all the classic
chess pieces on the 8x8 Board.

2. First, white must choose one new piece among the nine new pieces.
Black has ten seconds to disagree with white’s choice.
If black accepts white’s choice, he must then pick up the same black
colored piece.

3. Now it’s black’s turn to choose one of the pieces from the remaining
eight pieces. He has ten seconds to make his choice. If not, the default
choice must be the Leopard (or Cannon if Leopard has already been chosen).
White must then pick up the same man.

4. If no agreement is reached on the choice of the first new playing piece,
then the default choice must be Cannon and Leopard.

5. After the two new chess pieces are defined, both white and black will place
their new men respectively on the zero and ninth line. Each new man is placed
behind one classic chess piece. It’s strictly forbidden for players to place
one man behind the King and the other behind the Rook at the same time.

6. After the first move, the new man must be placed on the board:
on the empty square which is left by the piece which was previously
in front of it.
For example: white will place his Leopard on square d0
behind the white Queen). His Leopard will be placed on the board
when the white Queen first moves away. However, if the White Queen
is captured before making its first move, then white forfeits
their right in introducing the new man.

7. If the new man is placed behind the King, and the king moves because
he is checked, then the right to introduce the new men is also forfeited.

8. If the new man is put behind the King, then it is introduced when castling.
The same is true when the additional man is put behind a Rook.
However, it is forbidden to put the two extra new men behind
a King and a Rook at the same time, preventing the introduction of
the two new men at the same time when castling.

9. If a Fortress is put behind black’s King (e9). If the Black king
castles, the Fortress will be placed on the e8 square. PGN notation
For short castle: 0-0 (Fo-e8). 

10. If black’s king is in check and the black king moves without
capturing the piece that checks, black forfeits his right to
introduce the Fortress, etc.

11. When promoting, a pawn can be promoted into any of the Classic
Chess pieces (except the King) and equally into any of the new men
that were part of the game. For example, the game began with
Cannon and Unicorn. If a pawn is promoted, it cannot be promoted
to a Leopard, but it can be promoted to a Cannon or a Unicorn.
If a second pawn is promoted, it can be promoted to a Cannon
or Unicorn again (we can then see 2 of the same colored Cannons
on the playing board, etc).
In number 10, if there is double checker and you capture one checker, does this mean that you can now make a gate move? A gate move is a move where you introduce a new piece.

Number 7 and number 10 seems related or number 10 is only applicable for the Fortress piece?

How do you handle a case where the gate move is executed but the new introduced piece covers its own king from check. Can the bishop in C1 able to make a legal move say to d2 and gate a Leopard or Cannon in C1 for example?
In s-chess this is not allowed.
[d]4k1n1/4p3/8/8/8/8/8/r1B1K2R w K - 0 1
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Engine development to play a chess variant

Post by Ferdy »

musketeerchess wrote:Hi
I developed myself an engine playing on zillions using only Leopard and Cannon as the sole 2 new added pieces.
I agree with you, a challenging and very rich and interesting game. Plenty of tactics and new strategical themes that give creativity new highs.

I'm interested to see your games and play them on a classic chess board with classic pieces and my latest designed pieces. They are very beautiful especially the Leopard !
Regarding the fen, this is the setup format for s-chess.

Code: Select all

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR[HEhe] w KGFDCBQkgfdcbq - 0 1

Code: Select all

[HEhe]
That is the available new piece that the player can have. Or we can replace that with [LClc] for Leopard and Cannon respectively.

Code: Select all

KGFDCBQkgfdcbq
This one refers to castling rights and gating rights at given files for virgin sq/pc.

In your case we can limit this rights say we are only allowed to gate at b and c files so we will use like this.

Code: Select all

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR[HEhe] w KCBQkcbq - 0 1
The KQ and kq are for castling rights, but if the white right to castle in king-side is lost, then we can still gate at sq E1 for king.

So it could become,

Code: Select all

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR[HEhe] w CBEQkcbq - 0 1
So we can make some fen from s-chess that can be used for musketeer.

By examining these rights I found some things where I could improve my s-chess engine too.