Skip to content

ManuelR-T/R-Type

Repository files navigation

R-Type Multiplayer Game Engine (ECS-based)

Linux/Windows Documentation MIT License

Game Image

Table of Contents

Project Purpose

This project is a game engine built using an Entity-Component-System (ECS) architecture, offering scalability and flexibility for managing game objects and systems. Included around this engine is an existing implementation of the classic R-Type arcade game with a focus on multiplayer gameplay.

Epitech Warning

This is a warning to all epitech students: We recall you that being a copycat at EPITECH will not bring you any good. Copying is totally banned at EPITECH and by not respecting this rule you can be scolded.

Requirements / Supported Platforms

Requirements

There are no dependencies required for users as all necessary components are included in the release.

Supported Platforms

  • Linux
  • Windows

Usage Instructions

To use the game engine and play the R-Type implementation, follow these steps:

Download the Latest Release

Visit the Releases page of this repository. Download the appropriate zip file for your operating system (e.g., Rtype-{version}-Windows.zip or Rtype-{version}-Linux.tar.gz where {version} represents the version of the game e.g., 0.2.0).

Unzip the Downloaded File

  • Windows: Right-click the downloaded .zip file and select Extract All...

  • Linux:

    unzip Rtype-linux.zip -d R-Type_Server

Note: If you are a developer, you may want to build the project yourself, you find the tutorial on the developer documentation.

Run the Binaries

  • Client:

    ./r-type_client -i <server_ip> -p <server_port> -pn <player_name>
    • Example:

      ./r-type_client -i 127.0.0.1 -p 8080 -pn Player1
    • All arguments accepted:

      Available arguments:
      -i, --ip (string) [required] : Server IP address
      -p, --port (int) [required] : Server port
      -pn, --player_name (string) [required] : Player name
      -h, --help (bool) [optional] : Print this help message
  • Server:

    ./build/r-type_server -p <server_port>
  • Server in debug mode:

    ./build/r-type_server -p <server_port> -d
  • All arguments accepted:

    Available arguments:
    -p, --port (int) [required] : Server port.
    -d, --debug (bool) [optional] : Enable debug mode.
    -h, --help (bool) [optional] : Print this help message

Commands

Use the arrow keys to move

and the space bar to shoot beams

Troubleshooting

On some version of windows you might want to install yourself openAl from their website

License

This project is licensed under the MIT License.

Authors / Contacts

Useful Links / Quick-Start Information

Entity-Component-System (ECS) explanation: https://en.wikipedia.org/wiki/Entity_component_system

Contributing

Check out the CONTRIBUTE.md file it has everything you want to contribute to this project.