MoreChess aims to be a fully-on chain extendable chess game. This means that creating a new piece or new rules is as easy as adding a contract: you have to create a new system file. In practice that means copy/pasting another piece system and editing the relevant parts. The same goes for the Rules, you can create a new rule system in a similar way, although for the moment it is harder to implement entirely new rules.
The project uses the (mud + react) framework. The state of the board is in the store, and is updated during the transactions. There are currently two transactions: startGame(), which initializes the store and the position of the pieces on the board, and movePiece(from, to), which tries to move the piece at position from to position to (the board is numbered from 0 to 63). If there is a chess logic error, the transaction is reverteds.