• Guest, we are doing a new map (refresh) for Herocraft. Gather your friends and get ready! Coming next Friday, 06/28/24 @ 7PM CT play.hc.to
    Read up on the guides and new systems! Here.
    View the LIVE Map here @ hc.to/map
    Stuck or have a problem? use "/pe create" to to open a ticket with staff (There are some known issues and other hotfixes we will be pushing asap)
  • Guest, Make sure to use our LAUNCHER! Read more here!

On class design.

Dewyn

Retired Staff
Joined
Oct 23, 2014
Location
dewyn#2005
been OOTL for a few years now but a couple of old friends gave me the heads-up that this place was attempting a redo and, to my total lack of surprise, most of the classes are fundamentally unchanged and the majority of the skills are the same shit I remember from 2015.

I'm not going to go too much into detail about how most of the classes are just cobbled together from individual skills that are 6+ years old and tweaked slightly to match the "theme" of the class (e.g. giving Druid a renamed version of ChaoticVisions with absolutely zero other changes). I'll just explain how I design classes, since people always seem to like my designs.

Some groundwork for what you need to consider:
  • Complexity: How difficult a class is to comprehend and play at a basic level. Complexity ties into the skill floor of a class - how good do you need to be before you can use it at all?
  • Depth: How complex a class has the potential to be. Depth ties into the skill ceiling of a class - at what point does continuing to hone your skills become moot?
  • Interplay: The degree to which a class's abilities synergize or otherwise interact with one another. Some existing classes do this on a very basic level, e.g. entangle -> bolt. Not every ability necessarily needs high interplay, but as a general rule, I try to make sure every part of a class's kit fits into the rest of that kit in some way or another.
  • Counterplay: The degree to which abilities can be skillfully outplayed/played into by other players. A very basic example of counterplay is being able to interrupt the warmup of a powerful ability.
  • Role: What does the class do on a fundamental level? Is it a sturdy melee fighter? A fragile spellcaster with high damage output?
  • Specialization: How does the class fulfill its role in a unique way? What would draw a player to that particular class given other options within the role? Existing classes sort of manage to make this distinction already, but it's clumsy and there's overlap (e.g giving Beguiler a bunch of burst damage skills when its role seems like it should be CC-based). I'm not saying there can't be overlap at all, but I'm talking "these classes have some of the exact same skills" here. Don't do that.
  • Theme/Identity: What is the class based on? What does it revolve around? Pyromancer in particular seems to be having an identity crisis; it poses as some sort of caster-melee hybrid with a focus on fire, but for whatever reason it can shoot a wither skull and its other abilities may or may not actually tie into melee combat. And no, I don't count a fire tornado with the potential for some CC as "synergy".
  • Rewarding skillful play: A huge problem I've always had with HC was targeted abilities. Sometimes this is fine; basic healing abilities come to mind. Most of the time, it is not; there is no skill involved in mashing the button for Entangle until you get a free root. Inflicting harmful status effects, gaining beneficial ones, and dealing large amounts of damage should be the results of skill. On a very basic level, using skillshots/ground targets rather than targeted abilities accomplishes this. Replacing Entangle with a ground-target that leaves a rooting field (think a field of vines springing up, or some shit) would make players think carefully rather than spamming commands in an opponent's general direction.
  • Consistency: Don't give your classes different amounts of abilities! Being able to do large amounts of damage with melee weapons doesn't mean you should strip away a class's abilities, it just means you should design its abilities with that high melee damage in mind. I noticed that the classes on the current testing server have this issue; Samurai has next to nothing going for it, while the casters have quite a few abilities at their disposal. It's entirely possible and well within reason to keep your designs consistent across archetypes.
  • Other notes: Not every class needs to be a PvP or PvE jack of all trades. It's okay for one class to inherently counter another due to their abilities matching up poorly.
One of the first classes I designed back in 2017 was similar to Dragoon in terms of "warrior with lots of mobility". Applying these principles, I was able to stick to the general concept and keep its ability set simple while raising the skill ceiling and rewarding high-skill play in a way that didn't involve sticking to someone, mashing left mouse, and spamming every damaging ability you were able to.

A brief overview:
  • Passive: Sneaking midair would slow your fall.
  • Ability 1: Close-range slash attack that inflicted knockup.
  • Ability 2: Horizontal dash ability that would deal bonus damage and knockback to airborne targets.
  • Ability 3: Projectile deflect/melee parry that would disorient the first person to hit you. Not a particularly great ability.
  • Ability 4: Leap. Pretty much the same as Jump, but dealt a small amount of damage + knockup to targets you landed on, scaling with fall distance.
  • Ability 5: A skillshot that, if hit, would pull a target to your location after a small delay.
  • Ability 6 (Ult): Some anime shit where you would levitate everything around you and hit it with a dash attack midair.
