Created for GMTK GameJam 2020 with the theme "Out Of Control", Ability Surge is a game where you play a corrupted robot that has to survive the onslaught of forces trying to shut you down. Abilities will rotate quickly and you must learn how to utilize them to your advantage to win. The game is still a work in progress, but you can take a look at some of the assets below as well as the progress made so far. We (@EShoukry and @Andy1801) do not have much experience with art, so much of the animations, effects, and level design are not complete yet since we are learning as we create them.
public interface IAbilities
{
// Condition for performing the action
bool actionCondition(GameObject player);
// Action being performed
void action(GameObject player);
//Clean up for the action performed
void actionCleanUp(GameObject player, bool strictCleanup);
}
The action condition has specific checks for each ability that, while the checks are true, will enable the actual action to be taken. For instance, for Double Jump, we have a check for the player pressing down the jump button 'W' as well as a check on a boolean value if they can jump at that moment. If so, we set jumping to true, and return jumping. Since jumping is true, the action() method executes it's code, and we are in a "jumping state."
if (Input.GetKeyDown(KeyCode.W) && !grounded.getIsGrounded() && canJump)
{
jumping = true;
canJump = false;
return jumping;
}
else if (grounded.getIsGrounded())
{
canJump = true;
}
return jumping;
This is used for all the abilities in order to be able to switch our states at will depending on the criteria the player has to meet.
- Glide
- Tiny
- Dash
- Double Jump