Asteroids
Asteroids is a platform game where the player has the objective of moving their star across the screen, through ten levels without losing all of their lives
Outline Of The Game
Get your star to the other side of the screen without hitting the asteroid and losing all three of your lives

-
Asteroids;
-
Randomly placed asteroids
-
-
Asteroid Levels:
-
Level 1: still “asteroid” circles, not as many, made for player to understand the game
-
Level 2: Asteroid circles get bigger, more of them. One power-up available
-
Level 3: Less asteroid circles than level 2, animation of changing diameter (get bigger and smaller while playing)
-
Level 4: Asteroids move slowly around the screen.
-
Level 5: Asteroids move faster across the screen.
-
-
Power Ups: regain a life if you are able to hit one. Looks like helium atoms.
-
If you hit the power up it works just like hitting the asteroid, but the star will not die, rather it will re-gain a life.
-
Our Pseudo Code:
Global Variables:
-
Class for star character and asteroids
-
Make variable for the score
Setup()
-
Load assets
Draw()
INTRO
-
Draw welcome message
-
Wait for player to click start
-
Change state to RUN_GAME
RUN_GAME
-
Draw & animate the star
-
Draw & increase the score counter
-
Draw & animate asteroids depending on level
-
Iterate over the array to draw & animate every asteroid
-
While doing so, also check for collision with the Player object.
-
If a asteroid overlaps with the player, change the state to GAME_OVER
GAME_OVER
-
Display game over message
-
Display the score
-
Wait for the player to click, when they do, change the state to RUN_GAME and reset
We initially outlined what our code will look like to complete our game. This gives us something to reference when starting to set up our code and to make sure we are creating all of the assets that we will need.
Stylizing
Color Scheme:
Text Elements:

Sketches:





Reflection:
My team went about creating the code by separating the game into sections. We would individually work on our parts of the code and plan meetings to assemble it together. This technique was good for group projects especially since we couldn’t work on the same code at the same time. We did run into some issues with functions and variable when bringing the parts together, however this got easier as we further developed the code. If I could change anything about the game now I would like to add a leader board. Since there is no definitive end to the game, this would allow players to come back and compete for a spot on the leader board.