Planet

This was a solo project I made in Monogame for an arcade machine competition at Malmö University. I coded everything myself and used free assets for the art and sounds.

Rewinder

I always thought time control powers were cool and this was my first attempt at developing that mechanic. The shadow that retraces your other timeline involved storing all the input the player made, and then replaying it back. This required me to completely separate input and ship, which also gave birth to a new idea, the Possessor. Initially, I was planning on having everything rewind, although I quickly realized that wasn't feasible in terms of memory and computation. I was able to revisit this mechanic at a later point, however.

Possessor

This ship has the ability to take control of an enemy ship. Separating the input logic into a separate controller class allowed me to hook that up with an enemy ship instead, since they inherit from the same class. I had quite fun designing the weapons for the possessed enemy ships.

AI

The AI in this game is rather straight forward. They made use of steering behaviours and fired at intervals. The enemy could either Wander, Chase, or just be stationary. The boss has it's own scripted behaviour and switches between various phases.

Weapons

This was probably the most fun part of the project. I wanted to create all kinds of patterns and weapons, with different spreads, shots and fire rate. Most of them are based on the same list of variables that determine how a weapon fires. There's a separate class for hitscan weapons that inherits from the weapon class, but changes the spawned projectiles. I added a CompoundWeapon, which is a composite of weapons so I could have multiple types of patterns in the same weapon. This was mainly used for the boss.