This project is an educational reproduction of the classic R-Type game. It serves as our first "product" project, where we must consider product constraints and maintain a clean architecture, particularly through the use of an Entity Component System (ECS).
- raylib: Graphics library
- GEngine: Internal engine providing ECS with pre-built components and systems and a networking layer
- stduuid: C++ UUID library
- vcpkg: Package manager to install the dependencies
All dependencies are installed via vcpkg
, which is automatically downloaded if not present on the system.
- Linux
- macOS
- Windows
To compile the project:
cd build
cmake ..
cmake --build .
This process uses vcpkg to install the required dependencies and CMake to handle the build.
Once compiled, the game requires both a server and a client to run. To start the server, and then the client, use the following commands in the build folder:
./hiop_server
In an other terminal:
./hiop_client
Hagar-i-oop leverages our internally developed GEngine, which provides the ECS architecture, along with various components and systems such as:
• Drawable
• Circles
• Texts
• Transform and velocity
• Music
• Keyboard input handling
• RenderWindow
• Motion mechanics
• Music
GEngine is automatically downloaded and compiled with the cmake .. command.
This project is licensed under the MIT License. See the LICENSE file for details.
- Antoine ESMAN
- Basile FOUQUET