HOME XML-SCHEMA XML-EXAMPLES CHESS VARIANTS FBR MBN ANCP FAQ RESOURCES ABOUT

FBR - Formalized Board Rules


NOTE: This page is still under construction.

FBR (Formalized Board Rules) in conjunction with MBN (Modified Betza Notation) provides the basis for an unambiguous identification of chess variants. Moreover it provides a basis for the implementation of converters, for example the conversion between PGN and C/CIF. C/CIF supports any chess variant, provided that the variant is defined with the use of FBR and MBN (see attributes pieces and rules in type Game).

A rule has the following general syntax:

<FBR> ::= <Rule> <Prefix>? <SeqNumber>? <PieceSet>? <BoardRange>? ( '=' <Attribute> ( ',' <Attribute> )* )? ; <PieceSet> ::= '{' '!'? '^'? <PieceIdentifier>* '}' <PieceIdentifier> ::= ('+' | '-' | '#' | '*')? <PieceLetter> <PieceLetter> ::= [A-Z] | ':' [A-Z] [A-Za-z0-9]? [A-Za-z0-9]? ':' <BoardRange> ::= '[' '^'? <CompoundRange> ']' ; <CompoundRange> ::= <SingleRange> ( ',' <SingleRange> )* ; <SingleRange> ::= <FileRange> | <RankRange> | <SquareRange> ; <FileRange> ::= <File> ( '-' <File> ) ; <RankRange> ::= <Rank> ( '-' <Rank> ) ; <SquareRange> ::= <FileRange> <RankRange> ; <File> ::= <Number> ; <Rank> ::= [a-z] ; <Number> ::= [0-9]+ ; <Prefix> ::= [+-#*$%&] ; <SeqNumber> ::= '<' <Number> '>' ;

For many, many examples see Chess Variants.

Now the rules will be defined:

alice

Adding the rules of Alice Chess. This page is describing Alice Chess based on standard chess, but the rules of Alice Chess can be applied to most chess variants in a canonical way. Note that also the rules for en-passant and castling will be added, provided that the basic chess variant provides en-passant, and/or castling. And very important is the rule that a move must be legal on the board where it is played, but it can only move or capture if the corresponding destination square on the other board is vacant.

Note that the Alice Chess rules can be applied to a single board description, a double board description is not necessary, because even with a single board description the rules (and the notation) are unambiguous. Consider each move with a piece as a promotion, and the promotion of a promoted piece will return to the unpromoted piece.

Given any chess variant the Alice rules will be added. Here an example for a single board description:

royal alice K Q=R+N R B N P +P

This will be converted to:

royal promotion#=move* @K=K @Q=R+N @R=R @B=B @N=N @P=P K=mR+c{QRBNP}K #K=mK+c{#Q#R#B#N#P}K ##K Q=mQ+c{QRBNP}Q #Q=mQ+c{#Q#R#B#N#P}Q ##Q R=mR+c{QRBNP}R #R=mR+c{#Q#R#B#N#P}R ##R B=mB+c{QRBNP}B #B=mB+c{#Q#R#B#N#P}B ##B N=mN+c{QRBNP}N #N=mN+c{#Q#R#B#N#P}N ##N P=mP+c{QRBNP}P #P=mP+c{#Q#R#B#N#P}P ##P +P==QRBN +#P==#Q#R#B#N

And with a double board description:

royal alice K<*> Q<*>=R+N R<*> B<*> N<*> P<*> +P<*> O-O<*>=[*]isR[g]=isR[f] O-O-O<*>=[*]isR[c]=isR[d]

we will have the following conversion:

royal @K=K @Q=R+N @R=R @B=B @N=N @P=P K<*>=aK--<+>mO Q<*>=aQ--<+>mO R<*>=aR--<+>mO B<*>=aB--<+>mO N<*>=aN--<+>mO P<*>=aP--<+>mO +P<*> O-O<*>=[*]isR[g]--<+>mO=isR[f]--<+>mO O-O-O<*>=[*]isR[c]--<+>mO=isR[d]--<+>mO

But note that still some additional rules for disambiguation are required, although the converted definition is not denoting this.

3D

Alice Chess with three boards:

In the original version, the Parton destination square is forced, or involuntary, because there are only 2 boards. And the knights become oddly colorbound, because the forced transfer allows any particular knight to attack squares of only one color [different] on each board. You can change this by adding a third board which is mutually connected with both other boards. Now, a piece may have a free choice of which other board to make its Parton destination board. And the odd total number of boards allows the knights to attack all the squares on each board.

Here we use the following conversion:

royal @K=K @Q=R+N @R=R @B=B @N=N @P=P K<*>=aK--<+>mO Q<*>=aQ--<+>mO R<*>=aR--<+>mO B<*>=aB--<+>mO N<*>=aN--<+>mO P<*>=aP--<+>mO +P<*> O-O<*>=[*]isR[g]--<+>mO=isR[f]--<+>mO O-O-O<*>=[*]isR[c]--<+>mO=isR[d]--<+>mO

4D

Alice Chess with four boards (quasi 4D), see 4D Quasi-Alice Chess. But we use a multi-board representation, this is avoiding 4D support. Here we have the following conversion:

royal @K=K @Q=R+N @R=R @B=B @N=N @P=P K<*>=aK--<+>aO Q<*>=aQ--<+>mO R<*>=aR--<+>mO B<*>=aB--<+>mO N<*>=aN--<+>mO P<*>=aP--<+>mO +P<*> O-O<*>=[*]isR[g]--<+>mO=isR[f]--<+>mO O-O-O<*>=[*]isR[c]--<+>mO=isR[d]--<+>mO

A transfer to another board is possible only if this board has at least one of the kings on it, except if the board that a piece is moving from has both of the kings on it already, in which case any of the other three boards are choices.

classic

The classical Alice Chess (default). We use the single board description, this avoids the support of multi-boards.

andernach

The piece making a capture changes color (except royal pieces). For instance, if a white bishop on a2 were to capture a black knight on g8, the end result would be a black bishop on g8. If a piece enters the promotion zone, while doing a capture, it is promoted first (when promotion is defined for this piece) and then changes color. Assume that the following set of rules is given:

andernach K Q=BN R B N P +P

Then this will be transformed into the following rule set:

conversion*=capture K Q=BN R B N P +P *Q=ccO *R=ccO *B=ccO *N=ccO *P=ccO

announcement

This rule expects a following announcement enclosed inside slashes. Example:

promotion+[8-9] promotion*[9] announcement{GHW}[8-9]/DragonResurrection/

The announcement DragonResurrection has been declared by the opponent. This announcement is mandatory, it must be applied, but only if possible. Note that an annoucement will be done before moving, and it applies to the related piece then moving. In this example an optional piece set and an optional board range has been specified, this means that the announcement can be done only for these pieces at one of the squares matching the board range. Either a special move definition, or a special promotion rule, must be specified for this announcment, but only for the affected pieces, example:

+W==H !+W/DragonResurrection/ *W/DragonResurrection/==+D

The piece W is promoting to piece +D, but only if the announcment DragonResurrection has been declared previously for this specific piece. And in this case this promotion rule must be applied, there is no choice. And the promotion rule +W==H is canceled when announcment DragonResurrection is active for the related piece, this means that it cannot promote to piece H on rank 8 or 9 if DragonResurrection is announced.

pieces

If any of the declared piece rules (pieces) is fulfilled, then an announcement is not possible. This can be restricted to an optional piece set following the attribute.

antiroyal

The anti-royal is a piece that is in check whenever it is not attacked by opposing pieces. If a player ends their turn with their anti-royal not attacked, they are checkmated and lose. Additionally, the anti-royal may not capture opposing pieces, only friendly ones. Since Anti-Kings are a form of King, they may not be captured, only mated. Anti-Kings do not offer check to friendly Kings. Kings do not attack Anti-Kings, so an Anti-King next to a hostile King but not attacked by any other piece is not attacked and so in check.

The mandatory piece set defines the anti-royal pieces. Note that per default an anti-royal piece does not belong to the default piece set for promotions.

atomic

The rules for atomic chess variants: Any piece will affect an explosion after capturing, except the royal pieces and pawns. Example:

royal atomic{^P} K Q=Q+N R B N P +P

will result into

royal=expose @K @Q=Q+N @R @B @N K=mK Q=mQ+(cQ--X) R=mR+(cR--X) B=mB+(cB--X) N=mN+(cN--X) P +P

Here the predefined move X will be used, see MBN - Modified Betza Notation.

Captures that result in the explosion of your own royal piece are illegal, and therefore a royal piece can never capture any other piece.

A player wins if he can explode the royal piece of the opposite color without exploding his own royal piece.

The optional piece set restricts the pieces affected by an explosion. Normally pawns will not be affected, this means that normally the argument {^P} will be given.

avalanche

This is adding the rules of Avalanche Chess. Assume that the following rule set is given:

avalanche K Q=BN R B N P +P

Then it will become this rule set:

turn<1> turn#<2>{!p}=avalanche K Q=BN R B N P #P=mfW +P
balance

Add the attribute balance to first move. In our example the result will be:

turn<1>=balance turn#<2>{!p}=avalanche K Q=BN R B N P #P=mfW +P

benedict

This applies the rules of Benedict Chess. With other words it is doing the following:

  • Any move definition will become a "move only" (not capturing) move.
  • For any piece a conversion rule will be specified, so that all enemy pieces attacked by the moving piece are flipped to become friendly pieces.
  • Win by flipping the enemy King.

Example for a simple chess variant:

royal K Q=R+N R B N P +P

This will become:

royal pieces=capture(0) pieces{K}=morethan(0) conversion# @K @Q=R+N @R @B @N @P K #K=(!dcK)** Q #Q=(!dcQ)** R #R=(!dcR)** B #B=(!dcB)** N #N=(!dcN)** P #P=(!dcP)** +P

bouncing

The rules for bouncing chess variants. The diagonally moving pieces (normally Bishop and Queen) bounce off from the vertical (left and right) edges of the board. Example:

royal bouncing K Q R B N P +P

will result into (we assume a board with 8 files):

royal @B=B-[([a,h]zB)0] K Q R B N P +P

The optional piece set defines the pieces which will bounce, the default piece set is {B} (this is sufficient, because normally the Queen is defined as Q=RB).

bughouse

This is defining the rules for Bughouse games, see Bughouse chess.

burner

The mandatory letter after burner is defining the letter for the piece prefix. Any piece prefixed by this letter will have the power to burn an oposing piece within the burning zone. Any opposing piece stopping inside the burning zone is removed from the board (after making its capture, if any).

The burning zone will be defined by the move capability of the prefixed piece. zone. Example:

burner#={^A} :FD:|Fire Demon|=(mF4+msW4+([mK]--[mK]--K))--X #:FD:=K

The Fire Demon is burning opposing pieces that land on adjacent squares.

When burning royal piece the game is lost for the owner of this piece.

The optional piece set is restricting the pieces that can be burnt.

The rule name can be followed by a sequence number, enclosed inside brackets. This is important when other interacting rules like freezers will be used. See protector for more details.

cheshire

Adding the basic rules of Cheshire Cat Chess (except the rule for the first King move option). This page is describing Cheshire Cat Chess based on standard chess, but the rules of Cheshire Cat Chess can be applied to most chess variants in a canonical way. Note that castling is impossible in Cheshire Cat Chess.

The mandatory piece set following the rule name is defining the letter used for the removed square. Usually letter X will be used.

Provided that we have the following rule set:

royal cheshire{X} K Q R B N P +P

This will be transformed into:

royal pieces{X}=neutral,immovable,transparent promotion*=origin,move X *KQRBNP==X

conversion

The mandatory letter after conversion is defining the letter for the piece prefix. A piece prefixed with this letter is defining a conversion rule, the piece at the destination square will flip the color. Example:

conversion* K=mK *K=[+]cK !*K=j{K}K

If the King is not in check, then it can convert one opposing piece on any adjacent square, provided that this piece is not adjacent to his King, and the moving King was not checked. This conversion is a separate move. Instead of converting a piece the King can also do a normal king move (without capturing).

Note that a conversion rule will be performed after any promotion rule with prefix "+" has been performed.

capture

The conversion rule will be applied only for capturing moves. An optional piece set may follow, in this case a conversion will be done only if a piece belonging to this piece set is captured.

move

The conversion rule will be applied only for non-capturing moves.

cylindric

The board wraps around like a cylinder, the last file connecting to the first file. This means that the move generator now may produce moves like Nh2-b3. It is allowed to capture en passant over the board edge.

wrongrook

Additionally to normal castling, castling with the wrong rook (over the board edge) is also allowed. By such castling on the kingside the king e1 moves to g1 and rook a1 moves to f1. This castling on the queenside has the rook on h1 moving to d1, king moves to c1. (For simplicity it was explained with standard chess rules.)

null

Null moves are allowed, for instance moving the rook from a5 to a5 if this is legal. Without this attribute null moves are not allowed.

diagonals

This rule must have one of the following attribute. If this rule is not used, then (per default) all diagonals are available for movements.

dark

Only the dark diagonals (a1, a3, a5, ...) can be used for diagonal moves, the light diagonals (a2, a4, a6, ...) are not available for movements.

light

Only the light diagonals (a2, a4, a6, ...) can be used for diagonal moves, the dark diagonals (a1, a3, a5, ...) are not available for movements.

difficulttrading

This special rule makes the trading of pieces very difficult, in order to keep this piece in play.

We assume that this rule applies to a Lion. If the 8 squares immediately adjacent to the Lion are called the "A" squares, and the other squares away from the piece are called the "B" squares, then the following rules have to be regarded:

  1. A Lion may capture an opposing Lion on a "B" square, only if it also made a capture on an "A" square (unless the captured piece is a "minor" piece, specified with minor), or if the opposing Lion is undefended (pinned pieces are also attacking in this context).

  2. If a player captures a Lion with a non-Lion piece, the opponent may not capture a Lion except with another Lion, on his next turn.

minor{PieceSet}

This is defining the set of minor pieces (see rule (1) above).

royal

The royal pieces do not belong to the attacking pieces in rule (1) above (this means: when the capture is Lion x Lion on a "B" square, this is allowed if a royal piece can recapture).

The optional piece set is defining the pieces subjected to this rule. If not given, then {L} is the default.

direction

This rule expects the following mandatory arguments: a cardinal direction, and a board range. The cardinal direction is one of: <n>, <s>, <e>, <w>, <nw>, <ne>, <sw>, <se>, denoting the move directions north, south, east, west, northwest, northeast, southwest, and southeast, respectively. The meaning is, that any piece on a square, which belongs to the given board range, can only move into the defined directions. Example:

direction<n>[1,2] direction<s>[a2,c2,e2,f2] direction<e>[c-f2] direction<w>[b-e2]

A piece on square a1 can only move to north, and a piece on square e2 can only move into the directions north, south, east, and west (this means only orthogonal, but not diagonal).

draw

Defining the rules when a game is forced to be drawn.

Note that draw=repetition(3) is the default. This can be overwritten, of course. If draw by repetition is not wanted then you have to cancel this rule explicitly: !draw.

repetition

The game is drawn by repetition if a position occurs the third time with the same player to play. With a following argument the repetition count can be specified, e.g. repetition(4) specifies a draw after the same positions occurs four times.

stalemate(N)
Stalemate is a draw.

drop

Define some special drop rules, this is allowed only if rule holding, or bughouse, is defined.

The optional piece set defines for which pieces the special drop rules will be defined. If not given then all pieces can be dropped, except royal pieces.

After drop the piece will be initial again, as if it didn't move before (so the i (see MBN) modifier applies to this piece, but not the ii modifier).

The optional board range defines the allowed drop zone for the pieces. Default is the whole board.

When dropping a suffixed piece, any side of this piece can be dropped. Otherwise always the side when captured the piece will be dropped.

It's not allowed to drop pieces on squares where this piece has no physical moves, except if explicitly allowed. Example:

holding drop[1-8]{P} P=fW

It is explicitly allowed to drop the Pawn on last rank. Without the rule drop[1-8]{P} dropping a Pawn onto the last rank wouldn't be allowed, because it has no physical move.

captured{PieceSet}

A piece drop is possible only when the side to move has lost one of the piece specified in mandatory piece set. Losing one of these piece only allowes to drop one piece, not more.

immediate

Drop the piece immdiately after it has been captured. If no square is available on which to place the piece, it will be held until an square is vacant and immediately placed on any vacant square. This does not count as a turn. TODO: who is placing the piece, the opponent, or the enemy?

nocheck

It is not allowed to drop the specified pieces with a check to the enemy king. If this attribute is not specified then it is allowed to drop with check. This includes that a neutral piece cannot be dropped if this piece will give check when the opponent has to move.

nomate

It is not allowed to drop the specified pieces with mate. If this attribute is not specified then it is allowed to drop with mate.

withattack

A piece drop is possible only if the dropped piece is immediately attacking an opponent piece.

freezer

The mandatory letter after freezer is defining the letter for the piece prefix. Any piece prefixed by this letter will have the power to freeze an opposing piece within the freezing zone – such a piece is called freezer. Freezing is automatic whether an opposing piece moves into the freezing zone, or the freezer is moving and freezes all the pieces inside the freezing zone. Freezing is temporary – once the freezer moves away or is captured, the frozen piece regains its normal powers. A frozen piece cannot give check. And if the opposing King is the piece being frozen, the King is checkmated if any other piece attacks it and the opponent is unable to capture the attacking piece or interpose a piece to blunt the attack. Freezing another freezer does not prevent that the other freezer is still active, it cannot move away, but it can be swapped with another piece, and it can be captured.

The freezing zone will be defined by the move capability of the prefixed piece. Example:

freezer# B<3>|Basilisk|=fK+mbW #B=<+1>cO

The Basilisk will freeze any opposing piece on the cell directly above or below it.

The rule name can be followed by a sequence number, enclosed inside brackets. This is important when other interacting rules like protectors will be used. See protector for more details.

The optional piece set is restricting the pieces which can be frozen. But this piece set can also being extended. Per default the piece sets includes all opponent pieces. Example:

freezer# I|Immobilizer|=mQ #I=cK

The Immobilizer is freezing all the pieces being adjacent to his position. He will be frozen when moving to a square which is adjacent to the opponent Immobilizer, but simultaneously the opponent Immobilizer is frozen.

The following attributes are allowed:

attackers(N)

Defines the number of pieces required to freeze opponent pieces. Example:

freezer{S}*=(2) S|Superpawn|=K P|Pawn|=mW+cF *P=cW

Any Superpawn will be frozen if at least two opposing Pawns are orthogonally adjacent to this Superpawn.

capture

Only capturing is not possible for the frozen piece, but it can make normal moves (without capturing).

checking

A frozen piece is still checking.

move

It is allowed to make capturing moves, only move-only is not possible for the frozen piece.

single{PieceSet}

This freezer I cannot freeze more than one freezers belonging to the succeeding piece set, example:

freezer#=single{X} I #I=cK X *X=cK

If there are two opponent chameleons (X) next to an immobilizer (I) then either chameleon is free to move away.

suicide

This allows suicide moves. A frozen piece may commit suicide by removing itself from the board. This counts as a move for the player removing the piece.

gating

When a player first moves a piece from its original square, that player has the option of placing any piece from the holding on the vacated square, as part of the player's move. If rule gating is specified, then rule holding is implictly defined, but only if holding is not explictly defined. An optional board range is restricting the squares for gating the piece.

When a player castles, gating can be done onto the king or rook square, but not on both.

An optional piece set is restricting the pieces for this rule, with other words any piece not specified inside this set cannot be gated.

ordered

This attribute defines that the mandatory piece set is defining the order of gating the pieces. Without this attribute the order is arbitrary.

hill

Defines a hill, as soon as a royal piece is entering the hill this player wins. The zone of the hill will be given with the mandatory board range.

If an optional piece set is given, then the side to move wins if any piece of this piece set is entering the hill.

balance

When White moves his royal piece to the hill, and Black moves directly after that also his royal piece to the hill, the game is a draw. This implies that the game may not immediately end when the White royal piece is entering the hill, it may follow a move entering the hill with a royal piece, but no other move is possible.

fill

Defines a goal, as soon as these squares – given with the mandatory board range – will be simultaneously occupied by enemy pieces, the invading side wins the game.

pass

Entering the hill is winning only if this piece has passed the squares defined in the following board range.

The board range is mandatory and defines the zones.

holding

Captured and warped pieces will be stored in the holding. Instead of moving a piece a player might drop any piece from the holding on any unoccupied square, regarding other chess rules.

When an attributed piece will be stored in the holding, it will loose this attribute, this means that the player dropping this piece may choose any attribute.

If an optional piece set is specified, then only the pieces contained in this set will be stacked on holding.

If an optional board range is specified, then only the pieces captured inside this board range will be stacked on holding.

demote

When captured, pieces lose their promoted status, provided that the piece has a promoted status. If attribute demote is not given the captured piece, even if it is the result of a promotion, will be stored in the holding. This attribute cannot be combined with either.

If attribute demote is followed by a piece prefix, then the associated demotion rule will be applied.

If this attribute is not followed by a piece prefix, and if the captured piece is not having a promoted status (designated with a piece prefix), then the default rule "-" will be applied for demotion, if existing. Example:

holding=demote B +B==H R +R==D -R==B

The rook demotes to a bishop when captured. This needs a demotion rule, because this is not the reversal of the bishop's promotion.

either

A captured piece may be dropped either as promoted or as demoted. This attribute cannot be combined with demote.

notflip

The captured piece is not changing the side when stacked on holding. Per default any piece is changing the side when stacked on holding, like in Shogi, or Crazyhouse.

pocket

The holding only contains warped pieces (not captured pieces), and all the pieces initially there (pocket pieces).

promote

The captured piece will be promoted before stacked on holding. The associated promotion rule is either specified with a piece prefix following the attribute, or the default prefix "+" will be used.

share

This holding will be shared, each player can drop any piece from this holding.

loss

Specifies the losing conditions.

perpetualcheck(N)

A player who causes N time checks in repetition loses. If the optional argument (N) is not given, then 3 will be the default.

repetition(N)

A player who causes N time repetition loses. If the optional argument (N) is not given, then 3 will be the default.

stalemate(N)

Being stalemate is losing the game.

magnetic

This is specifying the rule set for playing Magnetic Chess:

  1. Every piece has a charge generating a magnetic field, except the royal pieces which have a neutral charge.
  2. When a piece is moved to a specific square, their closest neighbours at the same rank and column (not diagonal) are repelled if they have the same charge (hence the same colour), and attracted if they have an opposite charge (hence have different colours). A royal piece isn't repelled or attracted, doesn't repel or attract and has a blocking effect on the magnetic field lines.
  3. In castling, the changes are made by the rook movement.

mirror

The default is mirror=vertical, this means that all board coordinates and all movements will be mirrored at the horizontal bisector for the black pieces. When mirror=vertical,horizontal is used, then also all coordinates and movements will be mirrored at vertical bisector.

If !mirror is specified, then no reflection will be done, because the default rule has been canceled.

horizontal

All board coordinates and all movements will be mirrored at the horizontal bisector for the black pieces. Normally this is only useful in combination with vertical.

vertical

All board coordinates and all movements will be mirrored at the vertical bisector for the black pieces. This is the default.

monster

Adding the rules of Monster Chess. Provided that we have the following system of rules:

royal K Q R B N P +P

The rule monster will add the following rules:

royal=untilcaptured turn<1>{!KQRBNP} turn<1>{!kqrbnp}=check turn<2>{!kqrbnp}=captureroyal

multicapture

Multi-captures are working different in various chess variants. Either the captured pieces will be removed after the whole move has been performed (so a captured piece is blocking), but it is not allowed to capture a piece twice, or a captured piece will be removed immediately (in each capturing leg). The former method (multicapture=completed) is the default.

completed

Captured pieces will be removed after the entire multi-capture move has completed.

immediate

Captured pieces will be removed immediately in each capturing leg.

musketeer

The chess rules of Musketeer Chess.

mustcapture

Capturing a piece is compulsory. Moving a piece without capturing, although any capturing is possible (and legal), is illegal. But Removing the king from check takes precedence over capturing another piece.

If an optional piece set is following, then only the pieces defined in this piece set must capture, all other pieces may capture. This means that you cannot move a piece not in this set, if one piece of this set can do a capture.

compulsory

Capturing has precedence over lifting check. Hence, when the king of a player is checked, but he also has a capturing move and no such capturing move lifts the check, the king is considered checkmated.

most

The player must make a move that takes the largest number of pieces, if any move is possible which can capture.

most{<PieceValues>}

The player must make a move that results into the largest number of points; points will be accumulated for any captured piece. Example:

most{M=1,K=1000}

If there are two or more different chances to make a maximum capture, it is compulsory to choose between them the move (or one of the moves) that captures the maximum amount of kings.

multiple

When there is a choice between a move where a single piece or where multiple pieces are taken, the player must make a move with multiple captures.

nonrepeating

A player is not allowed to make a move that would return the board to a previous position, with the same player to move. If this rule prevents a player from getting a royal piece out of check, that counts as checkmate against that player and they lose. If an optional piece set is following, then this rule only applies if one of these pieces has moved.

check

This prohibition does not apply to a player who is in check.

never

If any move would cause the entire board to repeat any earlier position in the game, that move is disallowed and may not be made. This applies to all pieces at all times - even part-way through a multiple move, or when trying to get out of check.

pieces

This rule is defining limits for pieces. This implies that a piece cannot promote to a specific piece if this would violate any specified limit. The piece set specifying the affected pieces for this rule is mandatory for some attributes, otherwise it is optional.

At least one additional attribute is required:

avoidsamecolored(N)

Avoid that you have a pair of pieces on the same color squares.

cannotbechecked

When only the specified pieces (in piece set) are left in play, the opponent may not give check.

consecutive(N)

A maximum of N moves may be made consecutively with the pieces.

draw

The game is draw if the board only contains the pieces specified in given piece set.

extinction

The first player that does not have pieces of all types loses the game.

file(N)

The sum of the pieces given in the piece set on any file must not exceed N for any player.

holding(N)

The pieces in holding, matching the pieces given with the piece set, must not exceed N for any player.

immovable(Number)

Defines rules how long a specific piece cannot move. Number specifies how long this piece cannot move after starting the game, the argument will be given in number of plies. It is possible to omit the number (and the parentheses), in this case this piece is immovable for the whole game. This attribute does not prevent that this piece might be captured, or swapped with another piece.

impartial

The pieces specified with the mandatory piece set will be declared as neutral pieces. This piece cannot give check.

Before a move will be done all neutral pieces will have the color of the opponent. Now all pieces will switch the color to the color of the side to move.

When dropping a neutral piece it will become the color of the side to move.

maxcaptures(N)

If a move would capture more than N pieces, then this move cannot be applied.

morethan(N)

As soon as less or equal than N pieces are on board, the game is lost for the concerned player. If an optional piece set is provided, then the sum of all the pieces matching the piece set is decisive.

minimum(N)

The minimal number of pieces on board for each side. As soon as this minimal number of pieces is reached the opponent cannot capture pieces. The royal pieces are not included in this count, except if attribute royal=expose is specified. Furthermore a sequence number, enclosed inside brackets, can be specified; this is defining an order, the rule with the lowest number comes first. When no sequence number is given, then the order is arbitrary.

If rule pieces is followed by a piece prefix then this attribute is defining a drop rule: as long as this condition is not fulfilled the associated drop rule will be perfomed. Example:

pieces*<1>{!k}=minimum(1) pieces$<2>{!K}=minimum(1) *K==@k $K==@K@w@S

If no black King is on board, then Black has to drop his King. And if no white King is on board, then White has to drop his King, then Black has to drop a Winding General (W), and at least White has to drop the Storm General (S), in this order.

neutral

The pieces specified with the mandatory piece set will be declared as neutral pieces.

Before a move will be done all neutral pieces will have the color of the opponent. Now all neutral pieces not giving check will switch the color to the color of the side to move. This means that a piece which gives check belongs to the opponent for this time. So it is not allowed to move a neutral piece when it is giving check.

When dropping a neutral piece it will become the color of the side to move.

overall(N)

The sum of the pieces on the board given in the piece set must not exceed N for any player for the whole game.

sum(N)

The sum of the pieces of each piece type on the board given in the piece set must not exceed N for any player.

taboo

This piece cannot be captured, except if explicitly specified in move definition with a piece set. The same applies to swapping.

If an optional piece set is following the attribute then only these pieces is not allowed to capture/swap a taboo piece.

total(N)

The sum of the pieces on the board given in the piece set must not exceed N for any player.

transparent

If this attribute is used, then the piece set following the rule name is mandatory. These pieces will be transparent. A transparent piece has the following behavior:

  • It cannot give check.
  • It is not blocking, even a slider is leaping transparent pieces.
  • This piece cannot be captured, except if a capture is explicitly defined.
  • The square is still occupied, and cannot be occupied by another piece.
win

The game is won for side to move if the board contains exact or less pieces than specified in obligatory piece set. This condition will be checked before any move will be done. In this case the piece set may contain pieces of same type more than once, and it will be distinguished between white and black pieces. Example:

pieces{Kpp}=win

Side to move wins as soon as if the board contains a white King, and two black pawns, or less than these pieces (for example only a King is on board).

pincher

The mandatory letter after pincher is defining the letter for the piece prefix. Any piece prefixed by this letter will have the power to pinch an oposing piece within the pinching zone. Any opposing piece inside the pinching zone can be relocated to a square of the pinching player’s choosing on that opponent’s first rank. If the first rank is completely occupied, then the pinched piece is removed from play.

The pinching zone will be defined by the move capability of the prefixed piece. zone. Example:

pincher*={^A} C<1>|Crab|=<2>mO *C<1>=K

The crab can pinch any adjacent opposing piece.

The optional piece set is restricting the pieces that can be pinched.

promotion

Per default the promotion zone is the last rank. A piece must promote when entering the promotion zone, but only if a promotion for this piece is defined (this can be done implicitly with the use of a piece prefix, see MBN - Modified Betza Notation), and if the additional promotion rules can be fulfilled. If a promotion is not possible due to rules, then the promotion zone cannot be entered when a promotion is defined for this piece. This behavior can be changed with the attributes below.

All applicable promotion rules will be performed. Whether a rule is applicable will be determined at the time the involved piece has moved. This means that after the first promotion rule has been applied, then the next determined promotion rule will be applied to the promoted piece from prior promotion, if possible. Note that the order of promotion rules is unspecified, unless the order is determined with a suffixed sequence number, enclosed inside brackets.

The promotion rule promotion+ is pre-defined, without any additional attributes, but with default promotion zone (last rank). It's allowed to re-define this promotion rule. About the default promotion zone of hexagonal boards please see page Hexagonal Board.

Note that normally a promotion stops the move, the promoted piece will not continue moving, except if attribute continue, or dontstop, is specified.

The optional letter after promotion is defining the letter of the rule. The default is "+" if no letter is specified.

The optional board range defines the promotion zone. If not given, then the last rank will be assumed as promotion zone.

If an optional piece set is given, this has only a meaning if one attribute has been specified which restricts the set of pieces to this piece set, for example attribute stack restricts the set of pieces to the pieces on stack. But the additional piece set is extending this set.

Note that a dropped piece inside the promotion zone is not promoting (immediately).

available

As soon as a piece for promotion of a "dead piece" is available, it must promote immediately, except if attribute optional is specified and the piece is able to move, then it may promote immediately. But if attribute enter is specified, then the promotion must be done immediately when entering the promotion zone, and if a piece for promotion is available.

capture

The promotion will be done after capturing a piece within the zone. An optional piece set may follow, in this case the promotion will only be done if one of the piece types specified inside the piece set is being captured.

This attribute can be preceded by an exclamation mark, this means that the promotion will be done when the piece has not captured.

captured

This attribute is useful only when piece drops are available. Do promote the piece when captured by the opponent, this means that the captured piece cannot be dropped as such, it can only be dropped as the promoted piece.

castle

After promotion to a piece specified in the following obligatory piece set the square of this piece will get the castle right for forward castling. The piece on this square will be initial again, as if it didn't move before (so the i (see MBN) modifier applies to this piece, but not the ii modifier).

continue

After promotion continue with the promoted piece.

demote

This attribute is only useful in conjunction with origin. After applying the promotion the causing piece will be demoted. The associated demotion rule is either specified with a piece prefix following the attribute, or the default prefix "-" will be used.

promotion*[1-12]=capture{D} promotion#[1-12]=swap,enpassant,origin,demote @D=K D Q=acc?{D}Q *Q==(wwO--:QD:)+D :QD:=Q #Q==D -:QD:==Q

After capturing a Disk (D), the Queen (Q) will promote to a Queen with mounted Disk (:QD:). The side to move may umnount the Disk with a queen move – with the use of promotion rules "#" and "-" –; this means that after moving the promoted Queen it will demote to a Queen, and the Disk will remain on the start square.

enter

The promotion will be done when entering the promotion zone. This is the default when promote is not defined. An optional piece set may follow, defining the allowed pieces for this promotion.

entersuspend

The promotion will be done when entering the promotion zone. If a piece does not promote on entering the Promotion Zone it may not promote on the next turn unless making a capture. The piece may, however, promote on any subsequent turn.

enpassant

Normally promotion will be done only after the move has finished. When this attribute is specified, then promotion will be done in any leg, and the move will continue with the promoted piece.

leave

The promotion will be done after leaving the zone. An optional piece set may follow, defining the allowed pieces for this promotion. Normally this attribute wil be combined with optional.

move

The promotion will be done after moving wholly within the zone. An optional piece set may follow, defining the allowed pieces for this promotion. Note that castling moves will not promote.

move*

This is the same as attribute move, but with a change: in case of a castling both pieces, the King and the corresponding Rook will promote.

notforced

A piece may move into/inside/outside the promotion zone without doing a promotion even if it reaches a rank where without promoting it becomes an immobile "dead piece".

null

This attribute allows to promote without doing a move, but such a promotion counts as a move.

once

If a piece has already promoted, then it cannot promote further.

optional

The player is choosing whether he likes to promote. Per default a piece must promote if it cannot move after this turn, even if this attribute is defined. But the latter only applies if not attribute move is specified.

origin

This is a quasi-promotion, the origin square (where the piece comes from) will be occupied with a friendly (or opponent) piece, the promotion rule specifies the choice. If the origin square is occupied (this is possible if the swap modifier is used), then a setup is not possible. Example:

promotion*=origin,move N *N==X

After the Knight has moved, the piece X will be set onto the origin square.

setup

A piece will promote only to the type of piece that was on the promotion file in the opening setup. If more than one pieces are on the same file in setup, then the piece closest to the pawn (behind) will be chosen. If the file only contains royal pieces (in setup) then either promotion is not possible, or the piece will promote to any piece specified in optional piece set following the attribute.

stack

Any captured piece will be stored on a stack. Only promote to one of the pieces hold on the stack. The promoted piece will be removed from stack. When no piece is available then the piece cannot move into the promotion zone. This does not apply if attribute optional is specified, except if the piece cannot move further. But if attribute notforced is specified, then the piece can enter the promotion zone, even if a promotion is not possible, it will become a "dead piece".

If an optional piece set is following the attribute, then promote to any of these pieces if no piece is available on stack.

suspend

If a piece does not promote when it first has the opportunity, it may not promote on its subsequent turn unless it captures or is forced to promote. Thereafter it may promote normally.

swap

The promotion will be done after swapping wholly within the zone. An optional piece set may follow, defining the allowed pieces for this promotion.

This attribute can be preceded by an exclamation mark, this means that the promotion will be done when the piece has not swapped.

warp

The piece will not promote immediately, and will not be removed from board, it will be promoted when warped. This attribute is not allowed if rule warp is not specified.

turn

Defining what makes a turn. This rule can be followed by a piece set, this piece set is defining the allowed pieces for this turn. If no piece set is given, any piece is allowed. Per default a move is mandatory. Furthermore a sequence number, enclosed inside brackets, can be specified; this is defining an order, the move with the lowest number comes first. When no sequence number is given, then the order for this move is arbitrary.

Also a piece suffix may be given, in this case the piece suffix must come first. If a piece suffix is given, then only the moves belonging to this suffix can be used for this move. Example:

turn<1> turn#<2>{!p} K Q=BN R B N P #P=mfW +P

In second move only the move definition #P=mfW is available for this move, this means that the opponent pawn will be pushed.

If a move consists of multiple moves, each move must fit with the rules of chess. This means that it is not allowed to move with the King into check (if not explicitly allowed), and the King must evase from check with the first move (of a turn).

If a second move is not possible, then the turn ends, except if attribute compulsory is specified for this move, then the game is stalemate.

achievable

If a move (for this part) in not possible, then the game is lost for the side to move, except if he can capture the last royal piece with any other move (in any other part).

again

This move must be skipped if in previous move (of this turn) the player has not moved a piece which belongs to the piece set of this move. Example:

turn<1> turn<2>{ET}=optional,again

If the player moves one of the pieces E or T, he has the choice to move with one of these pieces again.

alter

This move must alter the position (this is the position before this turn has been started).

balance

In first turn of the game this move will be skipped for the side moving first (usually White moves first).

turn<1>=balance turn<2>

To reduce White's opening advantage, on his first turn, White only makes a single move.

castling

When doing a castling move, this turn ends, the next moves (of this turn) will be skipped.

avalanche

It is allowed to expose the royal piece with this move, but the game is lost with next turn if the King is still in check. When a pawn is advanced to the last rank, the owner of the pawn decides in what type of piece it is promoted. When this means a check to the player advancing the pawn, he loses, as in the previous rule.

check

Allow that a royal piece moves into check (or don't evases from check) in this turn. If the royal piece is not allowed to remain in check, then it's required that one of the following moves (in same turn) will evase the royal piece.

compulsory

If a player's first move leaves him no second move, the game is a stalemate.

dontcross

No piece can cross the same square twice in a single move.

enpassant

En passant capture is allowed. Without this rule en passant is not allowed. If any en apssant capture is possible, but will not be performed, then in next moves (of this turn) en passant capture is not allowed anymore.

optional

This move is optional, except if the royal piece is in check and must evase with this move. Example:

turn=enpassant turn{C}=optional

A turn consists of two moves. These two moves can be made in any order. Only the move with a FIDE piece is mandatory.

untilcapture

Upon capturing a player loses his privilege for this move the duration of the game. Furthermore it disallows to capture within this (part of the) move. Example:

turn<1>=enpassant turn<2>=untilcapture

Each player moves two consecutive pieces until capturing. Upon capturing a player loses his two-move privilege for the duration of the game. A capture must be made on the first and only move of a turn.

progressive

Applies the rules of progressive chess to current variant, see Progressive Chess for details. Per default the Italian rules will be used.

english

The English variant of progressive chess.

italian

The Italian variant of progressive chess (default).

moderate

In addition to FIDE rules:

  1. A player may move one more piece than his opponent has just moved but may move as few pieces as desired. For example, White may move one piece, Black two, White three, Black four, White two, Black three, etc. A piece cannot be moved more than once per turn.
  2. Check must be given on the last move of a turn.
  3. Check must be nullified on the first move of a turn.
  4. Each move in a sequence must be legal, i.e. a player may not move his King into check.
scotish

The Scotish variant of progressive chess.

protector

The mandatory letter after protector is defining the letter for the piece prefix. Any piece prefixed by this letter will have the power to protect a friendly piece within the protection zone – such a piece is called protector, or shield, and a protected piece cannot be captured, but still can be swapped. Protecting is automatic whether a friendly piece moves into the protection zone, or the protector is moving and protects all the pieces inside the protection zone. Protection is temporary – once the protector moves away or is captured, the protected piece regains its normal vulnerability. A protected piece cannot be checked.

The rule name can be followed by a sequence number, enclosed inside brackets. This is important when other interacting rules like freezers will be used. The less the sequence number, the higher the priority of this interacting rule. Example:

protector*<1> freezer#<2> I=mQ #I=cK<br/> S=mQ *S=cK<br/>

It's possible to freeze a protector, but a protected piece is still protecting, even if frozen, because it has a higher priority. The protector (S) is protecting any friendly piece adjacent to the protector.

protector*<2> freezer#<1>

In this case the protector is not protecting when frozen.

royal

Defines the royal pieces and their behavior. This rule must be defined if royal pieces are existing, per default no royal piece exists. More than one definition of royal pieces are allowed, so they can have different behaviors. For any royal piece the following basic behavior applies (so far as not overwritten by special attributes):

  • A royal piece is in check when attacked by any piece (e.g. the king in orthodox chess) and must evase. It is not allowed to expose a royal piece into check.

  • If an evasion from check is not possible then the royal piece is mate, and the game is lost.

The optional piece set defines the royal pieces. If this piece set is not given then only letter K is assumed for the royal piece. Note that a promoted piece like +K is not inheriting the royalty; if this piece also should be royal, then +K has to be included in the piece set.

The optional board range is useful only if more than one royal piece is on the board for any side. The piece (with one of the declared letters) nearest to this range is the royal piece (horizontal measure prevailing over vertical), all other pieces are not royal. This implies that the royal piece may change after a turn.

evasefacing

A player may decide to make a move so that his royal piece faces the other player's royal piece (performed with check only given by opponent's King). In this situation, the opponent can either call a draw, or make a move that breaks the position with two royal pieces facing unobstructed.

bare

The player that is first to bare the opponent's royals (i.e. capture all enemy pieces except the royal pieces) wins.

baremove

The player that is first to bare the opponent's royals (i.e. capture all enemy pieces except the royal pieces) wins, provided that one's own king is not immediately bared or captured on the next move, in this case it's a draw.

castle

Only the pieces in obligatory piece set, given after this attribute, can castle with this royal piece. Per default this piece set is {R}. The given piece set can be empty, which means that this royal piece cannot castle (only useful if more than one royal piece exists).

checkmated

Being checkmated is a win instead of checkmating the opponent.

expose

It is allowed to expose all the royal pieces into check. This implies that the opponent may capture a royal piece. This also implies that stalemate is not possible. Moreover capturing all enemy royals is winning the game.

This attribute may be followed by a parenthesized number, in this case an exposure of a royal piece is allowed only if more or equal royal pieces as specified are still on the board (for the side to move). Furthermore at least one of the royal pieces must not be exposed.

Example: expose(2)
The side to move may expose any royal piece (but not all) if he has more than one. If he has only one, then it is not allowed to expose the royal piece.

Note that this attribute allows the royal piece to cross over square in which it would be in check, even when castling.

maxchecks(N)

The side giving check wins if this is the Nth check to the opponent's royal piece.

mustevase

When the royal piece is checked, it can only move (or capture) and no other piece can move.

noperpetualcheck

A player is not allowed to give perpetual check to a sole royal piece.

passover

It is allowed for the royal piece to pass over attacked squares. But this does not allow to make a move such that the royal piece can be captured.

solely

If the opponent only has a royal piece at the beginning of the turn, and the friendly royal piece is not yet bare, then the side to move wins. If both sides only have a royal piece, then the game is draw.

suicide

If the side to move has more than one royal pieces, and one of his royal pieces is mate, it must do a suicide move (remove it from board), except if any other royal piece is checked, then the royal must piece must evase from check, and the opponent might capture the mated King.

taboo

In this game check is entirely forbidden.

untilcaptured

If a royal piece cannot escape from check (mate), then the game may go on, this means that in this case the royal piece will stay in check, or it will move into check. But the game is over when all royal pieces are captured by the opponent.

virginzone

The royal piece is allowed to move inside the given board range (mandatory) without losing the castling rights.

stalemate

Defining the result or action when a position is stalemate. One of the following results must be given:

draw

If any side is stalemate then the game is a draw. This is the default when stalemate is not defined.

invalid

Stalemate is not allowed.

loss

Being stalemate is a loss.

skip

The player must skip the turn when all the moves are impossible.

win

Being stalemate is a win.

stopifchecking

A sequence must stop if a check happens. This means: the move is complete as soon as a leg is checking the opponent King, the piece must stop.

stymizer

The mandatory letter after stymizer is defining the letter for the piece prefix. Any piece prefixed by this letter will have the power to styme an opposing piece within the stymieing zone – such a piece is called stymizer. This implies that an enemy piece can only move the first leg at a time so long its movement occurs on the squares inside the stymieing zone (see Bodyguard Chess). Example:

stymizer* G=K2 *G=cK

An enemy piece can only move one leg at a time so long its movement occurs on the squares immediately surrounding the Bodyguard (G). This means that a Bishop can move only one square in diagonal direction (because only the first leg of B0=B--B--B--… can be moved), and a Knightrider (N0) will lose it's next move, as soon as it enters the stymieing zone.

The rule name can be followed by a sequence number, enclosed inside brackets. This is important when other interacting rules like freezers will be used. See protector for more details.

swap

This rule may be optionally restricted to a piece set. Only if either pieces of a swap are contained in this piece set, this rule will be applied. Example:

promotion+[1-12]=capture{D}<br/> swap{K:MD:}=demote,promote swap{:KD:M}=demote,promote K=acc?{D}:K: :KD:=:K: +K==:KD: -:KD:==K<br/> M=acc?{D}:M: :MD:=:M: +M==:MD: -:MD:==M<br/>

After capturing a friendly Disk the piece will mount the Disk (promotion from K to :KD:, for instance). When swapping a mounted piece with an unmounted piece the Disk will also swap, because in this case the mounted piece will demote to an unmounted piece, and the unmounted piece will promote to a mounted piece.

demote

After swapping with a piece the piece on start square (once the piece on destination square) the associated demotion rule will be applied. The associated demotion rule is either specified with a piece prefix following the attribute, or the default prefix "-" will be used.

swap=demote Q=mQ+wQ -Q==R

After piece swap the opposing piece will be demoted instantly by one rank.

promote

After swapping with a piece the piece on destination square (once the piece on start square) the associated promotion rule will be applied. The associated promotion rule is either specified with a piece prefix following the attribute, or the default prefix "+" will be used.

swap=promote R=mR+wR +R==Q +B==R +N==B +P==N

After piece swap the friendly piece will be promoted instantly by one rank.

swapping

Adding the rules of Swap Chess. We assume we have this rule set:

royal swapping K Q=QN R B N P +P

This will be transformed into:

royal stopifchecking @K @Q=QN @R @B @N @P K=K Q=Q+(dttwQ)0 R=R+(dttwR)0 B=B+(dttwB)0 N=N+(dttwN)0 P=P+(dttwfF)0 +P

Any capture move capability has been transformed into an additional swap move.

switching

Adding the rules of Switching Chess. We assume we have this rule set:

royal switching K Q=QN R B N P +P

This will be transformed into:

royal @K @Q=QN @R @B @N @P @X=wwK K=KX Q=QX R=RX B=BX N=NX P=PX +P
notincheck

Switching is not permitted if the King is in check. So we have this transformation:

royal @K @Q=QN @R @B @N @P @X=wwK--!jj{K}U[*] K=K+[*]wwK Q=QX R=RX B=BX N=NX P=PX +P

This attribute cannot be combined with attribute excluderoyals.

excluderoyals

Switching with the King is not permitted. So we have this transformation:

royal @K @Q=QN @R @B @N @P @X=ww{^K}K K Q=QX R=RX B=BX N=NX P=PX +P

This attribute cannot be combined with attribute notincheck.

torus

The board wraps around like a torus, the last file connecting to the first file, and the last rank connecting to the first rank. This means that the move generator now may produce moves like Nh2-b3. It is allowed to capture en passant over the board edge.

spacious

All pieces are spacious pieces, see chessvariants.com. An example for standard chess:

royal spacious K Q R B N P +P

This will be converted to:

royal K=K-!mK Q=Q-!mK R=R-!mW B=B-!mF N=N-!mN P=(mfW+cesF+imefW02)-!mK +P
wrongrook

Additionally to normal castling, castling with the wrong rook (over the board edge) is also allowed. By such castling on the kingside the king e1 moves to g1 and rook a1 moves to f1. This castling on the queenside has the rook on h1 moving to d1, king moves to c1. (For simplicity it was explained with standard chess rules.)

null

Null moves are allowed, for instance moving the rook from a5 to a5 if this is legal. Without this attribute null moves are not allowed.

warp

Any piece, except the royal piece, can be removed from the board. This counts as one move, and it behaves like a capturing, this means that the piece will be moved to the holding if a holding exists.

Warping a pawn counts as a move, so the pawn cannot move two squares after dropping to second rank.

If a rook is warped and later dropped to its original square, it cannot castle because it has already moved.

start(N)

Warping is not allowed in first Nth half moves.

win

Defining the rules when a game is forced to be won.

mostpoints(N)

This attribute must be followed by a number of moves. If this number of moves are played without a capture or promotion, the player with the most `points' on the board wins (Pawn=1, Bishop/Knight=3, Rook=5, Queen=9).

stalemate(N)

Being stalemate is winning.

zone

This rule must be prefixed with a board range, which defines the board range with special move restrictions. This rule must have at least one attribute.

An optional piece set is restricting this rule to these pieces.

captureonly

Entering this zone can only be done when capturing/swapping a piece (directly or indirectly).

dontcross

No piece can cross this zone, except with leaping, but not with sliding. The piece must instead remain until a subsequent turn may leave this zone.

hole

This defines holes inside the board. No piece can move into a hole, or cross a hole.

river

Any piece ending its move in the river must leave the river the next turn or it drowns. A drowned piece is removed from play at the end of the turn.

A piece that begins its move in the river might leave and return to the river once or more during a multi-capture move; in that case the piece drowns only if the multi-capture move ends in the river. If the piece drowns after completing a multi-capture move, the captures it made are still legal.



Google translation

Share this page

C/CIF at Sourceforge

C/CIF at Sourceforge

C/CIF at Launchpad

C/CIF at Launchpad