Action System Introduction (GAS-like)
Recorded with: n/a | Last Update: n/a | No Commit
In this lesson we briefly dive into Epic's Gameplay Ability System versus our own Action System. This is what we will be building for the next several sections.
What is Epic’s Gameplay Ability System?
- Powerful framework for handling anything like Attributes such as Health or Stamina, Abilities, buffs and debuffs.
- Not the same as the Gameplay Framework which are the classes we use so far Pawn, Actor, GameMode etc.
- Handles a lot of the multiplayer networking
- A lot can be handled through designer configuration rather than code.
- With some groundwork from an engineer, designers can stay in Blueprint to create specific gameplay mechanics.
Why build an “Action” Framework?
- Avoiding monolithic classes such as massive Character class that holds all abilities. Difficult to maintain.
- Single purpose classes, easy to maintain and modify in terms. (eg. one class per Ability) especially as Blueprint can’t be merged when multiple people want to tweak them, making a single large Character BP a nightmare for collaboration.
- Handling networking boilerplate through a single implementation
- Easier separation of Content to manage what assets are loaded.
- Lots of boilerplate can be re-used throughout the game mechanics.
- Support complex RPG mechanics and interactions with minimal effort if we designed a proper framework.
How will ours relate to GAS?
General Class Structure
- ActionSystemComponent > GameplayAbilityComponent
- Action > GameplayAbility
- ActionEffect > GameplayEffect
- AttributeSet > AttributeSet
- GameplayCue, we won’t implement this
- GameplayTags, GAS agnostic, we will use it similarly to how GAS applies this.
Why are we making our own?
- Building our own small version of GAS helps in understanding how this system works fundamentally and can help expand on GAS if you end up using that instead for professional work.
- A huge amount of interesting Unreal & C++ concepts can be covered by writing our own framework.
- GAS has a steep learning curve. Our mini framework will be simpler to use while still introducing you into GAS for the future.
- You may end up expanding on this beyond the course or your studio might not be using GAS at all.
4 comments