3D Space Raiders
CIS568: Game Design Practicum — Fall 2020
Unity, C#
Overview
I took a game design class under Professor Stephen Lane, and in this class, we learned about designing and developing 3D computer games. This course consisted of creating multiple games from scratch.
One of our first assignments was to emulate the Atari-age game Space Invaders, analyze its gameplay, and then develop game play mechanics to implement the game in Unity. After doing so, another challenge was to add physics to it to emulate the game “Physics Invaders” which is somewhat different from the original Space Invaders game.
Process
First, I analyzed the Space Invaders game and created a level connectivity graph to plot out how the game is structured.

EATS Poster
I also generated constraints and resources for the game. The player has several constraints to consider when playing the game.
The player has several constraints to consider when playing the game. They can only control the ship at the bottom of the screen and can only move horizontally. They cannot move off the screen to avoid attacks since the range of motion is limited. Another constraint is the number of lives; the player has three lives and can thus only get hit by three enemy bullets before dying. Additionally, the player is constrained by the amount of time given for each level. For example, the enemies are constantly traversing closer to the player, limiting the time the player has to kill them. Also, as more enemies are killed, the faster they get, also limiting the time the player has left to kill them. If the aliens get all the way to the bottom of the screen where the player is, or if the aliens manage to kill the player by taking all three lives, then the user is presented with a GAME OVER screen and can choose whether to play again.
The player has a few resources to help them play the game. As mentioned before, there are four defense bunkers which serve to protect the player from enemy hits, so the user can hide behind these (but keep in mind that this is also a constraint because the player can also damage their own bunkers). In addition, for every level that the player completes (i.e. every complete screen of aliens that the player kills) they gain another life for a maximum of three lives. More notably, the player also has the bullets that they can use from their spaceship to hit the other aliens, and their supply of bullets are endless.
When the user starts the game, they are presented with the first level. This level has the user’s spaceship at the bottom of the screen. The player can use the arrow keys (left and right) to move the spaceship horizontally. The player can use the spacebar to shoot bullets. There are also an array of aliens moving horizontally and then vertically downwards in incremental steps in order to reach the player’s spaceship. These aliens sometimes let loose bullets at random, which the player should avoid. There are also four bunkers protecting the user from the aliens. In addition, there is a bonus red spaceship that sometimes shows up at the top and supplies a random number of points if the user manages to hit it before it leaves the screen. Here are the conditions for the user losing:
-
Losing all of the user’s lives by way of getting hit three times by the enemy aliens’ bullets
-
The aliens are able to reach the user at the bottom of the screen
These conditions result in the Game Over screen in which the user’s score goes back to zero and they can choose to start a new game and try again. However, if the user is able to defeat all the aliens, they move on to the next level. In this next level, they gain a life (maximum of three lives at any given time) and the aliens are reset along with the protective bunkers. Points are awarded based on what type of alien you are killing. If we have three types of aliens and the red spaceship, the points system can look like this:
-
Alien Type I: 10 points per kill
-
Alien Type II: 20 points per kill
-
Alien Type III: 30 points per kill
-
Special Red Alien Ship: 100 points per kill
As my own additions to this implementation of Space Invaders, I created a new resource which is a lightning bolt power up which lets the user increase in speed for a limited amount of time. This power up only occurs once per level. To incorporate physics, when aliens are shot with bullets, instead of just destroying the alien, they instead fall to the platform where the user can “scrub” them off the ground. The bullets also fall to the ground as well. Instead of simply killing all the aliens to advance to the next level, the user has to scrub every alien and bullet off of the floor platform to win. I also created 3D assets in Maya for each type of alien and the powerup, and a particle based explosion for the player death.
Final Results
Here is a demo video of the final results, showcasing a 3D version of Space Invaders which also has elements of physics and my own personal touches.