This is very clearly not the pinnacle of class design; abilities 3 and 6 in particular were sort of just...there. The other abilities, however, worked together in a way I hadn't really been expecting - aside from the obvious 1 + 2 slash-and-dash combo, there was also the combo of 4 + 5 + the passive, whereby the player could leap into the air as they cast the skillshot pull and drag the target up into the air with them. At the apex of the jump, they could use the passive to ensure the target hit the ground first, then fall on top of them to take advantage of the damage and knockup from the landing. Between that and the physical control from its other abilities, a good player could effectively juggle and kite their opponent while still dealing melee damage.

As someone who played a fair amount of Dragoon, I can honestly say it was much more mechanically satisfying to play this new class - it felt as if it was focused on the concept of being in the air rather than having a jump alongside a fairly standard "warrior" style kit.

Here's a general outline of how I design classes, using a fairly generic concept as an example.
  1. Start with an identity and a role. This often begins with a thought along the lines of "what if we had a frost mage [henceforth x]?".
  2. Narrow that class's function down to separate it from other classes in its role. "x does large amounts of burst damage. What makes it different from y, which also does large amounts of burst damage?" This can be as simple as differing playstyles; if y involves a hit-and-run playstyle with burst damage on its abilities, then x can (for example) involve a playstyle that rewards staying in combat.
  3. Outline a very low-level list of concepts related to what that identity is capable of. "x is themed around being a frost mage, so it should be focused around slows and freeze effects that come from cold-related abilities. Off the top of my head: icicle projectile, flash freeze, ice block, avalanche, etc."
    1. Something I personally like to do is create classes that revolve around a mechanic enabled by a passive ability. In designing a pyromancer at one point, I decided that it should be able to inflict extremely high damage on crowds; in order to do this without making its abilities deal excessive base damage, I wrote a passive whereby its abilities dealt reduced damage to a single target, with each successive or additional target resulting in additional damage. This meant that the class could obliterate large quantities of adds with ease while keeping its single-target damage lower than other DPS classes to compensate.
    2. Writing that passive actually involved modifying the entire casting/targeting system in order to be able to "scope out" an ability's potential targets/effects and write metadata to individual ability casts, which brings me to this: don't be afraid to push the limits of what you think is possible in your designs! In my case, I was working with my own plugin (for those of you who know me, yes, I wrote another RPG plugin, albeit with 4 more years of experience under my belt than the last time), so I had the ability to just add functionality to the core as needed - but pretty much any design you can think of is possible, including separate balancing for PvE and PvP. You can even use custom models and "entities" if you're willing to do the necessary hackjobs, but it's a pain in the ass.
  4. Design an ability or two as an "anchor" for the class's kit. "x's staple ability will be an icicle projectile to ensure it has a consistent source of damage and slows in combat. This consistency lines up with the notion that the class should be rewarded for being able to stay in the fight rather than kite."
  5. Branch out from that ability based on identity, role and specialization. This is where creativity starts to really come into play. You don't necessarily need to constantly pull completely original concepts out of thin air, but you do need to be able to twist what you do come up with so that it falls in line with what you're designing. Keep the functionality basic for now.
    1. Repeat this until you've developed a set of abilities.
  6. Refine what you have. Create interplay. Our hypothetical frost mage is defensively oriented. Say it has a passive whereby ability damage it inflicts slows targets by 10%, stacking up to 40%. It has an icicle projectile. Off the top of my head, we'll also give it an ice block where it can regain some health at the cost of being immobile for a brief period, an "ice mirror" that can reflect projectiles (tip: don't use minecraft's projectiles, they're shit) if timed properly, a close-range cone of cold (which I totally just ripped from HOTS), maybe some frost armor (melee damage mitigation + chill melee attackers), and some kind of flash-freeze stalagmite. Is this particularly creative? No, I came up with it in the span of two minutes for this post. Does it work for this example? Yes.
    1. No ability should be so specialized as to only find use in certain scenarios - generalize or expand functionality. The "ice mirror" has a single, isolated function and is quite literally useless when facing off against opponents that don't use projectiles. What if we expanded its functionality and gave it a special effect when used during ice block? Maybe casting it during ice block causes you to exit the state and freeze all nearby targets with maximum slow stacks from your other abilities. There's a cost, of course; you use extra mana and now your reflect is on cooldown.
    2. Think about mechanical interplay. Since the cone attack will be fairly easy to hit, maybe it can be used as a setup tool? Hitting a target that isn't slowed by your abilities could apply two stacks instead of one, allowing for an easier follow-up with projectiles. This isn't strictly technical, but it's still effective.
    3. Ensure powerful abilities require skilled play to get the most from. Sure, you could make that ice spike ability hit like a truck, but that would turn it into a one-off that stands isolated from the rest of the kit. Reward setting up using the rest of the class's kit first. Give it a warmup time that makes a strong slow/freeze useful for ensuring you hit, increase damage against frozen targets, etc.
