🚀 Spring Sale is live! 🚀 Don't miss your chance to get all my products at 30% OFF!  

Get it!

Gameplay Abilities System Concepts

Introduction to GAS Concepts

The purpose of this paper is to extract the core concepts from the Gameplay Ability System documentation of the Unreal Engine and to provide a concise and easy-to-understand introduction to the gameplay ability system.

These concepts can effectively explain the relationship between a character's ‘behaviour (skills), attributes, and states’ in a game.

Given the broad definition of the term "behavior," in this article, "behavior" specifically refers to concrete actions resulting from executing particular ability.

Purpose

  • To avoid ambiguity in design terminology, enhancing communication and development efficiency.
  • To reduce the need for a "translator" in small teams.
  • To unify concepts, enabling designers to better utilize Unreal Engine's gameplay ability system.

Gameplay Abilities

Gameplay abilities refer to various actions that characters (such as humans, horses, or dogs) can perform in the game world, including movement (walk/run switch, crouch, jump) and combat (attacking, hit react).

Multiple abilities can be activated at the same time. For example, a character can shoot while running.

The definition of abilities is quite broad, encompassing nearly any action a character can perform.

Abilities can also be categorized as active or passive. For example, being knocked down can be considered a passive ability.

The various actions of a character are related to their individual characteristics, much like how each person has basic behaviors such as eating and running.

There are mutually exclusive relationships between different behaviors; for example, one cannot crouch while jumping.

Gameplay Attributes

Each character in the game possesses multiple attributes, such as health points, mana, attack power, movement speed, and defense.

These attributes belong to specific characters, similar to human height and weight.

In short, a character has multiple attributes that influence their performance in the game.

For example:

  • Attacking an enemy from behind may deal 150% extra damage.
  • Sprint creates a visual effect of rapid movement and increases the character's speed while consuming 1% stamina per second.

Any effect that modifies a character's attributes and states can be termed a gameplay effect.

The definition of gameplay effects is broad and includes instant damage or long-term status buffs/debuffs (such as speed-up or stunned).

Gameplay States

In GAS, GameplayTags are often used to represent certain states of an actor in the game world.

Developers can change actors 's state through abilities, effects, or by directly assigning tags.

For example:

  • Tags starting with LocStatus indicate the state of locations in the game (e.g., fallen, enemy-held, neutral).
  • Tags starting with State indicate the status of characters (e.g., aiming state, defensive state).

Individual states are generally associated with the abilities or effects that produce them. Their primary purpose is for judgment. For instance:

  • In a riding state, a character cannot perform ground attack or defense actions.
  • In an injured state, a character cannot execute any movement or combat actions.
  • In a stamina cooldown state, a character cannot automatically regenerate stamina.

Gameplay Effects

In games, various actions by characters produce different effects. Gameplay effects encompass not only modifications to attributes and changes in states but also trigger visual effects; for instance, attacking may result in blood splatter particle effects.

Types of Effect Durations

There are three types of gameplay effect durations:

  • Instant effects: such as immediate damage from an attack.
  • Continuous effects: such as restoring 10% health every second over 10 seconds.
  • Permanent effects: such as states that persist after a character's death.

Examples of Gameplay Effects

The essence of game effects is this: players produce visual and non-visual effects through their behaviour(ability). Here are a few examples:

  • When the player presses the ‘W’ key to move forward, a ‘forward effect’ is generated, the visual effect is a change in the character's position, the non-visual effect is an increase in movement speed.
  • An enemy attacks the player, resulting in a ‘Wound Effect’, which is a visual effect of the character taking a hit, and a non-visual effect of the character's blood level dropping.
  • When an enemy attacks and stuns the player, it generates a ‘Wound Effect’ and a ‘Stun for 2 seconds Effect’, the visual effect of which is the character shaking, and the non-visual effect of which is a 0 Movement Speed reduction.
  • When a character defends, a ‘Defensive Effect’ is generated, the visual effect is a defensive stance action, and the non-visual effect is that the damage you take is reduced.

Conclusion

Character abilities(behaviours) produce effects, and game effects change character states and modify character attributes.

The essence of your game development with GAS is this:

You have a bunch of Actors with AbilitySystemComponent in your game world, and they apply various gameplay effects to each other through various abilities, modify various states and attributes, and produce various visible and invisible results according to your game design.

So when designing and developing gameplay abilities, you need to be clear about the desired effects, visual representations, property modifications, and their limitations on other behaviours.

Once the effects are clear, you can more efficiently complete your game through GAS.