This week was all about GAS (Not the passed kind). GAS, otherwise known as Gameplay Abilities System, is a feature in unreal that allows us as a team to rapidly make abilities with tons of different effects for our game. These can range anywhere from a simple speed boost to a multi shot explosive that sets everything on fire. It's an extremely useful tool, but the huge downside is that it is not documented online well.
To go into detail on what exactly I do when using GAS I’ll run through how one of our basic abilities is set up.
First we need to decide which of the ability slots that it will go in. For this blog post I’ll show off a primary ability (Right Trigger). From there we then need to make the ability and give it the correct tags. Tags allow for the ability to have cooldowns and other effects, they also keep the ability from firing off multiple times on one button press. The “Target Blocked Tags” keeps this ability from firing off while the secondary is firing.
Now we need to make the cooldown. This is called an Effect. These allow me to change a property of an ability, this can be anything from Movement Speed, Attack Speed, Attack Distance, and more. For cooldowns we will need to change the duration to .250 (Or 1/4th a second).
Next we need to give it tags so it works with the ability. Once that is all rigged up, this ability will now be able to fire 4 times every second after we attach the cooldown to the ability.
Now we make the physical look of this ability. This one is a yellow sphere with some flames particles coming out of it. The particles are done in Cascade which I may do a post on later as I got to play with it a good amount while at IronBelly Studios and grew to really love it. Regardless of that though, we can do a few things on the sidebar like change the damage and lifespan!
Next we need to hook up the physical part of the ability. It goes into the “Spawn” area of the ability graph.
Now that all of that is done we just need to compile all of the code, save and hook it up on the Character!
Since we finally have everything hooked up, here is the primary in action! It does 1 damage, and shoots 4 times per second!
And here is the secondary I made to show contrast between abilities in action! It does 2 damage and shoots 2 times per second!