Grandmaster Chess is a feature-rich, real-time multiplayer chess application that allows users to compete in private matches across the web. Built with a focus on smooth gameplay and modern aesthetics, the platform integrates real-time socket communication, user authentication, and an interactive chat system.
-
Real-Time Multiplayer: Seamlessly create or join private game rooms using unique Room IDs to play with friends.
-
Integrated Live Chat: Communicate with your opponent in real-time through a dedicated in-game chat panel.
-
User Authentication: Secure login and registration system with persistent sessions using JWT tokens.
-
Interactive Gameplay:
-
Visual Highlights: Recent moves are highlighted with a yellow glow for better board awareness.
-
Authentic Audio: Features high-quality sound effects for standard moves, captures, and system notifications.
-
Dynamic Status: Live updates on turn status, checkmate alerts, and "CHECK" warnings.
-
-
Responsive UI: A modern "Glassmorphism" design that automatically adapts to different screen sizes and mobile devices.
-
Frontend: HTML5, CSS3 (Flexbox/Grid), and Vanilla JavaScript.
-
Game Engine: Chess.js for move validation and game logic.
-
Board Interface: Chessboard.js for the interactive UI.
-
Real-Time Communication: Socket.io for instant move and message synchronization.
-
Styling: Custom CSS with Google Fonts (Poppins) and FontAwesome icons.
Plaintext
βββ index.html # Main application structure and UI containers
βββ script.js # Game logic, socket handling, and auth management [cite: 115]
βββ style.css # Visual styling, animations, and responsive layouts [cite: 167]
-
Authentication: Register a new account or log in with your existing credentials.
-
Room Setup:
-
Enter a unique Room ID.
-
Click Create to start as White.
-
Share the ID with a friend, who can click Join to play as Black.
-
-
Gameplay:
-
Drag and drop pieces to make moves.
-
The game automatically enforces standard chess rules.
-
Use the sidebar to track the game status and chat with your opponent.
-
This frontend connects to a dedicated Node.js/Socket.io backend. Ensure the SERVER_URL in script.js points to your active server instance.
Created with passion for the chess community.