Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mylo54/rtype

This project aims to create an online multiplayer R-Type game. We had to implement a multi-threaded server using Asio and a graphical client in SFML.
https://github.com/mylo54/rtype

cmake conan cpp linux macos rtype-game sfml windows

Last synced: about 1 month ago
JSON representation

This project aims to create an online multiplayer R-Type game. We had to implement a multi-threaded server using Asio and a graphical client in SFML.

Awesome Lists containing this project

README

        

# R-TYPE










[![Linux compile](https://github.com/Mylo54/Rtype/actions/workflows/test_linux_compile.yml/badge.svg?branch=master)](https://github.com/Mylo54/Rtype/actions/workflows/test_linux_compile.yml)
[![Windows compile](https://github.com/Mylo54/Rtype/actions/workflows/test_windows_compile.yml/badge.svg?branch=master)](https://github.com/Mylo54/Rtype/actions/workflows/test_windows_compile.yml)
[![MacOS compile](https://github.com/Mylo54/Rtype/actions/workflows/test_macos_compile.yml/badge.svg?branch=master)](https://github.com/Mylo54/Rtype/actions/workflows/test_macos_compile.yml)
[![Mirroring](https://github.com/Mylo54/Rtype/actions/workflows/push_on_teck.yml/badge.svg?branch=master)](https://github.com/Mylo54/Rtype/actions/workflows/push_on_teck.yml)

A 3rd year Epitech Project.

This project aims to create an online multiplayer R-Type game. We had to implement a multi-threaded server using Asio and a graphical client in SFML.

For the one unfamliar with the R-TYPE genre, [here is a bit about it](http://www.hardcoregaming101.net/r-type/).

## Installation :

1. Install Conan

2. Compile on your os:

**Linux && MacOS :**

``` bash
$ ./comp_linux.sh
```

**Windows:**

``` bash
$ ./comp_windows.sh
```

### Binary Packaging

After having compiled on your OS, you can generate the binary package by executing :

``` bash
$ cmake --build build --target package
```
### INSTALLERS

After having compiled on your OS, you can generate the installer by executing :

1. Windows (.msi)

``` bash
$ ./windows_installer.sh
```

2. Linux (.deb)

``` bash
$ ./linux_installer.sh
```

## Execution :

### Client

``` bash
$ ./build/bin/Server-Rtype
```

### Server

``` bash
$ ./build/bin/Client-Rtype
```

or

``` bash
$ sudo docker build . -t test_v2_dock && sudo docker run --rm -it test_v2_dock
```

## Known issues :

### Alsa-lib

The audio libraries may have weird installs on some linux distros, if that's the case, then run these lines

``` bash
$ ln -s /usr/lib64/alsa-lib/ ~/.conan/data/libalsa/1.2.7.2/_/_/package/45572951e04977fe87dc4117ce69daf41aa9589c/lib/
$ ln -s /usr/lib64/pkgconfig/ ~/.conan/data/libalsa/1.2.7.2/_/_/package/45572951e04977fe87dc4117ce69daf41aa9589c/lib/
```

and then, every time you open a new terminal:

``` bash
$ export ALSA_CONFIG_DIR=/usr/share/alsa
```

OR, you can just run the `fix_audio.sh` script and add `-first` if its your first time executing it.

### Multiple clients on same system :

When running multiple clients at the same time, if you input something on one window and then unfocus it, it will keep repeating the input.

## Team :
The team is composed of :

* [email protected]

* [email protected]

* [email protected]

* [email protected]

* [email protected]