Tuesday, January 29, 2013

Ability Design: EarthTrap Shuriken

Over the break, I was successfully able to design most of the abilities I set out to do.  However, I did decide to scrap Shadowstitch for now as our direction in combat my not be suited for this particular ability. Additionally, I altered some of the mechanics for some abilities as well, and even designed a new one to take  the place of Shadowstitch.  For this blog post, I'll elaborate on the EarthTrap Shuriken Ability


EarthTrap Shuriken

This one works pretty much exactly as I designed it (which is great because I designed it to be awesome).   The player performs a backflip, and throws shuriken into the ground in mid-air.  The shuriken then slows down all enemies nearby for a set amount of time (currently 10 seconds). Designing this was both fun and challenging.  

First, I had to analyze our physics system to find out how to make the player move backwards  and upwards.  Fortunately, I was able to successfully apply the impulse.  

Second, I had to design the shuriken to be thrown in mid-flight. This involved creating a timer that kept track  of the interval when shuriken needed to be thrown, applying an impulse to make it move diagonally downward, and creating hit detection for the cases if it hit the ground or an enemy.

Finally, I had to create a component that slowed down all nearby enemies. It had to activate after it collided  with the ground or an enemy.  After that, I had to create a new component that allowed characters to be slowed (which I called the AlterSpeed component).  I made AlterSpeed to be dynamic; it could take in a  percentage of speed (which could be faster or slower than the current speed), and allowed a set time to be  inputted before a character's speed returned to normal.  For the EarthTrap Shuriken, it calls each affected  enemy's AlterSpeed component and sets it to 50% speed for 1 second.  The reason for 1 second is that the  shuriken pulses every second for 10 seconds.  This allows new enemies that enter the field to be slowed, and  enemies that exit the field to return to normal speed.

I am quite happy with this ability at the moment, and am looking forward to seeing it action in a proper level.  On another note, I would like to shoot a small demo video of each ability, but I'm limited at the moment due to our level not being stable.  Additionally, I can only make videos with the windows version which doesn't  have the avatars.  However, I'd still like to show it once we have the proper assets in place.