Ability and Skill Tree System Series

Part 14

Continuing the work of the last episode, we start to refine our enemy ai by making it able to detect the player, chase him and attack him with various claw strikes. Further we make it so that our enemy resets when it has moved too far away from its starting location.

Part 15

In todays episode, I show you how to set up a damage system using interfaces and function libraries so that both our enemy and player class have access to it. The system includes damage calculation, critical strikes, effectiveness based on the element of the attack and the defender and some random variation to make the damage numbers a little bit more interesting. Further, we extend the functionality of our master enemy class so that it is actually able to hit the player with attacks and apply damage to him.

Part 16

In this video, we deal with completing our damage system: To do that, we enable our enemy to receive damage, die and respawn after a couple of seconds. Further, we reward the player for killing enemies by granting him some experience points and fix a bug related to the last episode.

Part 17

Before we can start adding more and more spells, we need a system to select a single enemy that will be our target. A system to do exactly this is implemented in this episode and we also make it so that selected enemies are outlined and have their own border in the main widget displaying the level, name and the exact amount of health points of the enemy.

These videos are great man, you do go fast (probably from the editing) at times, but, its a video, so, we can go back and hit pause lol.
Love these, keep up the great work!

Thank you! Yeah i personally hate it when there are pauses in my videos so i usually cut out all of them :wink:

Part 18

With the help of the selection system we set up in the last episode, we are now able to create a generic parent class for all magic missile spells. To do that, we take a look at how homing projectiles work and create an arcane ball example spell. Further, I show you how to modify the particle systems of the starter content to fit your needs.

Now we’re getting to the nitty-gritty of the system. :slight_smile: Looking great so far. Thanks a lot.

Part 19

I am back from my vacations and ready to continue working on our ability system. Today we upgrade our project to the latest version of Unreal Engine (4.16.2), fix a couple of bugs related to the behaviour of our magic missile spells and make it so that you can cancel the casting command by moving somewhere else.

Hopefully you had a good vacation. Glad you are back to keep on going in the series!

Part 20

In this episode, we create the logic for buff spells, which are very popular in many game genres. This contains implementing ways of activating, deactivating and resetting buffs as well as keeping track of which buffs are currently applied to the the character. Further, we script it so that there is a widget for every current buff displaying the duration left on it.

Amazing !

I cant believe i missed this post up till now !
I skimmed through inventory tuts , and that is a professional quality inventory ! i cant say how much i’m amazed !

But the real problem is , this post is very easy to miss O.O , i was searching for something totally different when i stumbled upon this .

Anyway , you have my gratitude .

Thank you, you probably wont find the inventory post anymore since the series was completed like half a year ago or so

Part 21

After 20 episodes, we are finally able to start working on the actual skill tree itself. Today we do some preparation work, which includes importing lots of textures, setting up a level system, creating various structures to use in the next videos and already implementing the skill tree component with some of its variables and functions.

Part 22

With our preparation work done, we are now able to create our skill tree widget and all of its sub widgets in this episode. In addition to that, we already add the variables for our newly created widgets so that in the next video we can focus entirely on implementing the logic driving our skill tree.

Part 23

Today and in the next video, we are going to script all of the functionality for our skill tree so that by the end of those 2 episodes we will be able to purchase, upgrade and downgrade spells as well as dragging around our skill tree and dropping skills onto our hotkeys to be able to use them. In this episode specifically we add update functions for our skill tree entry widget, the connection widget and the category widget. Further we implement a couple of helper functions and events for our master skill and skill tree component.

Really good stuff. Thanks for helping to push us all along.

Part 24

In this episode, we are able to complete the functionality of our skill tree. By the end of this episode, your project will contain a completely functional skill tree with the abilitty to buy skills, drag them onto your hotkeys, upgrade them and downgrade them. I also show you how you can set it up so that you only learn certain abilities once you have reached a certain level or learned another predefined ability.

how can you call this advanced at all ? no over time effects, no effects at all actually. you put everything in to the character class making it impossible to work with future updates. what if you had ~ 30 stats and they all had regens ? are you going to put them all to the character ? if not, why are you doing everything wrong and making people learn it the wrong way ? besides you clutter forums search results with your noob tutorials…

unreal is just becoming unity… even the tutorials are noobs oriented…

Part 25

Before we start to work on our summoning spell by adding a widget for our companions, we implement the functionality to drag around and drop the skill tree anywhere in our main widget.