Creating Rpg Classes (math,concept)

Hey jme-com,
I am working atm at a World of Warcraft Rpg -like game.
Just finished the first overall concept and first scene.
I played rpgs with that class system pretty long and also understand the mathematic behind it,
but creating such a system with only the Player-sided knowledge seems pretty hard.

Google and Jme-search dont realy want me to help because if you meantion “class” in any context to the topic you ofc only get results from programming classes.

Pretty sure someone of you was at the same point and it would be awesome if you can show me which path to go (:
Have a nice day !

Reading you, I can’t figure out what the actual question is.

1 Like

Me neither, what is your problem when trying to create a class system?
(It is also known as Job system in other RPGs, this results in less code answers from google)

1 Like

:rainbow: Here is the answer :sunflower:

No really, read some of the topics on this matter and u’ll learn a lot.

I guess you mean how to create all the rules ect. without entagling yourself in the rules?

From what I understand he asks about character classes, eg. Warrior, Archer… etc

I suggest you google “character class”. If I were to implement character classes, I would create a base class which implements common behavior. If classes would differ only in stats, skills, etc… I wouldn’ t need to extend the base class.

I wonder why just nearly every modern RPG is stuck to that ancient paper-and-dice based AD&D approach with all that skill trees etc… IMHO this leads to sufficient lacks in gameplay, as in less than a month after release there will appear optimal builds for every class with precise calculation formulae of where and how many skill points to put - and you will be doomed to tune the balance between classes back and forth for the rest of the game life cycle. C’mon, we have computers here! Why not to implement something really new? Say, a graph with weighted loopbacks instead of a tree? And to save users from math by simply hiding exact point numbers from them, at least?

Because those system offer a hugh depth,

sure you can powerplay them. But most rpg gamers do not care to much about that, it’s more about creating and playing the character the way they want. (MMORPG’s are a bit different matter, but you were not specifically talking about them)

And hiding the number is the single worst idea you can ever have:
It will always feel unfair and every loss will be blamed on your intransparent logic (and not bad playing). Quite a few games nearly died on this before they patched it to show numbers.

I suggest to read a few articles on the human psyche and behaviour in case of failure, as this is not a mathematical problem.

Yep, agreed, I should specify this explicitly. Speaking of WoW, quite a standard situation when you don’t have certain build on your class - you’re not going to the raid. This is not role-playing anymore, this is a must of you to have certain path from beloved skill tree. And a week after Blizzard tunes it another way so you can’t do what you could a week ago and have to rebuild - again, it a certain way. No freedom. And - to the very limit of this approach - all classes can do the same things, so the only difference is their visual appearance. Dead end.

The first thing you have to do is define base formulas, this should be based on what features your game will have. For example, let’s assume you game will have physical attack and physical defense with a basic health points on each player.

So, the basis for your math formula is:

Damage = Physical Attack - Physical Defense.

Now you define how attributes change this basic formula, let’s add two attributes: Strength (STR) and Toughness (TGH), in a way where 1 STR = 1 Physical Attack and 1 TGH = 1 Physical Defense. So just setup some starting attributes for each class you have, like this:

Warrior
    10 STR
    8 TGH

Monk
    8 STR
    10 TGH

Now you have some basic attributes for Warrior and Monk. The last thing on this example is add equipment, like weapon and armor. You can have many different equipment, like weapons, shields, armors, pendants and such, but for our example, let’s assume warrior is wearing a Plastic Sword (+5 Physical Attack) and a Pad Armor (+3 Physical Defense) and monk wears a Leather Gloves (+3 Physical Attack) and a Cloth Robe (+2 Physical Defense).

If Warrior attacks monk, the damage will be:

Damage = (10 + 5) - (10 + 3) => 2

So monk will lose 2 of health.

You need to add many variants on those formula, like attack rate, evade, attack speed, block, magical attack, magical defense, skills and such. Also you need to have many items, which different attributes and combos.

This is why you need an Entity System (even if you build your own), to have a better handling of all those formulas and interactions.

True, but even this is very hard to balance.

For example:
Sword A : 10dmg every 10 seconds
Sword B : 5dmg every 5 seconds
Now do you think they are balanced, after all they do exactly same dps?
What happens if the enemy has now
13 hp
what if it has
9 hp?

so your automatic system needs to take all available enemys into context.
And even then if you go on a raid for enemy 1 you will be pressured in the 5dmg sword for enemy 2 in the 10dmg sword.

I personally found the system NeoCron (or shadowrun for that matter) used very nice. As it had no fixed classes, and allowed intersting mixes.
→ Eg they actually do different stuff, not just the same damage in different ways.
→ Sniper plays diffferently to smg in many cases, and none is clearly better.

Ironically the D&D system you mention really encourages this actually. The problem here is only the limitation of the computer rule system (especially MMO’s use a extremly simplified one, where only the damage dealing part is left).

That’s already something! As to the points - well you can show final points of the hero, but this shouldn’t be so extremely straightforward as +1% crit chance. Anyway, new skills affecting the other ones both ways is better than simply adding to one. Balancing is needed when number of possible combinations is very limited (i.e. you have few explicit classes and 1-2-3 trees for each), and when you have complex enough graph dependencies - this would lead to enormous amount of parameter combinations, and would allow every player to be truly unique (at least in a scale of certain server), so this way every single raid could not be like all others to the same instance) :slight_smile:

Btw, you know that a full D&d system allows multiclassing?
Eg Mage-Assasin, Druid-Gladiator ect?

wowowowow at first thanks for the huge response :stuck_out_tongue:

Sry thought the title made it clear but maybe hard if you not a rpg player.
I want to create the mathematical concept of Character classes like warrior, mage, archer. (like leo said), with skills and a skilltree.

@stomrage:
Didnt googled it earlier because mmo=/rpg, and dont want to be offensive but you only typed it in lmgdfy without checking results or ? thx for the try anyway but i already checked keywords like that.

@Empire_Phoenix:
Thats exactly the problem, ofc I can create some spells and balance them but that’s definitely not the way professionals do it.

@The_Leo:
Thought something like that, but then I got the question how to change the basic class to classes with different ressources like mana,energie and classroles like tank,damage and still keep the basic concept.

@Torsion:
I share your problem, I also realy want to make it different, ofc I ask here for the basic concept of classes but I already have a idea to make it different from other games :smile:, i also know the “best spec” problem on my own and create something where the user decides what way he wants to play.

@Emire_Phoenix:
Thats something I didnt thought about, but as mentioned above thats a worst case I dont want to get into either, I will read some of this articles anyway thx !!

@afonsolage: wow thx for this awnser, already started a atrribute list like that but didnt thought I need equipment implemented first to create the first classes math concept :)!!!
Link for others: http://www.indiedb.com/games/attack-of-the-gelatinous-blob/news/the-entity-system
Thanks for the keyword on itself, but seems like a entity system is just the logic way to create it in oop^^

@empire_phoenix: The sword A / sword B problem, I see what you mean but in the end the dps would be the same at 2 different ways to play so it seems fair to me, you can still pick the way you want.
NeoCron seems very interesting but also like I cant get into it that easy after so many years :stuck_out_tongue:
A System how to pick talents, classes and skills already exists for my game but thx for sharing.

@Empire_Phoenix: me didnt knowed it, the first and last time I played D&D was a 4hour character creation (to my sorrow) but i try to find someting about that!

Btw I think not all of you understood why I created this Thread: Ofc I just can sit here and create some classes like I want them for my game (played long enough rpgs btw Its a RPG not a mmo or mmorpg), but it feels like thats not the way to go and the forum and google dont realy want to help me.

(I am not asking you if you maybe can create me a class system, I ask for your experience in that topic and some clues to it. ; a discussion like that is much more than i wanted xP)

→ huge thanks, “D&D multiclassing” “Entity System” and your generals hints should already fix this problem :smiley:

Well I haven’t played it on paper that much (those were the times when Warcraft II was out already and not being RPG it was addicting enough :slight_smile: ) but it is even more surprising then that currently even the most powerful companies barely extend the very basic D&D. Look at SWTOR, it’s 90% WoW clone. Another universe, another appearance, few tiny adds (like companions) - and that’s basically it…

I played much of them: free ones, wow, swtor, gw2, wildstar
Just the two last ones gave me the feeling that they want to change something.
But as I said I already have a idea to make the player decides in a new choose system which way to go (sounds a bit like a pr message xP)

@serokon Sorry for this poor answer I couldn’t resist :sunrise:. The fact is that I couldn’t find what you really wanted because you said : “Like world of warcraft” and then “an rpg” and then “class” “math” etc…

Do you know Final Fantasy X ? Because I got a really good link that explain how the whole system works !

:rainbow: http://www.gamefaqs.com/ps2/197344-final-fantasy-x/faqs/31381 :rainbow:

Nono it was my fault, wrote that at 6am eu time and made you thought I want you to create my game xP
I know it but didnt played it, thats pretty exactly what I was looking for among other math guides like this.
But when you google something like “world of warcraft mathematic” / “class math” you only find guides how to play your class on patch x.y and not how the system overall is working like your guide so: big thx :)!!!

I can suggest some articles on my favourite gamedev site:
They deal with different aspects apart from pure class creation, also with items ect.

http://www.gamasutra.com/view/feature/134576/virtual_economic_theory_how_mmos_.php?print=1

I suggest to take a look at Shadowrun for a different system, they have a rpg game on steam, and the leveling system is refreshingly different.
You have a few base stats that determine your orentation, but you can mix as you want.

1 Like

I still do not understand what you mean by the “mathematical concept of classes”.

When you say skill-“tree” or “graph” you already have the mathematical model right there.
A tree or a graph with different properties.

Or do you mean balancing?
If so, then you are looking at an “optimization problem”. The internet knows quite a few mathematical ways of solving them (computer assisted of course, because you will have many skills/classes/etc)

If you are looking for damage calculation formulas, you are pretty free.
Of course you have the option between additive and multiplicative damage calculation.

Here is a multiplicative approach for damage reduction that uses straight numbers in a system which converges to 100% instead of having skills and items give % values, which could exceed 100%.
https://boosteria.org/guides/armor-magic-resistance-work-league-legends