This project involves building a game engine.
To show the use of it we have reproduced three game:
- Solo R-Type
- Networked R-Type
- Physical demo (a little reproduction of Flappy bird)
The project is divided into four main parts:
- Runtime
- Editor
- Client
- Server
Runtime: It is this part which contains the game engine and the network lib.
Editor: With this project, create your own games easily thanks to an easy and easy-to-use graphical interface! How to use editor
Client: If you're creating a network game, use our client so you can connect directly to your server! How to use client
Server: Every network game must have a server managing the players ! How to use server
You can find all informations about this project on our wiki.
You can download the latest installer, for windows or linux here.
This installer contains Server, Client, Editor & Runtime (obviously) !
Firstly you need to install vcpkg and set the VCPKG_ROOT environnement variable to the directory where you installed vcpkg. The steps depends on your operating system.
Then you can do as follow:
mkdir build
cmake --preset=default -S . -B ./build/
cmake --build ./build/
cd build
# to launch the client
./rtype_client # with a .exe at the end on Windows
# to launch the editor
./rtype_editor # with a .exe at the end on Windows
# to launch the server
./rtype_server # with a .exe at the end on Windows
If vcpkg is not found, you might need to add the path to vcpkg to the PATH environnement
If you want to build release:
mkdir build
cmake -S . -B build --preset=release
cd build
cmake --build . --config Release
What is difference between default and release ?
The default preset builds the project in debug mode, allowing easier debugging. However, this mode can cause slowdowns in the runtime.
For a release version, use the release preset!
To play to our game, you need to put content of the r-type-game folder on the same folder of server/client you want to launch.
Then, you just have to launch the server/client to be able to play!
How to use client ?
How to use server ?
Sinan KARAKAYA: Runtime/Editor - [email protected]
Lucas DUPONT: Runtime/Network - [email protected]
Jovan HILLION: Runtime/Scripting/RType Game - [email protected]
Jason LAGOUTE: Network/Server - [email protected]
Mathis LE BONNIEC: Client/Editor - [email protected]