"Hey, why are you writing this?" you might ask. It's for the benefit of anyone interested in game development/design. HC was what got me into it in the first place, and I'm sure I'm far from the only person to come through here with an interest in game dev. That's pretty much it.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
@Dewyn
So looking back 10 years ago, really outlines the path we took and the struggles and very real feats that we accomplished.

We created a framework of an RPG system that never existed before and did it by scratch. This took a lot of the focus and energy and we never really looked into the design aspect of things as hard as we could because features were flying out so quickly.

I like a lot of this, are you wanting to assist the team with implementation?
 
Last edited:

Dewyn

Retired Staff
Joined
Oct 23, 2014
Location
dewyn#2005
@Dewyn
So looking back 10 years ago, really outlines the path we took and the struggles and very real feats that we accomplished.

Heroes was pretty revolutionary at its inception, especially considering Bukkit's API. Spigot can now easily handle things that ten years ago required a substantial amount of NMS knowledge just to hack together.

We created a framework of an RPG system that never existed before and did it by scratch. This took a lot of the focus and energy and we never really looked into the design aspect of things as hard as we could because features were flying out so quickly.

I can also see this being an issue; just wanting something to work is oftentimes more pressing than wanting to stop coding and ensure you have a solid design. It was an effort to sit down and draw up concrete design plans for the game I'm working on before sitting down to code - I just wanted to see some progress.

I like a lot of this, are you wanting to assist the team with implementation?

And herein lies the impasse. The part of me that enjoyed (and would still enjoy) playing on Herocraft back in 2014 wants to say yes. The part of me that has had IntelliJ open for four days is raising multiple concerns about workflow. The part of me that is a college senior looking to start working wants to be paid. Loudest of all is the part of me that just wants to figure out what people enjoyed about Herocraft during its heyday and devise a way to reimplement that in a modern context to appeal to a new playerbase (since - let's face it - pretty much everyone still around is an adult now, and most of us no longer have the time to play like we used to, myself included. it actually took me 3 days just to find the time to sit and write this out lmao).

I'm going to have to decline. To put it as bluntly as possible, every reboot past has more or less flopped (if they hadn't, there wouldn't be a need for more reboots). Unless there's a massive influx of new players and enough internal restructuring to make Murray Energy blush, I don't want to put in time and effort only for things to die a month later.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
Heroes was pretty revolutionary at its inception, especially considering Bukkit's API. Spigot can now easily handle things that ten years ago required a substantial amount of NMS knowledge just to hack together.



I can also see this being an issue; just wanting something to work is oftentimes more pressing than wanting to stop coding and ensure you have a solid design. It was an effort to sit down and draw up concrete design plans for the game I'm working on before sitting down to code - I just wanted to see some progress.



And herein lies the impasse. The part of me that enjoyed (and would still enjoy) playing on Herocraft back in 2014 wants to say yes. The part of me that has had IntelliJ open for four days is raising multiple concerns about workflow. The part of me that is a college senior looking to start working wants to be paid. Loudest of all is the part of me that just wants to figure out what people enjoyed about Herocraft during its heyday and devise a way to reimplement that in a modern context to appeal to a new playerbase (since - let's face it - pretty much everyone still around is an adult now, and most of us no longer have the time to play like we used to, myself included. it actually took me 3 days just to find the time to sit and write this out lmao).

I'm going to have to decline. To put it as bluntly as possible, every reboot past has more or less flopped (if they hadn't, there wouldn't be a need for more reboots). Unless there's a massive influx of new players and enough internal restructuring to make Murray Energy blush, I don't want to put in time and effort only for things to die a month later.
Completely understand.

Though writing up class design wouldnt take too much time ;)

A lot of people have pretty high paying jobs after working/volunteering at Herocraft. Hell, even the job I have now is in part because of my time spent with this community. It's always been a passion project. Even if no one was playing it, I would still enjoy developing and designing things
 

Dewyn

Retired Staff
Joined
Oct 23, 2014
Location
dewyn#2005
Completely understand.

Though writing up class design wouldnt take too much time ;)

A lot of people have pretty high paying jobs after working/volunteering at Herocraft. Hell, even the job I have now is in part because of my time spent with this community. It's always been a passion project. Even if no one was playing it, I would still enjoy developing and designing things

If we're talking just writeups and design, I'd be glad to do so. It's the coding part I'm not keen on ("implementation" is what caught my eye in your previous response).

I'm at a point in my life right now where the main "passion project" I'm working on is less of a true passion project than it is something I'm planning to sell or, at the very least, put on my resume. Trying to get started in CS is shit.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
If we're talking just writeups and design, I'd be glad to do so. It's the coding part I'm not keen on ("implementation" is what caught my eye in your previous response).

I'm at a point in my life right now where the main "passion project" I'm working on is less of a true passion project than it is something I'm planning to sell or, at the very least, put on my resume. Trying to get started in CS is shit.
Work with HC and we can definitely have you add it to your resume as volunteer/free lance too... sometimes all devs need is experience to land that big job

There is a very real issue of not having a lot of people play on the remaster and so we wanna make sure we're giving it our best and also advertising
@NuclearCouch <<<<
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
If we're talking just writeups and design, I'd be glad to do so. It's the coding part I'm not keen on ("implementation" is what caught my eye in your previous response).

I'm at a point in my life right now where the main "passion project" I'm working on is less of a true passion project than it is something I'm planning to sell or, at the very least, put on my resume. Trying to get started in CS is shit.
Also I could see you writing up class design and then we would slowly work on it with the dev / people we have. Wouldnt worry much about the coding/implementation part, a lot of times all devs need is a good solid design doc
 

Ultanian

Portal
Joined
May 28, 2013
back on the forums readin stuff and really eye opening about class design

reading those abilities really giving me Yasuo vibes
 

Delta788

Staff member
Community Manager
Administrator
Max Legacy Supporter
Joined
Aug 10, 2011
I love this concept of class/skill creation! definitely noted and will be used in the near future!
 

Plagiarizing

Stone
Joined
Aug 19, 2021
Location
United States
Honestly love this idea, I've played so many different Heroes based minecraft servers. Along with that I've played Tons of MMORPG games currently still play Wow. I think one thing I've noticed problem wise with some of the heroes servers is instead of creating their own unique classes they kind of base their classes off of a class from another game(Not saying it does but the one in the thread that you said reminded me of yasuo) I think there should be easy classes for your Casual player( e.g. Left click bashing) But I also think there should be classes with that High skill cap ceiling. Abilities should be more of a skill shot/combo sort of build and should be tested by people who can recognize the potential of that class. Things with a high skill ceiling means that there's room to grow which means that people would have more reason to stick to one class for a longer period of time. I also hope you guys can add some sort of arena gameplay to the game with rewards(tons of rewards are possible: In game currency, titles, cosmetics, Experience(for alts). I'm a firm believer that Heroes generally makes the PVP aspect a WHOLE LOT more fun in Minecraft it turns the basic combat system into a more advanced combat system in a sandbox game that's really fun for its raiding. I think there are two ways you can make a class have a higher skill cap ceiling and that's through CC or through Self healing. Depending on the direction that the server goes this time around should depend on what type of classes you create I think there should be classes based more around Solo that for team PVP because generally speaking Healers will always perform very well solo but below average in Solo(This isn't always the case). Classes that have to actually Kite & use abilities should have far more reward for landing their abilities over a class that can hit you 3 times with a left click to apply the same amount of damage. Just my thoughts but would definitely love to see some classes redesigned and some new classes wish I knew how to code because I'd love to throw some classes & abilities at yall but im always more than enthusiastic to help test classes in a PVP State(sorry but the PVE in minecraft is far too boring and lackluster in content for somebody to want to do that for a long long period of time besides theres already servers out there that have classes with an extremely advanced PVE system that itd be too much time and effort to match. which is why I think the general population of Herocraft enjoyed herocraft for the PVP.) An arena system should be added with rewards, people should be highly rewarded for PVP but that's just my thought.
 

Weikauno

Coder
Joined
Dec 26, 2012
First off, awesome outline for class design. Excited to see what the HC team will come up with in the near future.

I'd like to add a comment on overall balance and how the balance team might approach building skills in the combat sandbox when reworking the classes.

There are generally 3 aspects that dictate the flow of FPS combat: Movement, Aimskill, and Augments.

