WEBVTT

00:07.180 --> 00:08.200
Welcome.

00:08.810 --> 00:12.530
So the previous section was very much review for you.

00:12.710 --> 00:17.370
Hopefully most, if not all the things we did are things you're already familiar with.

00:17.390 --> 00:22.940
From this point on in the course, most of the things we'll be doing will most likely be completely

00:22.940 --> 00:27.380
new to you, not least of which is the gameplay ability system.

00:28.140 --> 00:34.200
In this video, we'll discuss what the gameplay ability system is and how we'll use it for the game

00:34.200 --> 00:35.040
project.

00:35.070 --> 00:36.930
The game will be developing throughout.

00:36.930 --> 00:42.930
This course was designed to teach you all of the main features of the gameplay ability system and how

00:42.930 --> 00:45.100
to apply them in various ways.

00:45.120 --> 00:47.910
So what is the gameplay ability system?

00:48.180 --> 00:55.140
Well, according to Unreal Engine documentation, the gameplay ability system is a highly flexible framework

00:55.140 --> 01:02.250
for building the types of abilities and attributes that you might find in an RPG or Moba title.

01:02.400 --> 01:08.760
You can build actions or passive abilities for the characters in your games to use and status effects

01:08.760 --> 01:13.920
that can build up or wear down various attributes as a result of these actions.

01:13.950 --> 01:19.500
Additionally, you can implement cooldown timers or resource costs to regulate.

01:19.500 --> 01:26.130
The usage of these actions, change the level of the ability and its effects at each level, activate

01:26.130 --> 01:28.330
particles, sound effects and more.

01:28.630 --> 01:35.170
The gameplay ability system can help you to design, implement and efficiently network in-game abilities

01:35.170 --> 01:42.490
from as simple as jumping to as complex as your favorite character's ability set in any modern RPG or

01:42.520 --> 01:43.600
Moba title.

01:43.930 --> 01:48.940
Now that all sounds pretty good, but it's also kind of a little vague.

01:48.940 --> 01:56.350
And that's because the ability system is so vast and capable that it's almost impossible to condense

01:56.350 --> 01:58.780
down into a single paragraph like this.

01:58.780 --> 02:05.020
So we're going to talk a little bit more about what the gameplay ability system is at a high level before

02:05.020 --> 02:10.550
we get started creating the various components of the system in our game project.

02:10.570 --> 02:16.270
So now that we've seen the Documentation's definition, let's actually talk a little bit about what

02:16.300 --> 02:17.340
gas is.

02:17.350 --> 02:20.500
Well, let's say you have the goal to create a video game.

02:20.950 --> 02:26.770
Now there are many different game genres, so for the sake of this discussion, we'll just say that

02:26.770 --> 02:29.160
your plan is to create an RPG.

02:29.160 --> 02:37.230
An RPG or role playing game is typically a fairly large game project involving a number of elements,

02:37.230 --> 02:41.580
including attributes commonly referred to as stats.

02:41.580 --> 02:46.080
And these are values that affect gameplay in significant ways.

02:46.170 --> 02:52.080
Examples of attributes include a form of health or life for the character that the player will control

02:52.080 --> 02:53.160
throughout the game.

02:53.190 --> 03:00.030
Life is typically defined as the amount of damage the character can take before being killed or eliminated.

03:00.060 --> 03:06.480
Damage itself is often treated as an attribute and can be affected by a number of factors, including

03:06.480 --> 03:12.690
the character's other attributes equipment such as armor and weapons, and the effects of magical spells

03:12.690 --> 03:14.610
or anything else that you decide.

03:14.640 --> 03:20.370
Now, other attributes are typically defined to affect various aspects of gameplay.

03:20.460 --> 03:25.560
Attribute values may even depend on other attributes as one attribute changes.

03:25.590 --> 03:32.080
Other attributes that are derived from it often change according to some mathematical formula determined

03:32.080 --> 03:33.630
by the game's designers.

03:33.640 --> 03:39.640
For example, the character may have a critical hit chance attribute called crit, and this critical

03:39.670 --> 03:44.410
hit Chance adds the chance to cause bonus damage when the character attacks.

03:44.440 --> 03:49.020
Now, this crit chance may be derived from a combination of other attributes.

03:49.030 --> 03:55.210
Let's say the character has a resilience attribute or here on the x axis of this graph.

03:55.210 --> 04:01.540
And when resilience increases, critical hit chance also increases by a certain amount.

04:01.570 --> 04:07.470
RPGs often have a large number of attributes that affect various aspects of gameplay.

04:07.480 --> 04:11.310
Now, attributes aren't the only feature of a game.

