SpaceInvaders banner


Period: September 2017
Platform: Xcode
Languages: C++
Graphics and Audio: OpenGL and irrKlang
Gameplay: Link
I tried to recreate the classic 2D arcade game: Space Invaders. Previously, I had worked on a couple of other projects related to Space Invaders, which included an FPGA version, as well as a knockoff Space Invaders game called Space Inflators. For this project, I worked with the OpenGL graphics library, as well as the irrKlang audio library to try to create a clone of the original game. The game consists of a player spaceship, as well as five rows of eleven invaders (of varying sizes and images), and one flying saucer (or UFO). As in the original game, the objective is for the player to destroy all 55 of the invaders (with a laser) before the invaders cross the invasion line. The invaders shoot lasers as well (as they move down the screen towards the player) in a random fashion. Occassionally, the flying saucer flies across the top of the screen, and each successful attempt by the player to destroy the flying saucer, results in extra points for the player score. The player has three lives, and after destroying 55 aliens, a new round of invaders takes the screen to try to invader planet Earth. As the player advances through the rounds, the invaders start lower and lower on the screen, with each ten rounds, the invaders reset to their original height.

I implemented Space Invaders in C++, and utilizing the OpenGL and irrKlang libraries. I designed the game utilizing a class-based approach for each of the in-game objects, with varying levels of inheritance and class derivation. Currently, I have yet to implement the barriers within the game, but otherwise, the game is relatively complete (in comparision to the original).

GitHub Source Code