Forums

Fairy-Max x Winboard Question

Sort:
hooboy

 I would like to know what text in Fairy-Max's fmax.ini makes Winboard symbolise what chess graphic. Thks!

Confused?

?=Question im asking                                                               X=Irrelavant to Q                                                              Others=as per fmax.ini

#

# X& ???????????

~Isaac

Chess lover and rookie

JoeTutor

http://home.hccnet.nl/h.g.muller/board.html

HGMuller

The choice of piece images in WinBoard is determined by the so-called pieceToCharTable, which lists for all of WinBoard's 22 available images (per color) with which piece ID they should be associated. Images that are not needed in the current variant are indicated by a period. The final stretch of periods just before King can be omitted, though. So if the pieceToCharTable is only 20 characters long, the first 10 will be for white, the last 10 for black, and the 10 characters will associate with image 1-9 and 22 (where 22 is King). E.g. for Capablanca Chess the pieceToCharTable is

PNBRQ..ACKpnbrq..ack

This would be equivalent to

PNBRQ..AC............Kpnbrq..ac............k

where PNBRQK associate with the classical Chess symbols, A with crossed swords, and C with the marshall star. The .. would correspond with the mandarin cap and elephant images, and are not used in Capablanca Chess.

Fairy-Max feeds the pieceToChrTable to WInBoard based on the info on the "Game:" line, after the first # sign:

Game: capablanca # PNBRQ..ACKpnbrq..ack

The lines at the end of the game definition have no effect on the piece image, just on how WinBoard thinks the piece moves (for the purpose of legality checking, mate detection, and highlighting target squares of a dragged piece). Like

# A& BN

would indicate the A piece would move like Bishop or Knight (i.e. is a Capablanca Archbishop). In Capablanca Chess that was not needed, because WinBoard assumes that by default for the crossed swords. But some variants use the crossed swords for another piece, e.g. the Phoenix (F), and to make that work, Fairy-Max has to add

# F& WA

to specify it moves like Wazir or Alfil. (The & indicates the definition is both for the white and the black piece.)

hooboy
HGMuller wrote:

The choice of piece images in WinBoard is determined by the so-called pieceToCharTable, which lists for all of WinBoard's 22 available images (per color) with which piece ID they should be associated. Images that are not needed in the current variant are indicated by a period. The final stretch of periods just before King can be omitted, though. So if the pieceToCharTable is only 20 characters long, the first 10 will be for white, the last 10 for black, and the 10 characters will associate with image 1-9 and 22 (where 22 is King). E.g. for Capablanca Chess the pieceToCharTable is

PNBRQ..ACKpnbrq..ack

This would be equivalent to

PNBRQ..AC............Kpnbrq..ac............k

where PNBRQK associate with the classical Chess symbols, A with crossed swords, and C with the marshall star. The .. would correspond with the mandarin cap and elephant images, and are not used in Capablanca Chess.

Fairy-Max feeds the pieceToChrTable to WInBoard based on the info on the "Game:" line, after the first # sign:

Game: capablanca # PNBRQ..ACKpnbrq..ack

The lines at the end of the game definition have no effect on the piece image, just on how WinBoard thinks the piece moves (for the purpose of legality checking, mate detection, and highlighting target squares of a dragged piece). Like

# A& BN

would indicate the A piece would move like Bishop or Knight (i.e. is a Capablanca Archbishop). In Capablanca Chess that was not needed, because WinBoard assumes that by default for the crossed swords. But some variants use the crossed swords for another piece, e.g. the Phoenix (F), and to make that work, Fairy-Max has to add

# F& WA

to specify it moves like Wazir or Alfil. (The & indicates the definition is both for the white and the black piece.)

So is there a way I could find the piece to char table encodents and sprites in Winboard Folders?

HGMuller

In most variants, the images of the pieces are, in order of their pieceToCharTable position:

hooboy

Thks!

hooboy

Why doesnt my code work properly?

Game: soldierchess # P......BS.M.....C...A.Kp......bs.m.....c...a.k # fairy

12x8

3 4 5 6 7 8 9 7 6 5 4 3

3 4 5 6 7 8 9 7 6 5 4 3

p:100 -16,24 -16,6 -15,5 -17,5

