Dojo Chess is a chess game engine designed using the Entity-Component-System (ECS) template, Dojo. It aims to provide a robust and efficient implementation of chess gameplay for an enjoyable chess experience in a digital environment.
Working Test : check tests.cairo
- Initialize game
- Execute Move
(Whit pawn) : move (0,2)
(Black pawn) : move (1,5)
(Whit pawn) : move (0,3)
(Black pawn) : move (1,4)
(Whit pawn) : move (1,4) -> Generate Board, check there is Black pawn -> kill Black pawn
- Give up ( White )
Design
Components
Entities
systems
Front-End
Connecting contracts with front-end app was difficult.
`@dojoengine/core` would benefit from a documentation.
I found hard to get the entities ID from the `sozo component` commands.
Calling functions was pretty straight forward.
---
Working features
- Landing games index page.
- Game page.
- Initialise a chess board from a json object.
- Position pieces from a json object.
- History display for game moves.
Pending features
- Drag and drop pieces to move.
- Contract calls - initialize, execute_move, give_up.
- Receive entities positions from contract.
Future features
- Login with web wallet.
- Spectate game.
- Rotate chess board.
- Cool animations for killing pieces.