Skip to main content
Welcome to the R-Type Project! This guide will help you set up the project on your local machine and run it successfully. Follow the steps below to get started.

Prerequisites

Before you begin, make sure your environment meets the following requirements:
  • C++ Compiler (G++ or Clang)
  • CMake (minimum version 3.15)
  • Git for cloning the repository
  • vcpkg for dependency management
If you don’t have these tools installed, here are some quick commands:

Install CMake and Git on Linux:

Install vcpkg:


Installation

Follow these steps to set up and build the project:

1. Clone the repository:

2. Build the project


Running the Game

The server binary is named r-type_server. Use the following options:
The client binary is named r-type_client. Use the following options:

Why Use vcpkg?

To explain why vcpkg was chosen as the dependency manager, a benchmark was conducted comparing vcpkg to manual installation methods and other dependency managers like Conan and Hunter.

Benchmark Setup

  • Scenario: Installing and integrating the SFML library for a C++ project.
  • Tools Compared: vcpkg, Conan, Hunter, and manual installation.
  • Metrics: Time to install, ease of integration, and dependency resolution success.

Results

Analysis

  • Setup Time: vcpkg was the fastest, reducing the overall configuration time significantly.
  • Ease of Use: vcpkg integrates seamlessly with CMake, simplifying dependency management.
  • Resolution Success: vcpkg provided a near-perfect resolution success rate, avoiding conflicts or missing libraries.
In conclusion, vcpkg was chosen for its simplicity, speed, and reliability, which are crucial for cross-platform game development.

Project Structure

Here is an overview of the project structure:

Troubleshooting

Here are common issues and solutions:

CMake version error:

Ensure CMake is version 3.15 or higher. Update it if necessary.

vcpkg not found:

Ensure vcpkg is integrated and installed properly:

Compilation issues:

Check that your compiler supports C++17 or later:
Ensure it supports C++17 or higher.

How everything work

R-Type diagAll