Expanding Winboard_x capabilities
Posted: 06 Oct 2007, 11:48
I am currently working on building some new features into Winboard_x. These include:
Adjudications
Winboard_x could already adjudicate wins if both engines agreed that the score was above a user-preset level for a certain number of moves, and award a draw to games that were dragging on beyond a given number of moves.
I am adding to this a number of other draw adjudications:
* Insufficient mating material (KK, KBK and KNK).
* Trivial draws (3 moves into KRKR, KNNK, KBKN, KBKB, KNKN).
* 51-moves without capture / Pawn move.
* 4-fold repeat.
They are enabled if variant is "normal", and the user has set an adjudication threshold. (So the can be switched on without adjudicating wins by setting a threshold above mate level.)
I might still add a mate test to this.
Fairy piece support
The second change would allow variants with more than 6 different piece types. Currently I am setting it up for 9 piece types, so that all pieces on the back rank can be of different type. The three new piece types are indicated by H (NigHtrider), A (Archbishop) and M (Marshall), and these piece types can be used in FENs to set up positions.
A new varian, "fairy", is added, which uses the three new pieces on the Queen-side of the opening position. (Back row MHAQKBNR in stead of RNBQKBNR.) In standard H,A,M are displayed the same as N,B,R, respectively. To have them show up differently, you would have to define them through selecting a Chess font, and assign them to characters of this font (with /fontPieceToCharTable). How they show up (and how pieces on the King side show up) is then totally determiined by the user. How they move is of course determined by the engines; Winboard does not assume anything for this. (Legality testing has to be switched off in this mode, or it would not allow any moves with these pieces.)
So far I have not been able to compile Winboard_x; I get tons of linker errors. Seems I am missing a critical library; probably for the graphics interface.
Adjudications
Winboard_x could already adjudicate wins if both engines agreed that the score was above a user-preset level for a certain number of moves, and award a draw to games that were dragging on beyond a given number of moves.
I am adding to this a number of other draw adjudications:
* Insufficient mating material (KK, KBK and KNK).
* Trivial draws (3 moves into KRKR, KNNK, KBKN, KBKB, KNKN).
* 51-moves without capture / Pawn move.
* 4-fold repeat.
They are enabled if variant is "normal", and the user has set an adjudication threshold. (So the can be switched on without adjudicating wins by setting a threshold above mate level.)
I might still add a mate test to this.
Fairy piece support
The second change would allow variants with more than 6 different piece types. Currently I am setting it up for 9 piece types, so that all pieces on the back rank can be of different type. The three new piece types are indicated by H (NigHtrider), A (Archbishop) and M (Marshall), and these piece types can be used in FENs to set up positions.
A new varian, "fairy", is added, which uses the three new pieces on the Queen-side of the opening position. (Back row MHAQKBNR in stead of RNBQKBNR.) In standard H,A,M are displayed the same as N,B,R, respectively. To have them show up differently, you would have to define them through selecting a Chess font, and assign them to characters of this font (with /fontPieceToCharTable). How they show up (and how pieces on the King side show up) is then totally determiined by the user. How they move is of course determined by the engines; Winboard does not assume anything for this. (Legality testing has to be switched off in this mode, or it would not allow any moves with these pieces.)
So far I have not been able to compile Winboard_x; I get tons of linker errors. Seems I am missing a critical library; probably for the graphics interface.