Introduction

Allegiance Chess is a Chess variant where you can essentially brainwash your opponents' pieces. Instead of being black or white, each piece has an allegiance. At the beginning, pieces start with a pure black or white allegiance. During the course of a game, a piece can be manipulated into switching sides, if your opponent decides to challenge a piece of yours.
From the original pure state, pieces transition into a partial state where you still control them, but one more step and they switch sides. You can't change the allegiance of your own pieces.
During each turn, players can choose to challenge the allegiance of a piece instead of capturing it. This causes no movement, but the allegiance of the challenged piece shifts by one, towards the colour of the player making the move.
For example, if white challenges a black bishop (allegiance zero), then the targeted bishop will change its allegiance to one. Meaning that if it gets challenged one more time, it will switch sides to white. Since players can only challenge enemy pieces, once a piece leaves its "pure" allegiance, it will never go back to it.
How to play

All normal rules of Chess apply:
  • Castling
  • En-passant
  • Promotion
When your piece would be able to take a piece, you'll see two options. If you choose to take (X) the piece, it counts as a normal capture. If you choose to challenge (>) the piece, both yours and the challenged piece stays in place, and the challenged piece's allegiance will change towards your side.
Technical details

This game is implemented in Typescript from scratch, so there may be completely bame breaking bugs. You may open an issue on the issue tracker if you encounter bugs like this (but not limited to):
  • Ability to make illegal moves
  • Inability to castle, promote, challenge, or capture
  • Inability to move at all
FEN has been extended to support storing allegiance information. The Allegiance FEN (AFEN) string is a superset of FEN, with the added ">" character, which indicates that the piece before the character has a non-pure allegiance. For example, "N>" means that the knight has an allegiance of 2 (white minus one), while "b>" means that the bishop has the allegiance of 1 (black plus one).
Because AFEN is a superset, any FEN string is valid AFEN, but an AFEN string might not be valid FEN.
Additionally, the standard Chess notation is extended in the same way. The ">" character signals a challenge. For example, where "Rxd2" would mean Rook takes on D2, "R>d2" means the Rook challenges the piece on D2. Neither of them move, but the opposing piece on D2 changes its allegiance by one, towards the challenging player.