Skip to content

YGNI-RType/Hagar-i-oop

Repository files navigation

R-Type

Project Purpose

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).

Dependencies

  • 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.

Supported Platforms

  • Linux
  • macOS
  • Windows

Build

To compile the project:

cd build
cmake ..
cmake --build .

This process uses vcpkg to install the required dependencies and CMake to handle the build.

Usage

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

GEngine integration

Hagar-i-oop leverages our internally developed GEngine, which provides the ECS architecture, along with various components and systems such as:

Components

•	Drawable
•	Circles
•	Texts
•	Transform and velocity
•	Music

Systems

•	Keyboard input handling
•	RenderWindow
•	Motion mechanics
•	Music

GEngine is automatically downloaded and compiled with the cmake .. command.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Authors

  • Antoine ESMAN
  • Basile FOUQUET

Useful Links

GEngine Github Repository

Agar.io Wikipedia

Agar.io in your browser

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors