Game Advanced Criteria for Setting Monster Stats by Stage
GCC Academy
Hello everyone
This is Park Hyung-seon, in charge of Action RPG Balance Game Planning
This session will cover the criteria for setting monster stats by stage
We will establish baseline values for attack power, health,
and defense for monsters at different stages
The goal is to determine
these baseline stats for 100 stages,
adjusting them according to difficulty
Using Excel trendlines, we will set base values
and automate the scaling using quadratic or cubic equations
to create an upward-trending graph
Baseline Stats for Monsters by Stage
Setting Baseline Stats for Monsters by Stage
Let's review the formulas for calculating damage
The absorption rate formula is Defense / (Defense + Defense Constant)
Let's set the defense constant as 1000
It's all divided from Defense
1000 is the Defense Constant
For this session, let's keep it as 1000
1000 is the most balanced standard value too
Let's establish the base attack power, health, and defense for monsters at each stage
Next,
the aim is to determine the average base stats
for all monsters within a stage according to difficulty,
covering all 100 stages in the game
Let's take a look
The reason for setting 100 stages is that,
in real-world game development,
balancing around 100 stages is a reasonable assumption
A set of 100 stages would be roughly equivalent to an alpha version,
to an alpha version,
providing a solid foundation for a playable service
The average stats of mobs
are assumed as follows
HP is 1500,
attack power is 500,
and defense is 500
For stage 1, the average stats of mobs
are set accordingly
For stage 4,
the average stats of mobs are set as follows:
HP is 5500,
attack power is 1500,
and defense is 1500
That's an example of setting the stats
Naturally, stage 4
is harder than stage 1,
so the average stats are higher,
following the logic
This logic applies not just to stage 1 and stage 4
but extends across all 100 stages
The average stats,
HP, attack power, and defense,
must be adjusted for each stage
Setting the stats individually can feel overwhelming
Even with a simple approach,
there are 100 stages
and three stats per stage
Multiplying 3 by 100 results in 300 stats that need to be set
Moreover, these stats must follow
a continuous increase rather than being set arbitrarily
If we were to do this,
as in, input each value manually,
it would be difficult to determine the appropriate stats for every stage
Randomly assigning
300 values without a structured method
is not an option
Thus, in practice,
the focus is on
how to efficiently
automate these stats using formulas
I will talk about that method now
Let's go over the concept of base stats again
Base stats refer
to the average stats
that serve as a standard
for all mobs in a stage
A stage does not contain only one type
but multiple types of mob
Since setting the stats for each type manually would be too complicated,
we establish base stats as a reference point
This might sound complex, but it’s simple
Base stats
are used to derive variations
If there are 10 types of mobs,
we scale their stats based on the base stats
to generate 10 different variations with unique stats
Since this process is automated,
any changes to the base stats
will automatically adjust all mob stats at once
That is the gist of this
Thus, base stats exist
to make balancing easier and more efficient
Now, let’s look at base stats in more detail
A game stage might contain various mob types, such as:
Skeleton Infantry
Skeleton Archer
And Skeleton Defender
There is not just one type,
but many types of mob
Skeleton Infantry is
a melee-type mob
with balanced stats, for example
Skeleton Archer is a long-range attacker,
so to characterize it a little,
its attack is high, but defense is low
Players can quickly approach and defeat them,
making them challenging yet manageable
That's one example
However, if both attack and defense were high,
they would be frustrating to fight,
because they never die
They will be
contributing to decreasing the fun factor of the game
Therefore, long-range mobs usually
have high attack and low defense for better game balance
This is for the fun factor
Skeleton Defender
is designed with high defense,
so its main goal is to block damage
and function as a tank
These different traits of the mobs
add variety and depth to the game
Apart from these three, there are many more mob types,
each with distinct characteristics
Skeleton Infantry
Skeleton Archer
And Skeleton Defender
Each mob type has three key stats,
Health, Attack, and Defense,
which scale with level progression
For Health,
Skeleton Infantry has balanced stats
Next, Skeleton Archer
has high attack,
but low health
Next, Skeleton Defender
has high health and defense, lower attack
This could work as a balanced setup
While this system works, it becomes extremely time-consuming
when there
are many types of mobs,
the more kinds there are,
the more time we need to put
in working for these stats
The reason for that is this
If each mob type gets
its own manually adjusted stats,
if 10 mob types each require unique stats,
the work increases 10 times over
So balancing will take a huge amount of time
This method is inefficient and unsustainable,
which is not a desirable method
Without base stats,
this is how it works
Each stage’s mobs would require
individual stat inputs
it is a tedious and inefficient process
Instead, let’s go over an easier method
Assuming that base stats are set,
Let's move on to Assigning Mob Stats
We'll use Skeleton Infantry as the reference mob
It is an average unit,
a balanced melee unit
with average stats
With this setup, stat allocation becomes much simpler
Each mob has Level,
HP,
Attack, and Defense,
which all
increase with level progression
For example,
we create
a base mob table
This is the monster table we have
It starts from level 1 to level 100,
with HP, Attack, and Defense values for each level
This table serves as the base stat reference
Then, we define mob types
The mob type
If it is Infantry,
HP, Attack, and Defense are all 1.0
So all stats are at 1.0 multiplier
Now, for Archer,
it has lower HP, like 0.9,
and lower Defense, like 0.8,
and higher Attack, like 1.5
So it has higher attack and lower HP and defense
That's the emphasis we want
So create this multiplier
And just by multiplying it from the original table,
this is an easy way of creating the stats
For Defender, it has higher HP and defense
HP is 1.5, Defense is 1.1
But for Attack, let's lower it down to 0.7
And we can, again, multiply it from the reference table
So with this base stat reference,
choose the type to use the multiplier
to get the final stats for that particular type
By setting up base stats and type multipliers,
we can generate all mob stats efficiently
Modifying a few values automatically updates all related stats
This method can be applied not only to mobs
but also to player characters with multiple classes
Based on this,
next, let's talk about automating base stat calculation
Conceptually, this makes sense,
but how do we apply this to real numbers?
Manually inputting all stats for hundreds of stages
would be overwhelming,
especially since MORPG stages
typically number in the hundreds
And trying to manually inputting the stats
to these hundreds of stages
would require thousands of manual data entries
This is a highly inefficient process
Instead, we need to think
about automating the process
The key considerations
are that stats should increase progressively as difficulty rises
Even if values need future adjustments,
for automation,
we pre-fill dummy data and apply formula-based scaling
For example,
I will only use 50 stages
and try the dummy data method
What's important here is this
As the game progresses,
it’s important to introduce difficulty spikes
at specific points in stages
to maintain player engagement
That is an important point to consider
Let's look at the base HP scaling graph
There are three primary stats:
HP, Attack, and Defense
Attack should be defined as DPS
DPS allows for
easier balancing work
even if the number of attack animations changes
Thus, using DPS
ensures consistent balance
Let's go with HP first
First, we enter dummy HP data
and use Excel’s trendline function
to generate a formula that automates scaling
The completed formula-driven automated graph
is shown as a sample
For example,
y = -0.0172x^3
+ 6.1855x^2
+ 4.6908x
and + 4.118
That's what this graph is about
This formula matches the values in the left table,
The baseline HP value
is calculated using a cubic equation,
which creates a smooth upward trend
As stages progress, the HP of monsters
continuously increases according to this formula
Compared to a linear increase,
a curved progression like this
introduces gradual difficulty scaling,
contributing to the overall enjoyment of the game
Moving on to the baseline HP stat graph,
Let's compare Stage 1 and Stage 50
The base HP values are 4,129 and 17,666
In this lecture, to create these kinds of values and formulas,
we utilize the trendline addition feature
By referencing the graph and table,
we can see that in Stage 1,
the baseline HP of a single mob is 4,129,
while in Stage 50, it increases to around 17,666
As previously mentioned,
it is important to first establish the baseline monster stats
for each stage before adjusting other combat balance factors
Initially, these values
can be set based on intuition,
but once they are converted into a mathematical formula,
modifying a few numbers
can dynamically update all related values
The Baseline Stats Graph
The baseline HP graph is defined using a cubic equation
because it allows for a sharper increase compared to a quadratic equation
If a less steep progression is desired,
a quadratic function can be used instead
The choice ultimately depends
on the intended gameplay experience
To compare, let's use
a quadratic HP curve
and a cubic HP curve
The cubic equation produces a steeper incline
The quadratic curve is not as steep
You can use whatever you want
For games that require
a more pronounced difficulty spike,
use the cubic equation
If you want the opposite, which is
if a steadier difficulty curve is preferred,
a quadratic equation would be more appropriate
Either approach can be used
Adjusting Baseline Stats Using Trendlines
Now, let’s discuss how to adjust the baseline stats using trendlines in Excel
Excel has the dataset
with stage numbers,
base HP,
base DPS,
and base defense values,
ranging from Stage 1 to 50
First, dummy values must be manually input,
ensuring a gradually increasing trend
from 4000 to 17000
If no initial values are entered,
the trendline function will not work
So you must enter everything manually
One thing to note is,
the starting and ending values must be set,
and there should be an increase
For the rate of increase,
whether large or small,
the trendline will automatically adjust accordingly
The trendline in Excel is simply
a guideline that reflects trends in the data
To use this, first, select the dataset
After selecting the dummy data,
let’s create a trendline for baseline DPS values in Excel
If the baseline DPS ranges from 200 to 1,377,
first, highlight the data range in Excel
Drag the part about the baseline,
the DPS part, to select 50 data
Then, navigate to the Insert tab
From there, either select Recommended Charts
or manually choose Line Chart
First, select Recommended Charts
and then go with Line Chart
Using a line chart is preferable
for trend analysis
Line charts are particularly useful
for showing sequential data,
making them ideal
for tracking changes over stages
Adding a Trendline to Match Baseline Stats
We have selected the line chart from the recommended chart options
Now, on to creating the chart
Once you select the line chart and click the OK button,
the Excel data will be converted into a line graph, displaying the stat trends visually
Now, the range of data
is plotted as a line chart, resembling the example on the right
The chart title will automatically be set as Baseline DPS,
showing how the baseline DPS values progress
across Stages 1 to 50
Adding a Trendline to Adjust Baseline Stats
This could be a confusing part
Careful mouse control is necessary,
because the chart elements are small
Now we have the trendline
Now, precisely click
on the blue line
With that,
as you can see,
smaller circular handles will appear
with each of the points selected, like this
Once you click on the line,
it indicates
that the trendlines is active and selected
It's a function that Excel has
Now, right-click on it
to bring up the context menu
From the menu options, select Add Trendline
Clicking this will open the Trendline Options panel,
and select the Trendline option
Once you click Add Trendline, the Trendline Settings window will appear
First, accurately click the line with the left mouse button,
then right-click and select Add Trendline
If done correctly, a Chart Settings Popup will appear
Selecting the Trendline Type
From the Trendline Options, you will see multiple types
Exponential, Linear, Logarithmic,
Polynomial, Power, Moving Average, and so on
So we are selecting whether the trendline
will be exponential, linear,
log, or polynomial
with this menu
We will go with Polynomial,
which allows for quadratic and cubic
equations, which is called polynomial
If you set it to 3 after selecting Polynomial,
the trendline will have the cubit equation
If, instead of 3,
you'd rather go with 2,
it works with quadratic equation
If you want a faster, more exponential-like growth, set it to 3
If you want a steadier growth curve,
set the polynomial degree to 2
So you can choose between quadratic and cubic
Another important point is this
There is an option for Display Equation on Chart
Be sure to check this box,
which will overlay the actual formula used in the graph
Now,
with that done,
the graph will display a formula
It is something that did not exist before
Let me read it out
Setting it to 3 will give this type of trendline
y=0.0009x^3
+ 0.3689x^2
+0.3488x
and +207.42
This is the precise number we get
We cannot apply this right away
You have to take the extracted equation
and convert it into an Excel formula
for actual use in automation
Though, we need this equation first
to create an Excel formula
So make sure to record this somewhere before we proceed
We can edit it using this
When modifying the formula, the equation itself also changes,
but this is not a major issue
The initial formula sets a reference for attack power scaling
We will be using this formula to define the standard attack power,
so make sure to record it carefully
The dummy values entered have been structured
into a cubic equation trendline
This converts raw stage data into a functional model
The extracted coefficients, 0.0009, 0.3689,
0.3488, and 207.42, govern stat progression
Now, let me show you
how automating stat scaling in Excel works
I will now create the Excel formula using the previously noted values
We can formulate the standard DPS using a cubic equation
In the Excel sheet,
we will use cell D3 to enter the formula
D3
D3 will contain
the standard DPS value based on the recorded cubic equation
The cubic equation for standard DPS is this
(0.0007*x3)
+ (0.3885*x2)
- (0.1605*x)
and + 211.02
When this type of formula is used,
it can be entered directly in the upper-left formula bar
In Excel formulas, the structure looks like this
Start with =
Meaning, equal to
And start with opening a parenthesis
(0.0007 * B3^3)
* is multiplication
Now, use ^,
to represent the square
So ^3 means cubed
Now, + and open another parenthesis
0.3885
Multiplied by, or *
B3
Use ^
for the square
And 2, next, 0.3885
This means x squared
Next up,
-0.1605 * B3
+ 211.02
That's how you write it out
Then why do we enter it this way?
On the left, there is B, which represents stage 1, 2, 3, 4, right?
So, it takes the value of B3
The value of B3
changes sequentially as 1, 2, 3, 4, and so on
So, X
is the input value
What we want to calculate is the Y value
We use the actual equation to calculate the Y value
X increases sequentially as 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and so on
Then, we take the increasing X values like 1, 2, 3, 4, 5, 6, 7, 8
When we input these values into the equation,
this cubic equation calculates the Y value
This allows us to generate the desired values
Now, why do we use this?
0.0007, 0.3885,
-16.05, 211.0
These values are predefined
If we want to increase them, we just change these values
For example, take the value 211.02
If the first stage’s initial value is 211,
the initial output value will be close to 211
If you want to increase it,
you can set it to something like 500
And 0.0007 * X^3
For the coefficient in front of x^3,
the earlier it appears, the more sensitive it is
The value is small
Like 0.0007, it’s very small
But even a small increase results in a large change
If you want to increase it less,
adjust the 0.3885 * x^2
Raising this value will have a milder effect
The same applies for decreasing the values
So in these four places, x^3, x^2, x,
and the constant term
These four factors
include general numerical values
By adjusting these four,
you can raise or lower the graph’s output
With automation,
you can apply this function in Excel,
and just drag it down to apply the calculations automatically
This is how you can create the formula
Adding a Trendline to Adjust Base Stats
Let me explain automation again
Once all formulas are entered as functions in Excel,
the next step is
using the mouse to
place the cursor at the bottom-right corner where the rows and columns meet
A plus sign will appear
Click and drag it downward
It will automatically fill all the cells
The Excel formula will be applied and automated
This allows you to increase or decrease values at once
You can apply the entire formula in this way
Rather than entering each value manually,
this method is much faster and easier to modify
So, when we plot this as a chart again,
it creates a smooth increasing trend like the one on the right
Y = 0.0007 * x^3
+ 0.3885x^2
-0.1605x
+211.02, producing a graph like the one on the right
This can also be easily converted into a table,
and it works with formulas as well
To increase the values slightly,
instead of -0.0007,
Enter a larger value like -0.0037
Then, drag the formula down for automation
The increasing values will be applied instantly
To adjust base stats using a trendline,
let’s compare graphs based on different formulas
Modifying equations and formulas
Our formula for Y is this
0.0007x^3
0.3885x^2
0.1605x
+ 211.02
If we want to increase the values,
manually adjusting each one
for 50, 100, or 200 entries is impractical
That’s why we automate using formulas
Let’s slightly increase the values
Instead of Y = 0.0007x^3,
use 0.0008x^3,
instead of 0.3885x^2,
use 0.4885x^2,
keep -0.1605x the same
Change 211.02 to 230.02
After applying these changes,
the table will update accordingly
For stages 1 to 50, the base DPS changes as follows
Formula 1 ranged from 211 to 1260
After applying automation with slight increases,
formula 2 now ranges from 230 to 1543
You can see how modifying the formula affects values
By modifying the formula and equation,
the DPS value changes,
and the graph’s slope is also adjusted
To achieve the desired graph shape,
you can create a new formula
or modify the existing equation and apply it
When balancing, just tweaking the numbers in the equation
eliminates the need for manual input of all values
You can easily adjust all values at once
The reason for creating a base table is
that once automated like this,
it can be linked to actual monster data
or character data
By modifying only the formula in the base table,
the entire balance can be recalculated and adjusted instantly
By setting up a base table like this,
you can create variations for characters,
and also for monsters
Simply adjusting this equation
modifies all relevant values at once
This allows for highly efficient workflow
Now, for adding a trendline to adjust base stats,
let’s examine base defense values
The base defense formula is this
y = -0.0049x^3
+ 537x^2
+ 1.5955x
+ 27.255
If the equation is structured like this,
likewise, applying this as a cubic equation and dragging it down
will populate the values accordingly
For the first test, let’s apply it to stage 1 to 50 monsters
Base HP, base DPS,
and base defense will have a reference table
Each will be expressed using a cubic equation,
and once entered, all calculations will be complete
Using the trendline function, you can obtain the desired graph shape
and extract the necessary values
However, you must refer to this equation
and manually create and apply your own formula
When you actually apply this,
if defining the range data is difficult,
we have examples of defense, attack, and HP values from the lecture
There are sample values available
Just keep a record of those formulas,
convert them into Excel functions, and apply them
This way, you won’t need to rely on dummy data
Even without generating a trendline,
since you already have the formula,
you can directly apply and modify it
That concludes today’s lecture
Great job, everyone
Thank you
Stage-Based Monster Standard Stats The standard stats for a single battle process refer to the most average stats that all regular monsters in a stage
A stage has multiple monster types, making individual stat setting difficult, so a standard stat is used
If stats are created as formulas, the entire set of values can be adjusted simply by modifying the numbers in the formula
Standard Stat Graph For standard HP, a cubic equation is used because it increases more steeply than a quadratic equation
For undesired steep increase, quadratic equation can be used The formula can also be freely modified to achieve the desired graph sha
Adjusting Standard Stats Using Trendlines 1. Select Data: In Excel, drag-select 50 values of standard DPS
2. Go to the “Insert” tab and click Recommended Charts 3. From the recommended charts or all charts, select a line chart
4. With the line chart selected, click OK 5. Click on a data series in the chart, then right-click
6. Click Add Trendline to open the trendline settings window 7. Choose Polynomial, then set the order to 3 to generate a cubic trendline
8. In Excel, use cell D3 to enter a cubic formula for standard DPS, using the pre-recorded cubic equation