1. Movement includes positioning, strafing, dodging, etc. and tests the decision-making skills/rhythm of the player.
2. Aimskill is mouse tracking, and tests the mechanical accuracy of the player.
3. Augments are all items and skills that apply a buff or debuff, and test the player's ability to effectively take advantage of an opponent's weaknesses/play to their own strengths.

These 3 aspects can be manipulated with 5 types of "use factors" for each heroes skill.

These are:
potency of use(damage/distance)
synergy of use(buffs/debuffs)
frequency of use(cooldowns/mana)
ease of use(AoE)
safety of use(range/charge time)


Potency, synergy and frequency of use affect the time-to-kill(TTK), while frequency, ease and safety of use affect the risk of the skill.


Each skill could be given a rating 1-10(1-5 for frequency) for each of the factors to accurately show the role of the skill, and it's strengths and weaknesses.


The frequency factor could determine how many points the skill could have total, possibly something like this.
Frequency(F) point chart:
F1:30
F2:25
F3:20
F4:15
F5:10
(F5 = highest frequency, F1 = lowest)

The frequency rating would be the average of 2 sub-factors divided by 2 rounded down, cooldown and mana cost ratings 1-10.
Cooldown(C) ratings:
C1: 22.5-25s+
C2: 20-22.5s
C3: 17.5-20s
C4: 15-17.5s
C5: 12.5-15s
...
C10: 1-2.5s

Mana(M) ratings:
M1: 45-50%+
M2: 40-45%
M3: 35-40%
M4: 30-35%
...
M10: 0-5%


Disclaimer: The numbers for potency will determine the average time-to-kill, so once we agree on TTK, we can finalize/change numbers here.
Potency(P) damage/distance(movement) ratings might work like this:
P1: 20dmg, 5m
P2: 40dmg, 10m
P3: 60dmg, 15m
...
P10: 200dmg, 50m
p.s. if a skill is a movement skill that does damage, add the corresponding damage and distance points together(i.e. skill does 60 damage and moves you 10m, would be P3 + P2 = P5)



Ease(E) AoE rating:
E1: direct hit needed
E2: 1.5m diameter
E3: 2m diameter
...
E10: 5m diameter



Safety(Sa) range/charge time rating:
(SaR + SaC)/2
SaR1: 5m
SaR2: 10m
SaR3: 15m
...
SaR10: 50m+

SaC1: 5s
SaC2: 4.5s
SaC3: 4s
...
SaC10: 0.5s-0s



Synergy(Sy) buff/debuff rating:
Sy1: 1.25%
Sy2: 2.5%
Sy3: 3.75%
...
Sy10: 12.5%
p.s. special status effects that don't necessarily have a percentage involved will just have to rely on playtesting alone to find their Sy rating. These effects are often the most fun and most broken, i.e. berserker's old bleed/rupture skill that made targets take damage based on the distance traveled during the debuff.



These ratings could be used as a baseline for the balance of a class by totaling each of the factors separately. The totals would reflect the focus/playstyle of the class if it was balanced correctly, i.e. a melee class focused on mobility and high burst damage would have high ratings in potency and synergy, and lower ratings in safety, ease of use and frequency.



Here's an example of a skill configured/rated with the 5 use factors.

Skill Fireball:
F:4 (7.5% mana, 6s cd)
P:4 (80dmg)
E:1 (direct hit)
Sa:10 (50m, 0s)
Sy:0
 

werwew19

Coder
Balance Team
Legacy Supporter 6
Joined
Apr 10, 2012
Location
United States
First off, awesome outline for class design. Excited to see what the HC team will come up with in the near future.

I'd like to add a comment on overall balance and how the balance team might approach building skills in the combat sandbox when reworking the classes.

There are generally 3 aspects that dictate the flow of FPS combat: Movement, Aimskill, and Augments.

1. Movement includes positioning, strafing, dodging, etc. and tests the decision-making skills/rhythm of the player.
2. Aimskill is mouse tracking, and tests the mechanical accuracy of the player.
3. Augments are all items and skills that apply a buff or debuff, and test the player's ability to effectively take advantage of an opponent's weaknesses/play to their own strengths.

These 3 aspects can be manipulated with 5 types of "use factors" for each heroes skill.

These are:
potency of use(damage/distance)
synergy of use(buffs/debuffs)
frequency of use(cooldowns/mana)
ease of use(AoE)
safety of use(range/charge time)


Potency, synergy and frequency of use affect the time-to-kill(TTK), while frequency, ease and safety of use affect the risk of the skill.


Each skill could be given a rating 1-10(1-5 for frequency) for each of the factors to accurately show the role of the skill, and it's strengths and weaknesses.


