Space Invaders Game
Context
During the Quality Development course we were taught how to program more efficiently. One of the topics was design patterns, and what would be a better way to implement them than a video game? We did not start the project from scratch. Instead, we were provided with most of the graphic user interface as well as a few classes and the controller. Next, we had to implement functionalities. Some were in the original game while others were created as a result of our own imagination. Additionally, we were tasked with learning the design patterns along the way and implementing them effectively.
Features
There are many features in our game. The aliens first move from left to right, and will change directions at different times. They have the ability to shoot when the setting is enabled, and are also able to change their attack strategy from time to time. Some aliens will also have multiple lives to enhance their ability to survive hits. The player has a 1/5 chance to release a stronger bullet when shooting, which causes more damage to the aliens. Whenever the player hits a shot, they will be invincible for a certain amount of time. The player can also place walls using the up arrow key as well as throwing bombs using the bottom arrow. These bombs need to be hit by a bullet in order to detonate. Finally, some bonuses will randomly drop throughout the game, giving the player extra health.
Final Product
Our game is composed of four levels ranked from easiest to hardest. The functionalities listed above are all available in at least one level. The first one is extremely easy whereas the last one is almost impossible. On a personal note, I loved to work on this project, and I'm very proud of the final result. I learnt a lot while working towards this project and will definitely be reusing this knowledge often.