Plasma Fusion

Plasma Fusion is an arena party game prototype where two friends go head-to-head to see who will come out on top. 

The game progresses by giving players elemental abilities that fuse with their character. Each element grants different stat increases that can be stacked. For instance, Lightning abilities grant the player movement and projectile speed buffs.

Whenever a player loses a round, they gain a new ability.

Everyone loves a good underdog story!

Development Tasks

  • Ability System Architecture
  • Elemental Stats / Interactions Architecture
  • Local Multiplayer Input System Programming
  • Ability Programming
  • QA Testing

Elemental Abilities

Example of each player choosing their first ability.
Ice spell that launches an icicle in the opposite direction the player dashes.

Each spell projectile / object is easily expandable, yet store consistent information such as its icon, element type, etc. All stored in its respective Scriptable Object.

This spell spawns a pool which detects when the opposing player steps within its radius, then subsequently shoots out ice shards in all directions before disappearing.

Ice spell which spawns a large ice object on a set interval. 
Object pooling example based on previous spell shown.

A pool of objects that are instantiated early, and recycled throughout the game in order to save on performance resources. Events can be used to modify spawned objects, or trigger another script when they occur.

Utilizes an Object Pool to aid in performance, while also tracking each spawned object for reference later. 

A spawner that creates objects up to the set amount, at a set interval between each spawn.
Example of gameplay with the aforementioned spell.

Elemental Stats

Each element is in an easily referenced position on a Scriptable Object. A player’s elemental stats are updated whenever they choose a new ability, gaining a percentage in that stat based on its element.

Elemental Stats Scriptable Object that is assigned to players.
An example of an element’s Scriptable Object.

Within each element’s own Scriptable Object, stores which Elemental Stat the associated element affects. Each element can scale any number of stats, and is easily customizable.

Each Elemental Stat has a variable scaling value which acts as the modifier for when a player gains an increase in that stat.

Scaling stat values associated with the Lightning Element.