Build a functional and visually appealing chess game using modern technologies of your choice (e.g., HTML/CSS/JavaScript).
-
Fully playable chess game for two players (local play).
-
The user should be able to play from both sides — white or black — with correct perspective and controls.
-
Implement all standard chess rules, including:
- Legal moves
- Captures
- Check and checkmate detection
-
Move Highlights:
- Highlight the square a piece moves from and lands on
- (Optional but nice): show legal moves when a piece is selected
-
Timers:
- Add a basic chess timer (e.g., 5 minutes per side)
- Show countdown for each player visibly and switch on turn
-
Move Notation:
- Show the moves on the side as they're played using standard chess notation (
e4
,e5
,Qd4
,#
, etc.) - Keep the move log persistent and readable during the game
- Show the moves on the side as they're played using standard chess notation (
-
Checkmate Handling:
- When a player is checkmated, display a “Checkmate” or “Game Over” message
- Provide a restart button to begin a new game
- Make the board and pieces look nice and modern
- Responsive design is a plus (but not required)
- Feel free to use 2D or 3D rendering (e.g., CSS grid, Canvas, or Three.js), whichever makes the game visually satisfying
Deliver a single working chess game project in one single HTML file, clean and playable.