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
SFMLgraphical library to display game elements - Compiled with
CMake, minimum version required :3.17 Google Testfor unit testsDoxygenfor documentation- A
justfileis provided to compile, run and test the project
- Project made in
-
Some of the features we implemented:
- A
multithreadedserver, 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 Systemarchitecture and game engine - A encapsulated implementation of an
UDP socket, compatible with Linux and Windows - A client-server communication protocol
- A
For further details about the implementation of these notions, you can click here to be redirected to our documentation.
- For Linux users, check out our Usage for Linux users guide.
- For Windows users, check out our Usage for Windows users guide.
- ECS architecture graph : documentation
- Client protocol graph : documentation
- Server protocol graph : documentation
Our complete documentation can be found here.
- Want to contribute to the project ? Check out our Contributor's guide !
- Want to create your own custom levels ? Check out our Level's guide !
- Automatic build on
mainanddevelopbranches. - Running Google Test unit tests on
mainanddevelopbranches. - Generating coverage on
mainanddevelopbranches. - Automatic generation of Doxygen documentation on
mainanddevelopbranches 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.