04:11.320 --> 04:15.520
We mentioned damage and the act of causing and taking damage.

04:15.520 --> 04:18.700
Well, damage is typically caused by abilities.

04:18.700 --> 04:24.580
The character may attack other creatures or players in the game, and attacking involves several actions

04:24.580 --> 04:26.620
that act in unison with each other.

04:26.650 --> 04:32.530
Attacking typically involves playing some sort of attack animation, whether it be a sword swing or

04:32.530 --> 04:35.320
a spear thrust or casting a magical spell.

04:35.350 --> 04:39.730
The attack typically involves hitting the target and causing damage to that target.

04:39.730 --> 04:46.450
Causing damage in an RPG means checking the values of attributes both on the attacker and the target,

04:46.450 --> 04:52.660
and performing a series of mathematical calculations that take these attributes into account before

04:52.660 --> 04:55.840
determining the final amount of damage caused.

04:55.840 --> 05:01.960
If the damage caused to a player or creature is fatal, meaning that it's brought the target's health

05:01.960 --> 05:05.860
or life attribute down to zero, the target may die.

05:05.890 --> 05:10.810
In RPGs, this is usually accompanied by a reward of some sort.

05:10.840 --> 05:17.140
The reward, often issued in RPGs, comes in the form of experience Points or XP.

05:17.620 --> 05:20.560
A character can accumulate experience.

05:20.560 --> 05:27.490
And once this character has amassed a certain amount determined by a threshold for that particular level.

05:27.720 --> 05:33.270
That character may reach a point where it's now eligible for an upgrade of some sort.

05:33.300 --> 05:40.140
We often call this upgrade a level up where the character's level a numerical value designed to be a

05:40.140 --> 05:44.400
measure of cumulative progress in the game goes up.

05:45.060 --> 05:51.360
Now leveling up is often accompanied by an increase in the character's overall power in the game, such

05:51.360 --> 05:57.360
as an increase in attribute values or even being granted newer and more powerful abilities.

05:57.360 --> 06:04.110
By leveling up, the character has become capable of taking on even stronger enemies, causing more

06:04.110 --> 06:07.570
damage, and earning even more valuable rewards.

06:07.590 --> 06:14.580
Speaking of rewards, there are often gameplay mechanics in RPGs that result in strengthening or weakening

06:14.580 --> 06:15.480
the player.

06:15.510 --> 06:22.170
Mechanics that strengthen the player are often referred to as buffs and mechanics that weaken the player

06:22.200 --> 06:25.440
are often referred to as debuffs drinking.

06:25.440 --> 06:30.540
Some sort of potion may increase the player's health or mana or some other attribute.

06:30.660 --> 06:37.140
Casting a spell may temporarily increase some of the player's attributes or decrease attributes on the

06:37.140 --> 06:37.980
target.

06:38.280 --> 06:44.880
Buffs and debuffs can be applied as a result of picking up or consuming items, or they may be applied

06:44.980 --> 06:50.200
as the result of being hit by certain abilities or receiving damage of a certain type.

06:50.200 --> 06:57.880
So effects are some sort of gameplay mechanics that result in changing attribute values, and the reasons

06:57.880 --> 07:02.260
and situations involved depend entirely on the game's design.

07:02.290 --> 07:05.500
Now we've discussed a lot of mathematics thus far.

07:05.530 --> 07:12.130
Attributes have their own numerical values and effects caused by elements in the game often change these

07:12.130 --> 07:19.360
values, but there's often some sort of visual or audio cue associated with any given gameplay mechanic.

07:19.390 --> 07:23.830
A sword hitting an enemy releases a splash of blood on contact.

07:23.860 --> 07:27.040
That's usually some kind of particle system.

07:27.370 --> 07:33.220
A magical fireball explodes on contact, which creates a loud boom sound.

07:33.250 --> 07:39.880
These visual and audio cues are every bit as important as the underlying mathematical calculations that

07:39.880 --> 07:42.280
affect the various attributes in the game.

07:42.280 --> 07:48.360
Now, we've described many features that you see in RPGs, but these are commonly used in many other

07:48.360 --> 07:49.470
game genres.

07:49.470 --> 07:53.430
Shooter games make use of attributes such as health and stamina.

07:53.460 --> 07:59.880
Just about most games involve some sort of health or life, and nearly all games make use of a form

07:59.880 --> 08:03.300
of progress, even if it's not called the player's level.

08:03.480 --> 08:10.470
The point is that games can get quite complex and the more complex a game becomes, the more relationships

08:10.470 --> 08:16.260
the various game elements have with one another and the more difficult it can be to manage all of these

