
ChessMate
ChessMate is an interactive web-based chess application that allows users to play chess against a custom-built engine. The project combines a responsive frontend built with HTML, CSS, and Bootstrap with a powerful backend powered by Python Flask. At the heart of ChessMate is a manually implemented chess engine that uses minimax algorithm with alpha-beta pruning to provide challenging gameplay.
Features
- Interactive Chessboard: Responsive drag-and-drop interface with move highlighting and piece animations.
- Custom Chess Engine: Hand-crafted engine utilizing minimax algorithm with alpha-beta pruning and positional evaluation.
- Move History: Complete record of game moves with algebraic notation and ability to revert to previous positions.
- Iterative Deepening: Advanced search technique that incrementally increases search depth to find optimal moves within time constraints.
- Move Undo: Ability to take back moves with a full game state history tracker.
- Position Evaluation: Visual indicator showing the current advantage based on material and positional factors.
Stack
• Frontend
- [HTML/CSS] - Semantic markup and responsive styling for the chessboard and controls.
- [JavaScript] - Client-side logic for board manipulation and move validation.
- Bootstrap - Responsive UI components and layout framework ensuring compatibility across devices.
• Backend
- Python Flask - Lightweight web framework handling HTTP requests and game state management.
- [Custom Chess Engine] - Python-based implementation of minimax search with alpha-beta pruning.
- SQLite - A lightweight, embedded SQL database for simplicity and efficiency.