This guide provides detailed instructions for building and running the R-Type Clone project on Linux and Windows.
| Tool | Minimum Version | Purpose |
|---|---|---|
| Git | 2.x | Version control |
| CMake | 3.15+ | Build system |
| Python | 3.x | Build scripts |
| C++ Compiler | C++17 support | Compilation |
- Linux: GCC 9+, Clang 10+
- Windows: MSVC 2019+, Clang-CL
vcpkg handles all dependencies automatically.
# 1. Clone the repository with submodules
git clone --recursive https://github.com/thinkboosted/R-type-Clone.git
cd R-type-Clone
# 2. Bootstrap vcpkg (first time only)
./vcpkg/bootstrap-vcpkg.sh
# 3. Build using the helper script
python3 build.py
# 4. Run the game
cd build
export LD_LIBRARY_PATH=$PWD:$PWD/lib:$LD_LIBRARY_PATH
./r-type_client local# 1. Clone the repository
git clone --recursive https://github.com/thinkboosted/R-type-Clone.git
cd R-type-Clone
# 2. Bootstrap vcpkg
./vcpkg/bootstrap-vcpkg.sh
# 3. Create build directory
mkdir -p build && cd build
# 4. Configure with CMake
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake \
-DCMAKE_BUILD_TYPE=Release
# 5. Build
cmake --build . --config Release -j$(nproc)
# 6. Run
export LD_LIBRARY_PATH=$PWD:$PWD/lib:$LD_LIBRARY_PATH
./r-type_client localIf you prefer system packages over vcpkg:
# Install dependencies
sudo apt update
sudo apt install -y \
build-essential \
cmake \
git \
libsfml-dev \
libglew-dev \
libbullet-dev \
libzmq3-dev \
liblua5.4-dev \
libasio-dev \
libmsgpack-dev \
libgtest-dev
# Clone and build
git clone https://github.com/thinkboosted/R-type-Clone.git
cd R-type-Clone
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j$(nproc)# 1. Clone the repository
git clone --recursive https://github.com/thinkboosted/R-type-Clone.git
cd R-type-Clone
# 2. Bootstrap vcpkg (first time only)
.\vcpkg\bootstrap-vcpkg.bat
# 3. Create build directory
mkdir build
cd build
# 4. Configure with CMake (x64)
cmake .. -A x64 `
-DCMAKE_TOOLCHAIN_FILE=..\vcpkg\scripts\buildsystems\vcpkg.cmake `
-DCMAKE_BUILD_TYPE=Release
# 5. Build
cmake --build . --config Release
# 6. Run
.\Release\r-type_client.exe local- Open Visual Studio 2019 or later
- Select File → Open → CMake...
- Navigate to the cloned repository and open
CMakeLists.txt - Visual Studio will automatically configure the project
- Select the build configuration (Release recommended)
- Build with Build → Build All
The project includes CMakePresets.json for convenient configuration:
# List available presets
cmake --list-presets
# Configure using a preset
cmake --preset=linux-release
cmake --build --preset=linux-release| Preset | Platform | Description |
|---|---|---|
linux-debug |
Linux | Debug build with symbols |
linux-release |
Linux | Optimized release build |
windows-debug |
Windows | Debug build with symbols |
windows-release |
Windows | Optimized release build |
./r-type_client localStart the server:
./r-type_server <port>
# Example:
./r-type_server 4242Connect as client:
./r-type_client <server_ip> <port>
# Example:
./r-type_client 127.0.0.1 4242./sound_testIf you get library loading errors:
# Set library path before running
export LD_LIBRARY_PATH=$PWD:$PWD/lib:$LD_LIBRARY_PATH
./r-type_client localIf vcpkg fails with a lock error:
# Remove stale lock files
rm -f vcpkg/vcpkg-lock.json
pkill -f vcpkg # Kill any stale processesEnsure vcpkg toolchain is specified:
cmake .. -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmakeCopy the required DLLs to the executable directory or add the vcpkg bin folder to PATH:
$env:PATH += ";$PWD\..\vcpkg\installed\x64-windows\bin"Ensure submodules are initialized:
git submodule update --init --recursiveAfter a successful build, you'll find:
| File | Description |
|---|---|
r-type_client |
Game client executable |
r-type_server |
Game server executable |
sound_test |
Audio system test utility |
*.so / *.dll |
Dynamic module libraries |