The frequency factor could determine how many points the skill could have total, possibly something like this.
Frequency(F) point chart:
F1:30
F2:25
F3:20
F4:15
F5:10
(F5 = highest frequency, F1 = lowest)

The frequency rating would be the average of 2 sub-factors divided by 2 rounded down, cooldown and mana cost ratings 1-10.
Cooldown(C) ratings:
C1: 22.5-25s+
C2: 20-22.5s
C3: 17.5-20s
C4: 15-17.5s
C5: 12.5-15s
...
C10: 1-2.5s

Mana(M) ratings:
M1: 45-50%+
M2: 40-45%
M3: 35-40%
M4: 30-35%
...
M10: 0-5%


Disclaimer: The numbers for potency will determine the average time-to-kill, so once we agree on TTK, we can finalize/change numbers here.
Potency(P) damage/distance(movement) ratings might work like this:
P1: 20dmg, 5m
P2: 40dmg, 10m
P3: 60dmg, 15m
...
P10: 200dmg, 50m
p.s. if a skill is a movement skill that does damage, add the corresponding damage and distance points together(i.e. skill does 60 damage and moves you 10m, would be P3 + P2 = P5)



Ease(E) AoE rating:
E1: direct hit needed
E2: 1.5m diameter
E3: 2m diameter
...
E10: 5m diameter



Safety(Sa) range/charge time rating:
(SaR + SaC)/2
SaR1: 5m
SaR2: 10m
SaR3: 15m
...
SaR10: 50m+

SaC1: 5s
SaC2: 4.5s
SaC3: 4s
...
SaC10: 0.5s-0s



Synergy(Sy) buff/debuff rating:
Sy1: 1.25%
Sy2: 2.5%
Sy3: 3.75%
...
Sy10: 12.5%
p.s. special status effects that don't necessarily have a percentage involved will just have to rely on playtesting alone to find their Sy rating. These effects are often the most fun and most broken, i.e. berserker's old bleed/rupture skill that made targets take damage based on the distance traveled during the debuff.



These ratings could be used as a baseline for the balance of a class by totaling each of the factors separately. The totals would reflect the focus/playstyle of the class if it was balanced correctly, i.e. a melee class focused on mobility and high burst damage would have high ratings in potency and synergy, and lower ratings in safety, ease of use and frequency.



Here's an example of a skill configured/rated with the 5 use factors.

Skill Fireball:
F:4 (7.5% mana, 6s cd)
P:4 (80dmg)
E:1 (direct hit)
Sa:10 (50m, 0s)
Sy:0
Very interesting write up I learned a lot from this
 
Joined
Aug 24, 2021
Location
USA EST Timezone
First off, awesome outline for class design. Excited to see what the HC team will come up with in the near future.

I'd like to add a comment on overall balance and how the balance team might approach building skills in the combat sandbox when reworking the classes.

There are generally 3 aspects that dictate the flow of FPS combat: Movement, Aimskill, and Augments.

1. Movement includes positioning, strafing, dodging, etc. and tests the decision-making skills/rhythm of the player.
2. Aimskill is mouse tracking, and tests the mechanical accuracy of the player.
3. Augments are all items and skills that apply a buff or debuff, and test the player's ability to effectively take advantage of an opponent's weaknesses/play to their own strengths.

These 3 aspects can be manipulated with 5 types of "use factors" for each heroes skill.

These are:
potency of use(damage/distance)
synergy of use(buffs/debuffs)
frequency of use(cooldowns/mana)
ease of use(AoE)
safety of use(range/charge time)


Potency, synergy and frequency of use affect the time-to-kill(TTK), while frequency, ease and safety of use affect the risk of the skill.


Each skill could be given a rating 1-10(1-5 for frequency) for each of the factors to accurately show the role of the skill, and it's strengths and weaknesses.


The frequency factor could determine how many points the skill could have total, possibly something like this.
Frequency(F) point chart:
F1:30
F2:25
F3:20
F4:15
F5:10
(F5 = highest frequency, F1 = lowest)

The frequency rating would be the average of 2 sub-factors divided by 2 rounded down, cooldown and mana cost ratings 1-10.
Cooldown(C) ratings:
C1: 22.5-25s+
C2: 20-22.5s
C3: 17.5-20s
C4: 15-17.5s
C5: 12.5-15s
...
C10: 1-2.5s

Mana(M) ratings:
M1: 45-50%+
M2: 40-45%
M3: 35-40%
M4: 30-35%
...
M10: 0-5%