08:16.260 --> 08:17.370
relationships.

08:17.370 --> 08:23.910
It can help if there is a system that allows us to organize these relationships, these attributes,

08:23.910 --> 08:26.850
effects, abilities and gameplay cues.

08:26.880 --> 08:30.210
That's where the gameplay ability system comes in.

08:30.240 --> 08:37.110
Now can you make a complex game such as an RPG similar to what we just described without the gameplay

08:37.110 --> 08:38.180
ability system?

08:38.190 --> 08:39.840
Well of course you can.

08:39.870 --> 08:46.600
Countless games, even super complex RPGs have been created before the gameplay ability system was even

08:46.600 --> 08:47.470
invented.

08:47.560 --> 08:53.470
But those games, at least the ones successful enough for you to have heard about them, succeeded as

08:53.470 --> 08:58.030
a result of impeccable design management and code framework.

08:58.060 --> 09:01.780
The gameplay ability system provides us with such a framework.

09:01.810 --> 09:07.000
The Gameplay Ability system was designed to handle the complexities of the game.

09:07.000 --> 09:08.110
Paragon.

09:08.660 --> 09:16.160
Paragon was a multiplayer online battle arena, or Moba, developed by Epic Games.

09:16.220 --> 09:21.800
A Moba is a competitive multiplayer game involving multiple character types.

09:21.800 --> 09:26.960
Each character type generally has its own set of unique abilities and strengths.

09:26.990 --> 09:33.500
Characters in MOBAs often gain experience, level up and earn new abilities, all in the space of a

09:33.500 --> 09:35.270
single multiplayer match.

09:35.300 --> 09:41.840
It's a game genre that combines just about every technical challenge a game development team can face,

09:41.840 --> 09:47.660
and all of the complexities that we've discussed thus far are generally implemented in MOBAs.

09:47.690 --> 09:54.800
It's the type of game project that absolutely requires a solid framework that is modular, flexible

09:54.800 --> 09:56.090
and scalable.

09:56.120 --> 10:02.930
It must have a code base that can accommodate for attributes, effects, abilities and cues and do so

10:02.930 --> 10:09.180
in a way that is handled well in multiplayer and allows for each element in the system to interact with

10:09.180 --> 10:16.230
any of the others in an efficient and well coded manner to handle such a complex system.

10:16.260 --> 10:19.370
Epic Games created the gameplay ability system.

10:19.380 --> 10:26.460
Sadly, Paragon was eventually cancelled and Epic decided to focus its game development efforts primarily

10:26.460 --> 10:27.630
on Fortnite.

10:27.660 --> 10:32.540
However, Paragon wasn't a complete waste of time, talent and resources.

10:32.550 --> 10:40.920
It turns out that gas, the gameplay ability system, was so well structured, so versatile and so expertly

10:40.920 --> 10:45.040
coded that it can be utilized in any number of situations.

10:45.060 --> 10:50.700
It allows a game to have a complex system of attributes, abilities, effects and cues.

10:50.730 --> 10:54.060
And now it is an integral part of Fortnite itself.

10:54.090 --> 11:00.270
The gameplay Ability System is a masterpiece in software engineering and provides a fully replicated

11:00.270 --> 11:03.030
way to handle complex gameplay mechanics.

11:03.030 --> 11:10.710
Fully replicated means it works in a networked multiplayer environment with lag compensation providing

11:10.710 --> 11:14.640
a smooth gameplay experience even in the presence of lag.

11:14.730 --> 11:18.690
So can you make a complex game such as an RPG without gas?

11:18.720 --> 11:20.310
Well, of course you can.

11:20.310 --> 11:27.270
But learning how to use and implement gas will allow you to do so in a way that is expertly organized,

11:27.270 --> 11:33.840
easily scalable, modular, and with the efficiency good enough for a fast paced, competitive Moba

11:33.840 --> 11:40.500
title, saving you literally years that it would take you to engineer such a work of art.

11:40.530 --> 11:46.770
Gas is the most beautiful piece of software engineering that I've ever touched, and it's my pleasure

11:46.770 --> 11:49.620
to share my knowledge of the system with you.

11:49.650 --> 11:55.800
Unreal Engine developers who wish to expand their capabilities into a realm in which serious, complex

11:55.800 --> 11:59.120
games exist can do so with the use of gas.

11:59.130 --> 12:03.060
And seeing as how you're one of them, it's time to get started.

12:03.060 --> 12:09.510
Adding gas to this course project designed to showcase and unravel the features of the gas masterpiece.

12:09.510 --> 12:11.340
One piece at a time.

12:11.340 --> 12:14.070
Let's see what forms of magic we can create.
