Offline & Online Multiplayer Checkers game in C++ built with SFML 2.6, imGui, Protobuf and ixWebsockets. With very minimal dependencies
and a simple build process. All dependencies are auto-downloaded (as .tar.gz
) and configured for you using CPM.cmake. The only dependency you need pre-installed on your OS is SFML 2.6.x (or newer).
This game can connect to both Private and Public game servers. The backend server for this game is written in Golang, and is available on GitHub which you can self-host! Download and Play the game from the itch.io link above.
- SFML 2.6.1
- imGui-SFML
- ixWebsockets
- spdlog
- Google Protobuf v30.1 (Used entirely during gameplay)
- simdjson (Used once, for parsing list of public servers)
- C++17 (or newer) compiler.
- Pre-built SFML 2.6.x binaries.
- CMake 3.20+ or newer (GUI recommended)
- MS Visual Studio 2022 or newer (NOT vscode), with "Desktop C++ Development" bundle.
- Please download "Visual C++ 64bit" edition of SFML; ignore others.
- Move your unzipped
SFML-2.6.x
folder to its own home, example:C:/SFML/SFML-2.6.1
. - Edit line 24 in CMakeLists.txt, to set value
SFML_HOME
to folder path you moved SFML into (from previous step)
- XCode 14 or newer from AppStore (with MacOS SDK)
- Please install SFML 2.6 as Frameworks, not as "dylibs", as shown in official SFML guide.
- Download Apple Developer tools. After Xcode is installed, run this in your Terminal:
sudo xcode-select --install
- After installing the CMake GUI, add its accompanying CLI to PATH, simply run the following command:
sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
- Latest display drivers
- Use your OS package manager (
apt
oryum
) to install SFML 2.6 or newer. - Alternatively, you may build SFML 2.6 from source, see official SFML docs.
- You are required to install latest OpenSSL Dev library. See example for Ubuntu / Debian below.
sudo apt install libsfml-dev
sudo apt install libssl-dev
- Luckily, Windows and macOS come with their native SSL libs pre-installed, so nothing more to do 😊
Please see BUILDING.md for detailed instructions for each platform.
Pull requests are welcome! See GitHub Issues tab to help with new Features. Just kindly remember run ./lint.sh
script before you git push. Also, for this project, header files should end with .hpp
.
GPL v3 © 2024, Davis T.