/R-type

Re implementation of the r-type game in C++, including multiplayer with TCP and UDP protocol and an ECS architecure

Primary LanguageC++

Advanced R-TYPE

alt text

Table of Contents
  1. About The Project
  2. Getting Started Other Information

About The Project

The goal of this project is to implement our own version of the game R-Type but with a twist: this version is a network game featuring one-to-four players whose goal is to fight together against a wave of enemies!

For more information on this game, refer to http://www.hardcoregaming101.net/r-type/.

Dev Documentations: https://epitech-9.gitbook.io/r-type/r-type/r-type

Network Documentations: https://docs.google.com/document/d/13TY6sqcqzN5Dmy5ObR_jOVzKZVRteO7p3xVBY8bpffM/edit?usp=sharing

Specificities

  • This project is cross-platform and can run on both Windows and Linux.
  • This project has its own implementation of a Game Engine using the Entity-Component-System (ECS) architectural pattern with SDL2

Classe-UML-1.png

Technologies Used

  • C++
  • SDL2
  • Asio

(back to top)

Getting Started

For a more in-depth use of this project, refer to the documentation.

Linux

Installation (Linux)

  1. Clone the repo
    git clone https://github.com/EpitechPromo2025/B-CPP-500-MPL-5-1-rtype-hugo.marrasse.git
  2. Install and setup project
    ./install.sh build
  3. Launch Server
    ./r-type_server
  4. Launch Client
    ./r-type_client

Windows

Prerequisites (Windows)

  • Visual Studio

Installation (Windows)

  1. Download the repository

  2. Install and setup the project

  • Use the install.ps1 file in Visual Studio

(back to top)

Other Information

Game Controls

Player

Button Direction
Arrow Up Top
Arrow Down Down
Arrow Left Left
Arrow Right Right
Space Shoot

Authors

  • Maya Hill
  • Hugo Nini
  • Bastien Boymond
  • Hugo MarrassĂ©
  • Diogo Faria-Martins

(back to top)