Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Space Invaders

Projet réalisé dans le cadre de la Licence 3 Informatique à l'Université Bretagne Sud (UBS). Le sujet du projet est disponible dans le fichier TP_Qt2.pdf.

Project made as part of the third-year Computer Science degree at Université Bretagne Sud (UBS). The project subject is included in the file TP_Qt2.pdf (in French).

Author

Naexy


Introduction

This project is a small academic remake of the classic arcade game "Space Invaders", with some custom mechanics. Built using Qt 6.8.3 and C++, it introduces bonuses, multiple levels and dynamic music/sounds.

Gameplay

You control a spaceship trying to survive increasingly difficult waves of enemies. Your goal is to reach a score of 500 (level 10) by eliminating enemies, collecting bonuses, and avoiding incoming attacks.

  • Move: Arrow keys (Left, Right, Up, Down)
  • Shoot: Spacebar (holdable)
  • Menu Navigation: Mouse

Game Features

  • 10 progressive levels with increasing difficulty (faster enemies, more frequent spawns, etc.)
  • Dynamic music changes based on game state and progression
  • Two missile types: standard and piercing
  • Bonus pickups
  • Victory and defeat animations and messages
  • Score and survival tracking

Bonus System

Extra Life

Bonuses spawn randomly and give one of the following temporary or permanent effects:

  • Extra Life: Grants an additional life
  • Piercing Shot: Allows shooting through enemies
  • Fire Rate Boost: Reduces the cooldown between shots

Collected bonuses are unique per run, and temporary effects are removed after a few seconds. If a bonus reaches the bottom of the screen, it reappears at the top, giving the player another chance to collect it.

Enemies

There are multiple types of enemies:

  • Green
  • Red
  • Yellow

Enemies shoot back at increasing frequency and spawn rate as levels progress. If an enemy reaches the bottom of the screen, the player does not lose a life; instead, the enemy reappears at the top and resumes its descent.

Player

Ship

  • Starts with 5 lives
  • Can collect bonuses
  • Has animated victory and defeat sequences

Assets

Assets are resolved relatively from the root of the project. Do not run the game from the build/ folder or any other subdirectory, as it will not find the assets.

Launch the executable from the root directory to ensure all assets are correctly found.

Asset Structure:

./assets/images/      # Player, enemies, bonuses images
./assets/sounds/      # Sound effects
./assets/tracks/      # Background music

Images Credits:

Music Credits:

  • Undertale OST and sound effects
  • Monster Hunter OST remixes

Undertale OST

Monster Hunter OST remixes

Building & Running

Dependencies:

  • Qt 6.8.3
  • Qt Multimedia module must be installed

Build Instructions (QMake)

qmake
make          # or mingw32-make on Windows
./build/main  # Run from root folder, not from inside build/

Test Notes

The game has only been tested on Windows but should work on Linux/macOS with Qt properly set up.

Screenshots

Menu

Menu

Gameplay

Gameplay

Victory screen

Victory screen

Defeat screen

Defeat screen

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages