This project is a web-based chess platform where you can play against the powerful Stockfish engine in both standard chess and Chess960 (Fischer Random) modes. Customise the engine's strength, undo/redo moves, view top engine suggestions, and analyse positions in real time. It's perfect for honing your skills or experimenting with unconventional starting positions.
Key features include adjustable Stockfish ELO (1350–3000), move history tracking, promotion handling, and evaluation displays. Whether you're a beginner or an advanced player, this tool adapts to your skill level while providing deep strategic insights.
Challenge the renowned Stockfish engine with adjustable difficulty. Choose between Standard Chess or Chess960 for varied gameplay.
Adjust Stockfish's skill level using a slider (1350–3000 ELO) to match your proficiency.
Correct mistakes or explore alternate lines with unlimited undo/redo functionality.
View Stockfish's top three recommended moves and real-time position evaluations.
Play Fischer Random chess with randomised starting positions to test your adaptability.
Track all moves in a scrollable history.
Enable users to upload and play against their own custom chess engine.
Add support for human vs. human matches locally or online.
Allow users to analyse past games with engine feedback, displaying accuracy scores and move evaluations.
Include an opening explorer for educational insights.
Improve responsiveness for seamless play on smartphones and tablets.
Check out the live demo: Chess Demo
-
Clone this repository and navigate to the project directory.
-
Install the required dependencies:
pip install Flask chess stockfish
-
Start the Flask application:
flask run
-
Visit
http://localhost:5000
to play!
- Frontend: HTML, CSS, JavaScript
- Backend: Python with Flask
- Libraries:
python-chess
,stockfish
,chessboard.js
,chess.js
- python-chess Documentation
- Stockfish Documentation
- chessboard.js Documentation
- chess.js Documentation
- Stack Overflow
- ChatGPT
(Note: Some parts of this project were adapted from the aforementioned documentation, and ChatGPT was used for structuring and refining this README.)