This project is a straightforward chess game built with C++. It features a C++ backend server and a web-based frontend developed using Vite.
- Current version: 1.3.0
This chess game includes the following features:
- Session management for handling multiple games.
- Compatible with standard chess rules.
- Communication between server and web interface using WebSockets.
- Compatibility with UCI protocol (via an http wrapper) for chess engines.
- Play chess against Euphron, a chess engine developed in C++ !
This project is compatible with Windows and Linux, and requires CMake for building.
Make sure you have the following dependencies installed:
- CMake (see CMake installation guide)
- A C++ compiler (e.g., g++)
- Node.js and npm (see Node.js installation guide)
Moreover, this project uses Crow for handling HTTP requests and WebSockets. You can install Crow by following the instructions on its GitHub repository.
- Clone the repository:
git clone https://github.com/Omikrone/Chessgame.git
cd ChessgameThis project is meant to be used with the Chessboard library for the chess rules and logic. To install it, follow these steps:
cd backend
git clone https://github.com/Omikrone/Chessboard.git chess- Build the C++ server using CMake:
cmake -S . -B build
cd build && cmake --build . --config Release- Build the frontend using npm:
cd ../frontend
npm install- Start the C++ server:
cd backend/build
./game/Release/chessgame.exe- Start the frontend:
cd ../frontend
npm run dev- Open your web browser and navigate to
http://localhost:5173to access the chess game interface.
Future improvements for this project may include:
- Adding compatibility with the Chessboard library for chess rules and logic.
- Better Handling of the game session and player management.
- Implementing a multiplayer mode over the network.
- Enhancing the user interface with more features and better design.