Disclaimer: The numbers for potency will determine the average time-to-kill, so once we agree on TTK, we can finalize/change numbers here.
Potency(P) damage/distance(movement) ratings might work like this:
P1: 20dmg, 5m
P2: 40dmg, 10m
P3: 60dmg, 15m
...
P10: 200dmg, 50m
p.s. if a skill is a movement skill that does damage, add the corresponding damage and distance points together(i.e. skill does 60 damage and moves you 10m, would be P3 + P2 = P5)



Ease(E) AoE rating:
E1: direct hit needed
E2: 1.5m diameter
E3: 2m diameter
...
E10: 5m diameter



Safety(Sa) range/charge time rating:
(SaR + SaC)/2
SaR1: 5m
SaR2: 10m
SaR3: 15m
...
SaR10: 50m+

SaC1: 5s
SaC2: 4.5s
SaC3: 4s
...
SaC10: 0.5s-0s



Synergy(Sy) buff/debuff rating:
Sy1: 1.25%
Sy2: 2.5%
Sy3: 3.75%
...
Sy10: 12.5%
p.s. special status effects that don't necessarily have a percentage involved will just have to rely on playtesting alone to find their Sy rating. These effects are often the most fun and most broken, i.e. berserker's old bleed/rupture skill that made targets take damage based on the distance traveled during the debuff.



These ratings could be used as a baseline for the balance of a class by totaling each of the factors separately. The totals would reflect the focus/playstyle of the class if it was balanced correctly, i.e. a melee class focused on mobility and high burst damage would have high ratings in potency and synergy, and lower ratings in safety, ease of use and frequency.



Here's an example of a skill configured/rated with the 5 use factors.

Skill Fireball:
F:4 (7.5% mana, 6s cd)
P:4 (80dmg)
E:1 (direct hit)
Sa:10 (50m, 0s)
Sy:0
Personally I like to approach class balance from a mechanics/strategical point of view, as well as feel, and I also think asking skilled pvpers about matchups is honestly was better for getting a good idea of class balancing. I know mortir and earlfinesse (plagiarizing on the forum) do a lot of combat testing and they have a very good view of how things are for sure combat-wise and balance-wise. Also I'd like to point out something that you said about the "FPS" aspect; movement, aimskill, and augment. While the first 2 aspects are true about first person combat, I'm not too sure how... augments are a general factor in FPS combat. I'd like to say that I don't think augments are universally purely "buff" or "debuff" oriented, correct me if I'm wrong. I'd also like to add in that Minecraft vanilla combat is not purely just movement and aimskill, there's certain mechanics that dictate how it works, yes? Knockback, reach, comboing, cps, I presume these are things you're familiar with in the world of vanilla minecraft pvp, and as a result of these aspects, the base form of combat, left clicking, is a lot more dimensional than just.... those 3 things, I'd like to say. And it matters too because melee classes are a very stark contrast to the caster classes. Just some thought... im a little hesitant to approach this subject in a formulaic manner, tbh. But I liked your post and how you set up those parameters.
 

Weikauno

Coder
Joined
Dec 26, 2012
Personally I like to approach class balance from a mechanics/strategical point of view, as well as feel, and I also think asking skilled pvpers about matchups is honestly was better for getting a good idea of class balancing. I know mortir and earlfinesse (plagiarizing on the forum) do a lot of combat testing and they have a very good view of how things are for sure combat-wise and balance-wise. Also I'd like to point out something that you said about the "FPS" aspect; movement, aimskill, and augment. While the first 2 aspects are true about first person combat, I'm not too sure how... augments are a general factor in FPS combat. I'd like to say that I don't think augments are universally purely "buff" or "debuff" oriented, correct me if I'm wrong. I'd also like to add in that Minecraft vanilla combat is not purely just movement and aimskill, there's certain mechanics that dictate how it works, yes? Knockback, reach, comboing, cps, I presume these are things you're familiar with in the world of vanilla minecraft pvp, and as a result of these aspects, the base form of combat, left clicking, is a lot more dimensional than just.... those 3 things, I'd like to say. And it matters too because melee classes are a very stark contrast to the caster classes. Just some thought... im a little hesitant to approach this subject in a formulaic manner, tbh. But I liked your post and how you set up those parameters.
Right, so the framework I outlined is a statistical analysis of each skill/skillset, obviously you still need things like playtesting, on-paper calculations are never the same as implementation. On "Augments", it's kind of a weird name I gave it, but in more conventional FPS this would be stuff like flash grenades, barbed wire, smokebombs etc., which would be debuffs, while things like consumable health or speed boosts would be buffs. Can't really think of any augments that would fall out of buff/debuff fundamentally. I think cps would fall under aimskill(I am including ability casting and left clicking in aimskill), knockback and reach under movement skill(different knockback/reach affects how you will move to approach the target) and comboing is just a term that describes a good use of all 3 of the aspects. Yes, it's an oversimplification, but that's the point, it helps break down exactly what is going on within each skill, so that it's easier to build/balance new classes or skillsets right out of the gate.
 

