Space shooter (itch) (Mathieu Schmerber)

Add to
My games
Add to
Wishlist
Save to
Collection
No reviews
Exceptional
Meh
Skip

About

Context

This project was made in the context of my 3rd year of college at Epitech (France). I teamed up with 3 other students for this project which was developed in 2 months. 

The requirements of this project was to build a networking game engine in C++ using a client/server architecture and make a R-Type replica using it.  This project also needed to be cross-OS accross windows and linux and built using the connan package manager.

On the technical aspect, we had to write in  C++ with the SFML graphic library. The only code libraries allowed were STD and BOOST.

In the end, we made a random shooter game with our engine, using the sprite sheets of the R-Type. This project was awarded as the best project of our promotion.

Engine

The engine is built using the ECS architecture pattern. The engine provides the core architecture and abstraction that the client and server can then work with. The server holds the main gameplay alongside a lobby system and the connection management. The client is only responsible for drawing whatever it receives from the server on the screen. The engine features:

  • Networking abstraction (UDP & TCP sockets)
  • Rendering:
    • Sprite & textures
    • Fonts
  • Audio management:
    • Musics
    • Sound effects
  • Scene management
  • General purpose systems:
    • Parent/Child restraints
    • Rendering
    • Input management
    • Parallax
    • 2D Physics
    • Text management
    • Dynamic window size
    • Animation
    • Button
Networking

The server is responsible for handling incoming connections. It features a multi threaded lobby or "game room" system and handles every game.

Our RFC protocol can be found on our Github repository (link below).

To ensure an enjoyable online experience, the game implements entity interpolation and projectile prediction.

Gameplay

In this game you can play alone or with up to 4 friends.

Each player controls a spacecracft that is capable of moving and shooting.  Your goal is to play through the whole stage until reaching the final boss.

Whenever an enemy gets killed, there's a random chance of it dropping an item. Items will essentially provide the player with automatic turrets that can be upgraded thanks to other bonus dropped by enemies.

Controls (Keyboard):

- [UP/DOWN/RIGHT/LEFT]: move

- [SPACE]: shoot (hold to charge a powerfull projectile)

Team
  • Mathieu Schmerber: Game engine, core gameplay, client-server game networking
  • Cyprien Ricque: Game engine, ai programing, dynamic library loader
  • Emillien Delevoye: Server, lobby management, core socketing
  • Paul Surrans: Client UI and scenes
Platforms
Genre
Release date
Developer
Mathieu Schmerber
Age rating
Not rated

System requirements for Linux

System requirements for PC

Read more...
Edit the game info
Last Modified: Jan 16, 2023

Where to buy

itch.io