Community variant
Twister chess
Chess but your pieces must move to the square color indicated by the piece ! (currently doesn't work for black)
This is a user-catalogued casual variant. Technical details such as board size,
FEN, pieces, and hand rules are defined in the Fairy-Stockfish
variants.ini block below.
Generated rule overview
This variant is defined directly from a Fairy-Stockfish rule block. The text below is generated from the available configuration and may omit details that are only implicit in piece movement notation.
Board and setup
Pieces and movement
- The piece set used on the board is: king (k), queen (q), rook (r), bishop (b), knight (n), custom piece 8 (p), custom piece 7 (x), custom piece 2 (s), custom piece 1 (o), custom piece 3 (v), custom piece 4 (w), custom piece 5 (t) and custom piece 6 (u).
- custom piece 8 (p) is a custom piece with Betza movement `mfWcfFinD`.
- custom piece 1 (o) is a custom piece with Betza movement `N`.
- custom piece 2 (s) is a custom piece with Betza movement `N`.
- custom piece 7 (x) is a custom piece with Betza movement `B`.
- custom piece 3 (v) is a custom piece with Betza movement `R`.
- custom piece 4 (w) is a custom piece with Betza movement `R`.
- custom piece 5 (t) is a custom piece with Betza movement `Q`.
- custom piece 6 (u) is a custom piece with Betza movement `Q`.
- Some pieces have restricted movement regions: mobilityRegionWhiteKnight is a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8.
- Some pieces have restricted movement regions: mobilityRegionBlackKnight is a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8.
- Some pieces have restricted movement regions: mobilityRegionWhiteCustomPiece1 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionBlackCustomPiece1 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionWhiteCustomPiece2 is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
- Some pieces have restricted movement regions: mobilityRegionBlackCustomPiece2 is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
- Some pieces have restricted movement regions: mobilityRegionWhiteBishop is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
- Some pieces have restricted movement regions: mobilityRegionBlackBishop is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
- Some pieces have restricted movement regions: mobilityRegionWhiteCustomPiece7 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionBlackCustomPiece7 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionWhiteRook is a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8.
- Some pieces have restricted movement regions: mobilityRegionBlackRook is a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8.
- Some pieces have restricted movement regions: mobilityRegionWhiteCustomPiece3 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionBlackCustomPiece3 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionWhiteCustomPiece4 is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
- Some pieces have restricted movement regions: mobilityRegionBlackCustomPiece4 is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
- Some pieces have restricted movement regions: mobilityRegionWhiteQueen is a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8.
- Some pieces have restricted movement regions: mobilityRegionBlackQueen is a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8.
- Some pieces have restricted movement regions: mobilityRegionWhiteCustomPiece5 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionBlackCustomPiece5 is b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8.
- Some pieces have restricted movement regions: mobilityRegionWhiteCustomPiece6 is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
- Some pieces have restricted movement regions: mobilityRegionBlackCustomPiece6 is c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8.
Promotion
- Promotions are available in the configured promotion zones. The the promotion region for White is all the ranks from 1 to 8 and the promotion region for Black is all the ranks from 1 to 8.
- The pieces that can promote are: knight (n), custom piece 1 (o), custom piece 2 (s), rook (r), custom piece 3 (v), custom piece 4 (w), queen (q), custom piece 5 (t), custom piece 6 (u), bishop (b) and custom piece 7 (x).
- Promotion choices are both sides: no pieces.
- Fixed promotion mappings: n promotes to o, o promotes to s, s promotes to n, r promotes to v, v promotes to w, w promotes to r, q promotes to t, t promotes to u, u promotes to q, b promotes to x and x promotes to b.
- Piece promotion is mandatory where promotion is legal.
- Promoted pieces can demote according to the configured promotion mapping.
Piece movement
These diagrams show custom pieces and known Fairy-Stockfish built-in fairy pieces from White's perspective on a compact preview board. Some special moves, especially hoppers and game-state-dependent moves, can still depend on blockers or game state.
N
N
R
R
Q
Q
B
mfWcfFinD
move
capture
move or capture
initial only
hopper target
Fairy-Stockfish rules
[twister-chess]
#pychessPieces = p,n,o,s,+n,+o,+s,b,x,+b,+x,r,v,w,+r,+v,+w,q,t,u,+q,+t,+u,k
startFen = rnbqkxsr/pppppppp/8/8/8/8/PPPPPPPP/ROBQKXNR w kqKQ
# Pawn
customPiece8 = p:mfWcfFinD
# Colored knights
knight = n
customPiece1 = o:N
customPiece2 = s:N
mobilityRegionWhiteKnight = a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8
mobilityRegionBlackKnight = a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8
mobilityRegionWhiteCustomPiece1 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
mobilityRegionBlackCustomPiece1 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
mobilityRegionWhiteCustomPiece2 = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
mobilityRegionBlackCustomPiece2 = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
# Bishop
bishop = b
customPiece7 = x:B
mobilityRegionWhiteBishop = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
mobilityRegionBlackBishop = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
mobilityRegionWhiteCustomPiece7 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
mobilityRegionBlackCustomPiece7 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
# Colored rooks
rook = r
customPiece3 = v:R
customPiece4 = w:R
mobilityRegionWhiteRook = a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8
mobilityRegionBlackRook = a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8
mobilityRegionWhiteCustomPiece3 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
mobilityRegionBlackCustomPiece3 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
mobilityRegionWhiteCustomPiece4 = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
mobilityRegionBlackCustomPiece4 = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
# Colored queens
queen = q
customPiece5 = t:Q
customPiece6 = u:Q
mobilityRegionWhiteQueen = a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8
mobilityRegionBlackQueen = a1 d1 e1 h1 c2 g2 b3 f3 a4 d4 e4 h4 a5 d5 e5 h5 c6 g6 b7 f7 a8 d8 e8 h8
mobilityRegionWhiteCustomPiece5 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
mobilityRegionBlackCustomPiece5 = b1 f1 a2 d2 e2 h2 c3 g3 b4 f4 b5 f5 a6 d6 e6 h6 c7 g7 b8 f8
mobilityRegionWhiteCustomPiece6 = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
mobilityRegionBlackCustomPiece6 = c1 g1 b2 f2 a3 d3 e3 h3 c4 g4 c5 g5 b6 f6 a7 d7 e7 h7 c8 g8
# King
king = k
# Promotions
promotionPawnTypes = *
promotionRegionWhite = *1 *2 *3 *4 *5 *6 *7 *8
promotionRegionBlack = *1 *2 *3 *4 *5 *6 *7 *8
promotionPieceTypes = -
promotedPieceType = n:o o:s s:n r:v v:w w:r q:t t:u u:q b:x x:b
mandatoryPiecePromotion = true
pieceDemotion = true