score; enemies; win conditions; Missile Direction

Implemented a lot with this push. Enemies were changed so that one enemy
object could change its sprite and depending on the sprite would have
different characteristics (speed, health etc). Score now counts up at
the end of each level. When you complete the win conditions for the
level the game is over and it goes to the score screen. Or if you lose
all your health the game is over and you cannot continue to the next
level. One final thing is I used the mouse and player's position to
calculate a unit vector then multiplied it by the speed of the missile
to go in that particular direction.
Fixed Unit Vectors on Mouse Position

I had previously just used the two vectors that were produced and found
unit vectors based on the two (x and y) adding up to 1. This logic,
while it worked, slowed the missile down when it wasn't going straight
in the x and y direction so I adjusted it to use the magnitude of the
original line to find the unit vectors.
Added Bats and Enemy Missiles

While moving along the wall you must now watch out for enemies shooting
their own projectiles which slowly destroy your health. Run out of
health and you lose! These new creatures are called bats, but again are
just a different color of square. The bosses also shoot missiles.
Saving System Implemented

Finally figured out how Game Maker's saving system works. It isn't too
difficult, just basic commands opening .ini files. Highscores and the
current game you are playing can now be saved locally to play at a later
date.
Missile Powers

Depending on the element you choose, the missile now has different
powers as follows:
Fire - Burn (does damage over time)
Water - Splash (creates short range missiles from the instance you just
hit)
Earth - Pierce (goes through enemies)
Air - Push (knocks back enemies)