Skip to content

slefeu/R-Type

Repository files navigation

{EPITECH} | Third year | Network | OOP | R-Type

About the project

This project aims to recreate the cross-platform video game R-Type with an online mutiplayer mode. It required the implementation of a multithreaded server and a graphical client, using an engine of our own design.

  • Tools:

    • Project made in C++ version 20
    • use of the SFML graphical library to display game elements
    • Compiled with CMake, minimum version required : 3.17
    • Google Test for unit tests
    • Doxygen for documentation
    • A justfile is provided to compile, run and test the project
  • Some of the features we implemented:

    • A multithreaded server, to handle communication and game logic at the same time
    • A graphical client, to display the game and handle user input
    • A generic Entity Component System architecture and game engine
    • A encapsulated implementation of an UDP socket, compatible with Linux and Windows
    • A client-server communication protocol

For further details about the implementation of these notions, you can click here to be redirected to our documentation.

Usage

Documentation

Our complete documentation can be found here.

Game improvements

Continuous integration/Continuous Deployment

  • Automatic build on main and develop branches.
  • Running Google Test unit tests on main and develop branches.
  • Generating coverage on main and develop branches.
  • Automatic generation of Doxygen documentation on main and develop branches accessible here.
  • Sending a discord message on push/merge on all branches.

Project made by Arthur D., Solène L., Corentin R., Geoffrey L. and Guillaume V.