Skip to content

colinack/RType

Repository files navigation

R-Type

The goal of this project is to implement a multi-threaded server and a graphical client for a well-known legacy video game called R-Type, using a game engine of our own design.


For online documentation

cd RTYPE/
mkdocs serve

Project architecture

R-Type
│
├── src
│   ├── assets/     # Game assets (sprites, fonts, etc.)
│   ├── client/ 
│   │   ├───menu/
│   │   │   ├───Menu.hpp
│   │   │   └───Menu.cpp
│   │   ├───lobby/
│   │   │   ├───Lobby.hpp
│   │   │   └───Lobby.cpp
│   │   ├───Client.hpp
│   │   ├───Client.cpp
│   │   ├───CMakeLists.txt
│   │   ├───main.cpp
│   │   └───CMakeLists.txt
│   ├── game_engine
│   │   ├── include
│   │   ├── src
│   │   └── CMakeLists.txt
│   ├── Network/
│   │   ├── Binary/     # Classes for encode/decode data
│   │   ├── Core/       # Abstract interfaces & base classes
│   │   ├── Manager/    # Protocol manager for server & clients
│   │   ├── TCP/        # TCP protocol implementation (client/server/connection)
│   │   ├── UDP/        # UDP protocol implementation (client/server)
│   │   ├── Network.cpp
│   │   └── Network.hpp # API used by the game server & game client
│   └── server
│       ├── include
│       ├── src
│       └── CMakeLists.txt
│
├── conanfile.txt
├── CMakeLists.txt
├── CMakeUserPresets.json
├── unix_build.sh
├── windows_build.bat
│
├── DEPENDENCIES_LINUX.md
├── Network.md
└── README.md

Installation

Clone the repository

git clone https://github.com/EpitechPGE3-2025/G-CPP-500-MAR-5-2-rtype-4.git
cd G-CPP-500-MAR-5-2-rtype-4

Install dependencies (UNIX only)

Look the doc here then come back to follow the next step.

Build

Windows

./windows_build.bat

UNIX (Linux / MacOS)

./unix_build.sh

Usage

Run the server

./build/bin/r-type_server

Run the client

./build/bin/r-type_client

Credits

Developement team


Licence

© Development team — All rights reserved.


For more details on the project's progress, see the main branch of the repository
https://github.com/EpitechPGE3-2025/G-CPP-500-MAR-5-2-rtype-4/tree/main

About

A multiplayer remake of the classic R-Type built in C++ using an Entity Component System (ECS) architecture. The project implements a client-server model with TCP and UDP networking.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages