Skip to content

Component Based Ability Part 2 : Reusable Components

From what I’ve shown up until now, I could just make do with a single Execute function and put all logic in there. This however, would not be ideal. Lets think about all the commonalities that different abilities might have. An ability might have some sort of cooldown phase. We wouldn’t want the player to spam a powerful ability like fireball indefinitely. This cooldown component might have different variables that a designer might want control over like cooldown time, cooldown duration etc. There would also be a Boolean that the… Read more Component Based Ability Part 2 : Reusable Components

Component Based Ability Part I : Base Setup

To start off, what should an ability do? At the most basic level when a player casts an ability in a game like DOTA or Diablo, something happens. What this “something” is varies from ability to ability but, we can say for sure that an ability will execute. What I did for my system is set up an interface which defines what an ability is. As seen above my ability will, at the very least, have a name and a function called Execute where all the logic for that ability… Read more Component Based Ability Part I : Base Setup

Component Based Ability System In Unity

As part of my graduate class on Game Engineering I was required to create different abilities for a small MOBA-like project. Ultimately, these abilities would vary from simple ones like fireball and teleport to more complicated ones like Meteor (splash + force damage) and tether (joins two players via a chain) etc. To make this process streamlined and save time on my assignments I decided to build out a component based ability system which would allow me to reuse parts of from abilities that I already finished for new abilities… Read more Component Based Ability System In Unity

Final Project

For my final project I was planning on building a simple doom clone where the player will control view the world from a first person perspective and be able to move around and fire “bullets” using keyboard input. There will not be enemies but objects in the world which the player will be able to shoot and destroy (using the Collision system I built). I was also planning on using Shantanu’s (Shantanu Pandey) Audio system for sounds for bullet firing and object being hit. I managed to achieve all my… Read more Final Project