Weikauno

Coder
Joined
Dec 26, 2012
First off, awesome outline for class design. Excited to see what the HC team will come up with in the near future.

I'd like to add a comment on overall balance and how the balance team might approach building skills in the combat sandbox when reworking the classes.

There are generally 3 aspects that dictate the flow of FPS combat: Movement, Aimskill, and Augments.

1. Movement includes positioning, strafing, dodging, etc. and tests the decision-making skills/rhythm of the player.
2. Aimskill is mouse tracking, and tests the mechanical accuracy of the player.
3. Augments are all items and skills that apply a buff or debuff, and test the player's ability to effectively take advantage of an opponent's weaknesses/play to their own strengths.

These 3 aspects can be manipulated with 5 types of "use factors" for each heroes skill.

These are:
potency of use(damage/distance)
synergy of use(buffs/debuffs)
frequency of use(cooldowns/mana)
ease of use(AoE)
safety of use(range/charge time)


Potency, synergy and frequency of use affect the time-to-kill(TTK), while frequency, ease and safety of use affect the risk of the skill.


Each skill could be given a rating 1-10(1-5 for frequency) for each of the factors to accurately show the role of the skill, and it's strengths and weaknesses.


The frequency factor could determine how many points the skill could have total, possibly something like this.
Frequency(F) point chart:
F1:30
F2:25
F3:20
F4:15
F5:10
(F5 = highest frequency, F1 = lowest)

The frequency rating would be the average of 2 sub-factors divided by 2 rounded down, cooldown and mana cost ratings 1-10.
Cooldown(C) ratings:
C1: 22.5-25s+
C2: 20-22.5s
C3: 17.5-20s
C4: 15-17.5s
C5: 12.5-15s
...
C10: 1-2.5s

Mana(M) ratings:
M1: 45-50%+
M2: 40-45%
M3: 35-40%
M4: 30-35%
...
M10: 0-5%


Disclaimer: The numbers for potency will determine the average time-to-kill, so once we agree on TTK, we can finalize/change numbers here.
Potency(P) damage/distance(movement) ratings might work like this:
P1: 20dmg, 5m
P2: 40dmg, 10m
P3: 60dmg, 15m
...
P10: 200dmg, 50m
p.s. if a skill is a movement skill that does damage, add the corresponding damage and distance points together(i.e. skill does 60 damage and moves you 10m, would be P3 + P2 = P5)



Ease(E) AoE rating:
E1: direct hit needed
E2: 1.5m diameter
E3: 2m diameter
...
E10: 5m diameter



Safety(Sa) range/charge time rating:
(SaR + SaC)/2
SaR1: 5m
SaR2: 10m
SaR3: 15m
...
SaR10: 50m+

SaC1: 5s
SaC2: 4.5s
SaC3: 4s
...
SaC10: 0.5s-0s



Synergy(Sy) buff/debuff rating:
Sy1: 1.25%
Sy2: 2.5%
Sy3: 3.75%
...
Sy10: 12.5%
p.s. special status effects that don't necessarily have a percentage involved will just have to rely on playtesting alone to find their Sy rating. These effects are often the most fun and most broken, i.e. berserker's old bleed/rupture skill that made targets take damage based on the distance traveled during the debuff.



These ratings could be used as a baseline for the balance of a class by totaling each of the factors separately. The totals would reflect the focus/playstyle of the class if it was balanced correctly, i.e. a melee class focused on mobility and high burst damage would have high ratings in potency and synergy, and lower ratings in safety, ease of use and frequency.



Here's an example of a skill configured/rated with the 5 use factors.

Skill Fireball:
F:4 (7.5% mana, 6s cd)
P:4 (80dmg)
E:1 (direct hit)
Sa:10 (50m, 0s)
Sy:0
I just realized I forgot about duration, probably gonna add it to the frequency rating calculation, so (cooldown + mana + duration rating)/6 rounded up would give you the frequency, and I'd have to adjust the points for each frequency level. I'll make a spreadsheet of the system later if we want to use it, and we can tweak the numbers until it works the way we want it to.

edit: On second thought, duration definitely belongs in the Synergy stat.
 
Last edited:
Top