p:100 16,24 -16,6 -15,5 -17,5

s:200 1,3 16,3 -1,3 -16,3 15,7 17,7 -15,7 -17,7

b:250 15,7 17,7 -15,7 -17,7 1,BA 16,BA -1,BA -16,BA

y:225 1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7

A:500 1,3 16,3 -1,3 -16,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7

C:500 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7

m:150 1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 1,34 -1,34

k:-1 1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 1,34 -1,34

#

# A& RH

# C& BH

# S& RF

# B& WC

# Y& MH

HGMuller

1) The black Pawn seems to capture backwards.

2) You define a piece Y, which is in the initial setup so that it will appear in the FEN Fairy-Max sends to WinBoard, but Y and y are not in the pieceToCharTable, so WinBoard would choke on the FEN.

3) The list of moves you give for A (which is used by Fairy-Max) contains those of Rook and Knight. However, the Betza definition at the end (send to and used by WinBoard) defines it as RH. And in Betza notation H means a (3,0) leap. You probably meant to write RN.

4) 1,34 and -1,34 describe normal castling moves (i.e. where the King moves two steps in the direction of the Rook). You repeat those at the end of the King definition, which serves no purpose and could slow Fairy-Max down. (It really would try to do the move twice while thinking, to try which is better...) You also do that on the M piece. (Do you really want that to castle at all?) I must admit that I am not sure that Fairy-Max handles castling correctly on a 12-wide board.

5) The Betza description you give of the B piece is WC, meaning Wazir ((1,0) steps) plus Camel ((3,1) leaps). The move list used by Fairy-Max, however, specifies Ferz moves ((1,1) steps; 15,7 to -17,7) and moves of the Xiangqi Cannon. (BA has A = 1010 as primary move rights, i.e. the hopper + non-capture bit set, and is toggled by B = 1011, so that ater the hop it becomes 0001, i.e. only the capture bit is set. And the steps (1, -1, 16 or -16) are Rook-like.) The Betza notation for Cannon is mRcpR (non-capture as Rook, capture as hopping Rook), so if you really want the piece to move as you describe it to Fairy-Max you should describe it in the Betza notation sent to WinBoard as

# B& BmRcpR

6) The move list of the Y also contains castlings (but the Betza notation doesn't).

I am sorry the move description of Fairy-Max is still so cumbersome; I hope that I can make future versions that only need the Betza notation, and would derive the list of (move-step, move rights) pairs from it internally. Then inconsistencies between the two can no longer occur.

hooboy

Thks so much, I get forgetful sometimes :b

hooboy

Ok, heres the problem,

Only a "crossed swords" and "sheriff badge" appear for black on the board whereas white has no pieces. Could you help me?

//Corrected with the help of H.G Muller

Game: soldierchess # P......BS.M..Y..C...A.Kp......bs.m..y..c...a.k # fairy

12x8

3 4 5 6 7 8 9 7 6 5 4 3

3 4 5 6 7 8 9 7 6 5 4 3

p:100 -16,24 -16,6 -15,5 -17,5

p:100 16,24 16,6 15,5 17,5

s:200 1,3 16,3 -1,3 -16,3 15,7 17,7 -15,7 -17,7

b:250 15,7 17,7 -15,7 -17,7 1,BA 16,BA -1,BA -16,BA

y:225 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7

A:500 1,3 16,3 -1,3 -16,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7

C:500 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7

m:150 1,34 -1,34 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

#

# A& RN

# C& BN

# S& RF

# B& BmRcpR

# Y& MH

HGMuller

I pasted what you posted here in my fmax.ini file, and for me it works fine. (That is, I get a full rank of pieces for both sides on a 12x8 board when I select 'soldierchess' from the New Variant menu.) WinBoard automatically switches to a board size where it has images for all pieces (which is only the case for sizes 'bulky' and 'middling'). So are you sure there isn't a mixup with files somewhere, so that the fmax.exe you are running is really using this description?

There still is one error, namely in the Betza description of the Y piece. 'M' is not a valid Betza move descriptor, and as a consequence WinBoard does think the Y piece has no moves at all. From the Fairy-Max move-description list it seems you intend it to be KN, rather than MH.