Comments/Ratings for a Single Item
![Editor](/index/editor.gif)
> Is there a ready made setup for chess with different armies ? Do you mean in the jocly.com bot, or in the WinBoard+Fairy-Max download? In the latter you can select various CwDA battles in the Engine Settings dialog for the "Variant fairy selects" option, and then choosing variant 'fairy' from the WinBoard New Variant dialog should give you those armies.
I'm trying to use fairy max to play a game with 4 new pieces at the corners (the new piece is a hawk and it jumps 2 or 3 squares in any direction). The game definition is below (in fmax.ini). When I run this game black's pieces are shown in wrong locations, and the game immedietly results in a stalemate. (I have legality checking turned off, but I get errors either way). Can anyone let me know what I'm doing wrong? thanks.
// variant - [new piece at corners]
Game: fun01 # PNBRQ.....AKpnbrq.....ak # fairy
8x8
8 4 5 7 3 5 4 8
8 4 5 7 3 5 4 8
p:74 -16,24 -16,6 -15,5 -17,5
p:74 16,24 16,6 15,5 17,5
k:-1 1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:259 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:296 15,3 17,3 -15,3 -17,3
R:444 1,3 16,3 -1,3 -16,3
Q:851 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
H:900 -16,7 -32,7 1,7 2,7 16,7 32,7 -1,7 -2,7 -15,7 -30,7 17,7 34,7 15,7 30,7 -17,7 -34,7
![Editor](/index/editor.gif)
> Can anyone let me know what I'm doing wrong?
Ugh, I completely missed this question, and considering the date I suppose it is no longer relevant. Still, for people that might run into a similar problem: what is wrong is that you defined piece number 8, which is present in the initial setup, with ID 'H', but that there is no 'H' in the list of pieces given in the 'Game' line
Game: fun01 # PNBRQ.....AKpnbrq.....ak # fairy
This list of piece IDs is essential for the WinBoard GUI (to which Fairy-Max will send it) to know which piece image to associate with each piece. Each position correspond with a certain image, the first 5 being the standard image for P, N, B, R and Q, and the last for each color always representing a King. The list now defines the piece 'A' (which does not occur in your variant at all), but not 'H'. As a result WinBoard will choke on the initial position that Fairy-Max sends it, as this will contain 'H' pieces which WinBoard doesn't know what image to use for. Replacing the A and a by H and h would solve this, and display the H as a spiked helmet. By putting the H and h in a different position in the string, (e.g. by changing the number of dots, but keep the length for white and black equal!), you would get other images for H, h.
Note that the latest versions of Fairy-Max and WinBoard would allow you append the lines
#
# H& ADGH
to the definition, which communicate the moves of the H piece (in Betza notation) to WinBoard, so that it will properly highlight the possible destination squares of the piece when you grab it, and can test legality of engine moves. (Otherwise legality testing would have to be switched off, because WinBoard might have other ideas of how the piece with the chosen image can move than Fairy-Max.)
I use fairymax all the time, since I'm not a great player, but it's challenging enough that it's still hard to beat. Unfortunately, it seemed to block indefinitely while talking to X-board. I was curious what was happening since I'm interested in chess engines. There is a large section on stream blocking, etc on the X-board site. I managed to fix the problem, and happy to report it played gnu-chess in a game on an ARM chromebook computer running the latest linux OS.
I pasted the resulting code here:
https://pastebin.com/Fd4cNpRV
![Editor](/index/editor.gif)
On my Linux system on an Intel PC I never had any such problems with XBoard + Fairy-Max. Which is the essential change that finally made it work for you? The fflush(stdin)?
Where can the latest (I think it is 5.0) fairymax version be downloaded?
@HG, I had asked two questions here, on this thread, earlier. Have you seen them?
Actually I have managed to download it from the winboard forums along with winboard. Still I don't remember what the piece to char table's use is!
![Editor](/index/editor.gif)
Oh sorry, I completely overlooked those questions. The latest version of Fairy-Max and WinBoard now are bundled in the WinBoard-AA package.
The pieceToCharTable is how Fairy-Max instructs WinBoard to map piece IDs on images. Each position in the pieceToChar string corresponds to a certain image, starting with Pawn, Knight, Bishop, Rook, Queen, ... and ending with King. First half for the white images (upper-case IDs), second half for the black (lower-case IDs). For an overview of the available images, look here. Images not needed in the game are indicated by a dot. The others by the ID of the piece they represent (a single letter, or letter plus a single quote or exclamation point, the latter only recommended for use when you run out of letters).
Fairy-Max just sends that string to WinBoard, when the variant it describes gets selected. It doesn't do anything with it itself.
There are some special notations in the pieceToChar WinBoard attaches additional meaning to: ^L , with L some piece ID that was already assigned to some other image means the image is for the promoted version of an L (which, in move and position notations, would be indicated as +L). This is needed mainly in Shogi variants; normally WinBoard assumes that the piece that uses the Pawn image promotes to a piece of your choice on reaching the zone (the depth of which depends on the parent variant and board size)
Ok! I got it!
Can Fairy-Max do games that have pieces starting in other places than the back rank. For example Expanded chess?
![Editor](/index/editor.gif)
Not 'natively'. But it is possible to define a game with an arbitrary setup, and then ask WinBoard to start from another position (e.g. with a -fen option). As long as the number of pieces in the variant does not exceed what Fairy-Max can handle this should be possible.
I remember doing this in 2016 with an early apothecary chess.
HG, I have added this game: //Aurelian's test for NmH compared to bishop Game: TestH1 # PNBRQ.EA.M.......G....pnbrq.ea.m.......g.... # fairy 10x10 12 8 5 9 10 7 3 5 8 11 12 8 6 9 10 7 4 6 8 11 p:100 -16,24 -16,6 -15,5 -17,5 p:100 16,24 16,6 15,5 17,5 k:-1 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 k:-1 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 n:259 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7 48,6 -48,6 3,6 -3,6 b:296 15,3 17,3 -15,3 -17,3 Q:851 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3 R:444 1,3 16,3 -1,3 -16,3 G:830 17,1003 15,1F003 -15,1003 -17,1F003 17,10003 -15,FFFF0003 -17,10003 15,FFFF0003 A:875 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7 e:400 15,7 17,7 -15,7 -17,7 30,7 -30,7 34,7 -34,7 48,7 -48,7 3,7 -3,7 M:400 1,7 16,7 -1,7 -16,7 13,7 47,7 49,7 19,7 -13,7 -47,7 -49,7 -19,7 # # G& FyafsF # A& BN # E& FAH # M& CW to fairymax.ini. How do I make Xboard display it?
HG, I had tried again but have not managed to do it. I don't yet need to set up a machine match, this will come later. I only need to know if fmax can play the game.
@HG,
Haven't you seen my comments or was I unclear?
![Editor](/index/editor.gif)
I had computer trouble, so I had no opportunity to check it out yet.
Fairy-Max does ignore game names that start with a capital. I forgot what was the reason for that (but originally there was one). But when you change the T to t the variant will appear in WinBoard's New Variant menu, from where you can select it. (If you did not put the definition too far down in the fmax.ini file; WinBoard can only display a limited number of engine-defined variants.
You did not specify what piece should be used for K/k in the pieceToChar string. Change it to
PNBRQ.EA.........G......MKpnbrq.ea.........g......mk
HG,
You have explained to me here :
https://www.chessvariants.com/index/listcomments.php?id=33121
how to set up a machine match to test something. Is this still the way to do it or are there different things now?
![Editor](/index/editor.gif)
At the time I wrote that there was a problem with engine-defined variants running in a match that started from an externally set-up position, where the position sent by the engine overruled the position requested by the user. But I think this was fixed in the latest beta version of WinBoard. There it should be possible to run a tournament or match specifying a 'position file' in the Tournament Options dialog, which contains the FEN(s) of the desired start position(s). I hope.
HG,
For fairy max the promotion zone of the games is still 1 or 3 deep (no 2)?
Later Edit: Is there a way to do castling if the king and rook start on the second to last rank (like in expanded chess say)?
Even Later Edit: How do I tell Winboard that the promotion zone is the last 3 ranks?
@HG,
I had asked a few questions earlier this week. May you find the time to take a look?
25 comments displayed
Permalink to the exact comments currently displayed.
For those interested, Fairy-Max is now being used as a remotely connected bot player on the Jocly platform. It offers regular orthodox Chess, Makruk, Capablanca, Cylinder Chess, Shatranj, and Courier. XiangQi is also available via the Max-Qi engine from the same author as Fairy-Max.
To play one of those variants, go to https://www.jocly.com/#/open-tables and click on an open table to start the game, or invite user HGMBot to play. Since the bot is connected to Jocly as a regular user, you'll need your own Jocly account (free) to play this AI.
Prefer Firefox, Chrome or Safari (with WebGL enabled) to get a 3D interface for playing. If 2D is good for you, any modern browser will work, including those from mobile devices.