Starfighter 4K Github Poster

Shoot'em up game using the movement recognitions with Kinect and Wiimotes for the inclination and the shoot of the spaceships.
C++, Qt, OpenCV, Kinect SDK, Wiimotes API

This project has been split in 2 parts : for the first one, we realised a whole shoot’em-up game. In the second part, we integrated the movement recognitions using Kinect and used Wiimotes for the inclination and the shoot. The game takes place in the space where the purpose is to destroy the other spaceship. The players evolve in a dynamic environment in which some obstacles can appear. We can find supernovas, asteroids, mother spaceship and some squads. Some satellites can come out and give a bonus for the player who destroys it. Those bonuses could be a life/shield regeneration, new kind of projectiles or an increased speed. At the beginning, the player can choose their spaceship. Each of them has some specific characteristic. Afterwards, they can select a superpower that they can trigger whenever they want if it is reloaded.

The Project

New way to play

Using the keyboard in order to move the spaceship and trigger some actions is the basic gameplay in a game. We wanted to do something different ! We have projected the game on a wall with a beamer and have used hand recognition with Kinect for the spaceship position but also a Wiimote to handle the orientation of the spaceship and to trigger actions such as activate a bonus, shoot etc.

Dynamic environment

Players evolve in a dynamic environment, where they could encounter obstacles like asteroids, satellites which contains bonus or also some enemy spaceships. All those elements force the players to move and to be reactive in order to avoid being destructed by those while the adversary is shooting at you. The bonuses can help the player, for example the player can have a new type of projectile, or could have a shield or can interact with the environment such as reversing the gravity etc.

Advanced specification and design

Take time to design the application and explain the technical specification is very important in a project. It might take some time and can be frustrating to do this step but this is a gain in time and problem during the development ! In this project, the entire process took about 50% of total project time but we didn't get any problem during the development !


Type Course project
Degree B.Sc. HE-Arc HE-Arc, 3rd year
Course Summer project
Duration ~100 hours
Supervisor Prof. Aïcha Rizzotti, Prof. Olivier Hüsser
Co-developers Alexandre Perez, Sébastien Vauchez