
Background
This game began as my first experiment with Unity and over time grew to become the 2D fighter that it is now. There are multiple different game modes including free battle, with player vs player or player vs computer, practice mode, where the player is able to test out moves against an AI opponent who only recovers from damage, and alien hunt, in which the player is free to traverse a procedurally generated stage in search of aliens. Limitless Galaxy is the 2D prototype for a my game Supreme Combat, which is still in production.
Character Intro Animations

Blaze is a character that commands fire. His abilities are centered around flames which enables him to do things such as fly and throw fireballs. He is a powerful character, and his strength is his greatest attribute. He is at a disadvantage when it comes to pure speed, but his high attack power makes up for what he lacks.

Impulse is a character who controls the forces of attraction and repulsion. This ability makes him a very dynamic character who is well balanced while having an explosive arsenal of attacks. Some of his abilities include propelling himself to run at extremely high speeds, and attracting opponents towards him with an overwhelming gravitational force.

Flicker is a character with the ability to teleport anywhere of his choosing. His fighting style is based on speed, so he is very quick and elusive. The trade off of his high speed is significantly weaker attacks, but the rate at which he is able to land attacks compensates for this limitation. His teleportation allows him to quickly close the distance between him and his enemies and surprise them with a flurry of attacks coming from all directions.
Fighting Stages
Perilous Peak
Perilous Peak is a stage with many different areas for players to fight. All of the obstacles around the stage give players the opportunity to use the environment to their advantage. And for more adventurous players, there is a small island in the bottom left corner of the map that will provide a challenging place to fight.

Sky Islands
Sky Islands is a wide and open map giving players plenty of breathing room during their matches. The stage consists of three large islands and then several smaller floating islands circling the bottom of the stage. There is plenty of room to run around, so this could be an advantageous map for players who rely on their speed.

Forbidden Forest
The Forbidden Forest is a plain, no-nonsense map. There are no obstacles to get in your way and there is nowhere to run. It’s the perfect place for a straight up, fair and square fight. You can apply pressure and push your opponent off the map, or you can simply attack until their health runs out, but you have to be careful not to get caught off guard too close to the edge.

Programming
This game is an iteration of my very first prototype, so the structure of the code came about from me testing different ways to simplify the programming of each character. The way that this game is set up is each playable character shares a few scripts, such as the movement or damage script, and each of those shared scripts supply the character with functions that enable it to do certain things, such as move or take damage.

The character script simply contains all of the variables that are necessary for each character, but the player script is the most important one. It initializes the character’s health and stamina bars, tracks each animation to prevent them from being cut off before a move is finished, and determines what the character is able to do at any given moment. An alternative approach to this would have been to create a state machine where each state handles its own animation and transitions, but I programmed it this way to try and keep it simple and handle all of the state management locally.


Managing all the states in one script proved to become more complicated than it was worth as more states were added, so in subsequent prototypes, I tracked the states using enums.
Along with the universal scripts, each character also has their own specific scripts giving them their unique abilities.


