Work Details

Space Invader

Space Invaders is a classic video game, released in 1978 by Taito. In this arcade game, the player controls a spaceship and must destroy a horde of moving alien invaders while avoiding their shots. It is a cornerstone of video game history.

Skills required :

This final project in object-oriented programming (C++) required us to create an arcade game called "Space Invaders II. " In this game, we are faced with an alien invasion, and as players, it is our mission to save the Earth. The game begins with an introduction that tells the story, followed by a menu that allows us to start the game, change the difficulty level, check the controls, and exit the game if needed.

During the game, aliens appear randomly on the screen. We control a spaceship at the bottom of the screen and can shoot lasers to destroy them. There are two difficulty levels, each affecting the speed at which aliens appear and their aggressive behavior. By destroying aliens, we earn points, and each type of alien has a different point value.

Our goal is to destroy all the aliens before there are 15 of them on the screen; otherwise, we lose the game and forfeit half of our accumulated points. However, if we manage to eliminate all the aliens, we win the game, and our points are doubled.

In addition to the basic requirements, we added several additional features of our choice to enhance the game. We decided to implement upward and downward movements for our spaceship, added sound effects and music, a timer, and an ammunition reserve.

In the end, we submitted our project to a Bitbucket repository and presented our work to the class. It was an exciting challenge and a valuable learning experience. We worked as a team, made frequent commits with relevant messages, and produced a sufficient amount of source code to achieve our goals.

I contributed to creating the necessary functions to display the game's introduction, explaining the game's story.

I also created the functions to display the game's menu. This involves designing the user interface for the main menu, including options to start the game, change the difficulty level, view controls, and exit the game.

I implemented the logic to randomly spawn extraterrestrials on the screen. This includes managing coordinates and the types of extraterrestrials to generate.

I implemented the mechanics allowing the player-controlled spaceship to move up and down the screen.

I participated in setting up the feature that allows the spaceship to shoot lasers to destroy extraterrestrials. This includes managing collisions between lasers and extraterrestrials.

I was involved in adding a timer to the game to track the duration of each playthrough. This requires time management and updating the display.

I played a key role in helping distribute tasks within the team of three partners. This contributed to a balanced allocation of responsibilities and resolving any roadblocks encountered during the project.

I was a team member who played a significant support role in helping to resolve various issues and challenges throughout the project. My expertise and guidance were valuable to the team.