Post by WitchRolina on Dec 22, 2018 22:16:32 GMT
This thread requires the use of a document to be able to follow.
Character Builder XLSX file
Google Docs version
There's a few steps to this topic. First is how Golden Sun assigned stats. In the GS games, characters had different stat targets for level 0, 19, 39, 59, 79, and 99. To simplify things, only the level 0 and 99 stats will be looked at, and linear growth rates will be assumed. Each character has an individual value for these stat targets, but as we don't have Camelot's methods, the best we can do is try and reverse engineer. We'll look at the max and min values of each stat, as well as ratios between related stats (health/energy, offense/defense), as well as the median, average, the range, and two approaches to viewing the ratio of values (Max/Min, Range/Max).
Here's the max values for all the characters (XP values unknown for DD characters at the time of the derivation):
![](https://i.imgur.com/TaPXvVx.png)
Here are the min values (DD characters excluded due to lack of data at the time of derivation):
![](https://i.imgur.com/aiJs7sz.png)
The idea was to take the data, and try to create stable ratios based on the above data. The simpler the ratios and values, the better. What we care about here are the max and min possible values, and the difference between them only (characters fall within the range). What I came up with was:
Lv0 Health/Energy ratio is 1.5
Lv0 Attack/Defense ratio is 1.5
Ranges are: 12 Health, 8 Energy, 6 Attack, 4 Defense.
Min Values are: 24 Health, 16 Energy, 6 Attack, 4 Defense.
Speed and Luck discussed later, separately.
Lv100 values followed a different set:
Lv100 Health/Energy ratio is 3
Lv100 Attack/Defense ratio is 2.2
Ranges are: 150 Health, 50 Energy, 66 Attack, 30 Defense
The Median/Advanced values were used as the basis for mid-point values here, with max and min splitting the difference.
The specific values are listed below:
![](https://i.imgur.com/iC9zefZ.png)
And here's a comparison to the GS games. Note that L100 GS Luck values are based on end-game non-boss enemies, as characters don't grow in luck at level up. L100 Agility values are based on 1/20th of the values from GS, as a rough equivalency.
![](https://i.imgur.com/Ud6UZwj.png)
For the sake of Project Flint's Casting and Warding stats, the values for Attack and Defense are duplicated for the sake of simplicity.
So, what does all this data mean? Basically, it's a lot of spreadsheet and data to say "this is a rough range that imitates Golden Sun's values and ranges using nice values". The tricky part is Agility and Luck, which in our discussions on discord we likely will change from how GS does things.
First is Agility. Golden Sun uses rather high values, with numbers being 1-8% higher than attack value, with the sole function of... determining turn order. Something that could easily be done with lower values - there's little reason for Agility to be a triple digit number at all. As a result, the idea is to have it be a two digit value. The easiest approach is "GS values divided by ten", but another approach (the one used here) is to give it a similar value range to Luck.
In GS, luck starts as one of 4 values. Looking at just the GS1 cast, we can roughly say:
Protector has 2 luck
Attacker has 3 luck
Controller has 4 luck
Healer has 5 luck
Edit: New values based on discussions in design, most credit goes to Taz:
Attacker has 2 luck
Protector has 3 luck
Healer has 4 luck
Controller has 5 luck
We can do a similar assignment based on the importance of agility with these roles:
Protector gets 2 agility
Healer gets 3 agility
Attacker gets 4 agility
Controller gets 5 agility
Edit: New values based on discussions in design, most credit goes to Taz:
Protector gets 2 agility
Healer gets 3 agility
Controller gets 4 agility
Attacker gets 5 agility
Form here, we have two approaches. We can take end-game values for monsters and have that be the final targets, or we can declare them "Mid-targets", as the end-game enemies range from levels 40-45. By marking it at 50, we could double the differences between these values to attain Level 100 values. However, given the luck gains from djinn and class multipliers, my gut reaction was to use them as max values, thus my using those values.
As far as assigning base Level 0 values for other characters, the method is to start with min values, then add points based on the character's Training and Role. Training focuses on physical or magical stats, while Role focuses on which values get boosted. For example, an attacker gains more offenses than defenses.
Training gains:
Role Gains (Attack, Defense, Casting, and Warding values based on Physical/Magical training):
So what does this mean for final values? Nothing at all. While base values are based on their initial training and role, we pick the final targets separately. I use a rank system - 16 ranks from F to S (F, E-, E, E+, D-, D, D+, C-, C, C+, B-, B, B+, A-, A, A+, and S). F and S correspond to the min and max values, and C is the average value. Six of the core stats (Health, Energy, Attack, Defense, Casting, Warding) must average to a C, while the auxiliary stats of Agility and Luck are independent of the two, instead being a modifier to experience.
Experience is set to seven values - Fastest, Faster, Fast, Normal, Slow, Slower, and Slowest. Fastest and Slowest don't correspond with the min and max values but aren't too far from it, while Normal is the average value. Faster growths will skew final stats a little lower, while slower growths skew final stats a little higher. These have more affect on middle values (ex: Bs and Ds), and none at all to extreme values (if one rank is S, it is guaranteed to be max regardless of experience modifier). There are minor effects based on how far from average the luck and agility values are as well (higher has a minor increase in max XP, while lower has a minor decrease). Max XP value corresponds with Slowest Growth with S rank in Luck and Agility. Min XP value corresponds with Fastest Growth with F rank in Luck and Agility.
As for growth rates? It's simple linear growth from min to max. This means that yes, it's technically possible for us to have someone who has the minimum possible value in a stat at level 0, but the maximum value at level 100, having the highest growth rate for that stat possible. Possible, but not likely.
This method may seem crazy complex, but it's pretty simple in the end. The most complicated part was the reverse engineering, honestly.
This brings us to classes. In the first GS game - The Broken Seal - base class multipliers were roughly based on the character's innate stats. When changing to dual-element classes, for the most parts the pattern is to adopt what other adepts do:
Isaac has a Striker based class, high HP and high Attack
Garet has a Protector based class, high HP and high Defense
Ivan has a Controller based class, high PP and high Agility
Mia has a Supporter based class, high PP and high Luck
So when Isaac equips jupiter djinn, his new class has higher PP, higher Agility, and has the kinds of spells Ivan would often cast in his base class. When he equips Mercury djinn, he gets higher PP and higher Luck, and gets healing spells.
This is a very loose pattern, and because the copy-paste the whole class system for Team Felix, and again for Team Matthew and Team Sveta, we only have this rough look at how it's done for the original games.
The way I interpret this is simple - each character's stats have 7 ranks (re-calculated after experience skew). Each rank acts as a modifier to a character's base class stat multipliers. So:
For the sake of an example, let's assume that Talia's multipliers are:
And JupiterLad's ranks are:
So when she's in her Dual Symbiotic class, her new multipliers are:
In this way, her new class has stats augmented by JL's influence, allowing it to better do its job as a Protector.
This is very simple way of handling things, which I think is best for dual-element classes. However, Tri- and Tetra- element classes have influences from multiple characters, so they would require discussion to figure out how to handle it.
So, in this thread, we'll be:
Character Builder XLSX file
Google Docs version
There's a few steps to this topic. First is how Golden Sun assigned stats. In the GS games, characters had different stat targets for level 0, 19, 39, 59, 79, and 99. To simplify things, only the level 0 and 99 stats will be looked at, and linear growth rates will be assumed. Each character has an individual value for these stat targets, but as we don't have Camelot's methods, the best we can do is try and reverse engineer. We'll look at the max and min values of each stat, as well as ratios between related stats (health/energy, offense/defense), as well as the median, average, the range, and two approaches to viewing the ratio of values (Max/Min, Range/Max).
Here's the max values for all the characters (XP values unknown for DD characters at the time of the derivation):
![](https://i.imgur.com/TaPXvVx.png)
Here are the min values (DD characters excluded due to lack of data at the time of derivation):
![](https://i.imgur.com/aiJs7sz.png)
The idea was to take the data, and try to create stable ratios based on the above data. The simpler the ratios and values, the better. What we care about here are the max and min possible values, and the difference between them only (characters fall within the range). What I came up with was:
Lv0 Health/Energy ratio is 1.5
Lv0 Attack/Defense ratio is 1.5
Ranges are: 12 Health, 8 Energy, 6 Attack, 4 Defense.
Min Values are: 24 Health, 16 Energy, 6 Attack, 4 Defense.
Speed and Luck discussed later, separately.
Lv100 values followed a different set:
Lv100 Health/Energy ratio is 3
Lv100 Attack/Defense ratio is 2.2
Ranges are: 150 Health, 50 Energy, 66 Attack, 30 Defense
The Median/Advanced values were used as the basis for mid-point values here, with max and min splitting the difference.
The specific values are listed below:
![](https://i.imgur.com/iC9zefZ.png)
And here's a comparison to the GS games. Note that L100 GS Luck values are based on end-game non-boss enemies, as characters don't grow in luck at level up. L100 Agility values are based on 1/20th of the values from GS, as a rough equivalency.
![](https://i.imgur.com/Ud6UZwj.png)
For the sake of Project Flint's Casting and Warding stats, the values for Attack and Defense are duplicated for the sake of simplicity.
So, what does all this data mean? Basically, it's a lot of spreadsheet and data to say "this is a rough range that imitates Golden Sun's values and ranges using nice values". The tricky part is Agility and Luck, which in our discussions on discord we likely will change from how GS does things.
First is Agility. Golden Sun uses rather high values, with numbers being 1-8% higher than attack value, with the sole function of... determining turn order. Something that could easily be done with lower values - there's little reason for Agility to be a triple digit number at all. As a result, the idea is to have it be a two digit value. The easiest approach is "GS values divided by ten", but another approach (the one used here) is to give it a similar value range to Luck.
In GS, luck starts as one of 4 values. Looking at just the GS1 cast, we can roughly say:
Protector has 2 luck
Attacker has 3 luck
Controller has 4 luck
Healer has 5 luck
Edit: New values based on discussions in design, most credit goes to Taz:
Attacker has 2 luck
Protector has 3 luck
Healer has 4 luck
Controller has 5 luck
We can do a similar assignment based on the importance of agility with these roles:
Protector gets 2 agility
Healer gets 3 agility
Attacker gets 4 agility
Controller gets 5 agility
Edit: New values based on discussions in design, most credit goes to Taz:
Protector gets 2 agility
Healer gets 3 agility
Controller gets 4 agility
Attacker gets 5 agility
Form here, we have two approaches. We can take end-game values for monsters and have that be the final targets, or we can declare them "Mid-targets", as the end-game enemies range from levels 40-45. By marking it at 50, we could double the differences between these values to attain Level 100 values. However, given the luck gains from djinn and class multipliers, my gut reaction was to use them as max values, thus my using those values.
As far as assigning base Level 0 values for other characters, the method is to start with min values, then add points based on the character's Training and Role. Training focuses on physical or magical stats, while Role focuses on which values get boosted. For example, an attacker gains more offenses than defenses.
Training gains:
Health | Energy | Attack | Defense | Casting | Warding | |
Physical | +4 | +0 | +3 | +2 | +0 | +0 |
Magical | +0 | +5 | +0 | +0 | +3 | +2 |
Role Gains (Attack, Defense, Casting, and Warding values based on Physical/Magical training):
Health | Energy | Attack | Defense | Casting | Warding | |
Striker | +5 | +1 | +3/0 | +0/0 | +0/3 | +0/0 |
Protector | +8 | +0 | +2/0 | +2/0 | +0/2 | +0/2 |
Controller | +0 | +3 | +1/0 | +0/0 | +0/1 | +0/0 |
Supporter | +2 | +2 | +0/0 | +1/0 | +0/0 | +0/1 |
So what does this mean for final values? Nothing at all. While base values are based on their initial training and role, we pick the final targets separately. I use a rank system - 16 ranks from F to S (F, E-, E, E+, D-, D, D+, C-, C, C+, B-, B, B+, A-, A, A+, and S). F and S correspond to the min and max values, and C is the average value. Six of the core stats (Health, Energy, Attack, Defense, Casting, Warding) must average to a C, while the auxiliary stats of Agility and Luck are independent of the two, instead being a modifier to experience.
Experience is set to seven values - Fastest, Faster, Fast, Normal, Slow, Slower, and Slowest. Fastest and Slowest don't correspond with the min and max values but aren't too far from it, while Normal is the average value. Faster growths will skew final stats a little lower, while slower growths skew final stats a little higher. These have more affect on middle values (ex: Bs and Ds), and none at all to extreme values (if one rank is S, it is guaranteed to be max regardless of experience modifier). There are minor effects based on how far from average the luck and agility values are as well (higher has a minor increase in max XP, while lower has a minor decrease). Max XP value corresponds with Slowest Growth with S rank in Luck and Agility. Min XP value corresponds with Fastest Growth with F rank in Luck and Agility.
As for growth rates? It's simple linear growth from min to max. This means that yes, it's technically possible for us to have someone who has the minimum possible value in a stat at level 0, but the maximum value at level 100, having the highest growth rate for that stat possible. Possible, but not likely.
This method may seem crazy complex, but it's pretty simple in the end. The most complicated part was the reverse engineering, honestly.
This brings us to classes. In the first GS game - The Broken Seal - base class multipliers were roughly based on the character's innate stats. When changing to dual-element classes, for the most parts the pattern is to adopt what other adepts do:
Isaac has a Striker based class, high HP and high Attack
Garet has a Protector based class, high HP and high Defense
Ivan has a Controller based class, high PP and high Agility
Mia has a Supporter based class, high PP and high Luck
So when Isaac equips jupiter djinn, his new class has higher PP, higher Agility, and has the kinds of spells Ivan would often cast in his base class. When he equips Mercury djinn, he gets higher PP and higher Luck, and gets healing spells.
This is a very loose pattern, and because the copy-paste the whole class system for Team Felix, and again for Team Matthew and Team Sveta, we only have this rough look at how it's done for the original games.
The way I interpret this is simple - each character's stats have 7 ranks (re-calculated after experience skew). Each rank acts as a modifier to a character's base class stat multipliers. So:
S | A | B | C | D | E | F | |
Modifier | +15% | +10% | +5% | No change | -5% | -10% | -15% |
For the sake of an example, let's assume that Talia's multipliers are:
HP | EN | Atk | Def | Cst | Wrd | Agl | Luk | |
Trader Tier 1 | 90% | 120% | 95% | 90% | 110% | 110% | 110% | 100% |
And JupiterLad's ranks are:
HP | EN | Atk | Def | Cst | Wrd | Agl | Luk | |
JL's Ranks | A | E | C | B | E | C | E | B |
So when she's in her Dual Symbiotic class, her new multipliers are:
HP | EN | Atk | Def | Cst | Wrd | Agl | Luk | |
Interceder Tier 1 | 100% | 110% | 95% | 95% | 100% | 110% | 100% | 105% |
In this way, her new class has stats augmented by JL's influence, allowing it to better do its job as a Protector.
This is very simple way of handling things, which I think is best for dual-element classes. However, Tri- and Tetra- element classes have influences from multiple characters, so they would require discussion to figure out how to handle it.
So, in this thread, we'll be:
- Discussing the ranges that we'll be working in, and how to approach Agility and Luck
- Discussing the method for creating base classes and Dual classes, and if they should be adjusted
- Discussing how to approach Tri- and Tetra- element classes.