chess
chess copied to clipboard
:sushi: Wasabi Chess Engine - written in AssemblyScript
:sushi: Wasabi Chess Engine
Wasabi Chess runs as a Web App in the browser and is also available as a standalone UCI chess engine.
The Web App embeds the engine using Web Workers to compute the AI moves in the background without blocking the main thread for the UI.
Features
- Chess engine implemented in AssemblyScript
- Computer opponent with 6 difficulty levels
- Opening Database for varied gameplay
- Move history to undo player moves
- Drag'n'Drop support to move chess pieces
- Touch support for mobile devices
Built With
- AssemblyScript - for the chess engine
- as-pect - to test the engine
- react - for the user interface
- react-dnd - for Drag and Drop support
- styled-components - to style React components in JS
- react-fontawesome - for some font icons
- workerize-loader - to load modules as Web Workers
- as-wasi - for WASI system calls (only for the standalone UCI engine)
License
This project is licensed under the GNU General Public License - see the LICENSE for details.
Attributions
- Images for the chess pieces come from Wikimedia Commons
- The opening book was generated from a selection of chess games from the FICS Games Database
- A set of 725000 test positions collected by the author of Zurichess was used to tune all evaluation parameters