RPG Stat Increases

Started by
4 comments, last by SlashOwnsU 18 years, 1 month ago
Im working on creating some algorithms for stat increases at level-ups. Because this game is somewhat similar to a tactical RPG, there are a lot of characters, and it would be overly tedious, I feel, to use the table method (which works quite well for the 1-10 character range). What I would like is an algorithm for which each character has from maybe 1-4 variables that can shape the curve of the stat increase. The curve will need to be a monotonically increasing function (as long as I input the right values). I was looking at some bezier curves, and other parametric designs, but I would be interested n any other ideas folks here had.
Advertisement
I created a system long ago using two parameters and 2 equations added togheter.

Basically, you have a base parameter that represent the "race" of the character. It is a simple linear equation of type y = Nx+b

You put the "class" equation over it wich is an exponential equation y = N^x

based on the values you wanna have and the importance of each factors (class and race) in the final result you need, you can adjust the ranges of N for both equation. "y" is the stat value and "x" is the level of your character

I like using different functions for different input in my systems since it allows for great control over the importance of each input and they are usually easier to work with (ie you can directly understand the effect of changing a variable)

edit : I made a mistake in my variables meaning ;)
By "stats" do you mean "hit ability"? "Strength"? "Damage"? "Hit points"?

How much do stats vary between characters at the start? Do you want the power varience from stats between characters to persist, or fade away, as they gain levels?

What do you want your character power curve to look like? (ie, should a L 5 character be able to beat two L 4 characters at once? Two L 3 characters at once? Two L 2 characters at once?)

Do you want there to be "phase changes" in gameplay? (An example of a "phase change": At lower levels, combat lasts many rounds. By highest level, the first blow usually decides who wins. This changes how fights work -- by the highest level, initiative trumps all.)
Ciment, thank you for your suggestion. It's actually not a bad idea since I can use those factors to help balance the game without having to tweak each individual character's variables. I'll probably adopt a similar layered approach.

NotAYakk, by stats I mean strength, HP, MP, etc. I haven't completely worked out my combat system yet, and as such I only have a really rough idea of how I want to define my characters. For the purposes of this discussion, stick with HP, since it typically has a wide dynamic range, but more than likely a character's HP will be defined by some underlying value such as strength or endurance.

As far as a character power curve, I want different characters to have different curve profiles, essentially. Some characters might plateau at level 10, others might get a sharp increase at level 12 that gradually plateaus again at level 20, while another might never have an appreciable stat increase from level 1 to X.

I do want a phase change, but primarily in the opposite order. Early on, a hit or two should win the fight, while later on when more skills and abilities are available to the player, it should require several rounds of strategy. A level 2 character should be able to kill 2 level 1 characters, while a level 49 character might win a fight against a level 50 character, and a level 99 character would be essentially evenly matched against a level 100 character except for individual character differences.

I suppose that gives me a monotonically increasing function with a decaying first derivative. Something along the lines of 1 - e^x.

The gameplay is largely menu-driven, probably more like a console RPG than a tactical RPG, but recruitment dynamics plays a big role - just like in some tactical strategy games, and parts of the combat will resemble tactical RPGs (storming forts and what-not). The character "party" will consist of four front-line fighters, two reserve fighters, with a reserve barracks where the player can change members, or fire reserve members who are no longer useful. Battles will be mixed about 50-50 between other character parties and non-character monsters.
The power-value of HP varies based on how easy healing is.

If healing is cheap between fights, and expensive within fights, then double HP roughly doubles your character's power.

If healing is cheap in fights, then you only need enough HP to survive between heals.

If healing is expensive in combat, than doubling people's HPs makes the fight last twice as long.

All of this assumes a uniform combat model -- that combat itself doesn't pass through phases. In the card game Magic: the gathering, combat is non-uniform -- the ability for a player to do damage ramps up as the game progresses (and can ramp down as they run out of a resource -- in MtG's case, this is usually cards). So a doubling of HP wouldn't always double the length of a fight.

In essence, I'm trying to say that the rate at which your stat goes up should be determined by your game mechanics and how you want the game to play out.

Personally, I'd be tempted by something like:

A character's power grows exponentially with level, but the exact exponential rate changes as depending on the level.

The primary means of defence is not HP -- it is your defence abilities. HP is what happens when the opponent gets through your defence. HP is hard to heal within combat.

You can "attack" the opponents defence abilities and reduce them.

As you gain levels, it the number of attacks that "get through" defences to kill your opponent goes up slowly.

At low levels, your defence skills suck, and most attacks penetrate. Only a few blows are required to defeat your opponent.

At high levels, your defence skills are tough, and almost all attacks are massively weakened or soaked by defence. It takes a number of blows getting through defences to defeat your opponent.

If D(L) is the expected damage at level L, and K(L) is the number of blows to kill, then H(L) =~ D(L)*K(L).

Next, look at your defence skills, the rate at which attackers can "beat them down", the rate at which they "leak" blows through to HP, the rate at which they heal during combat (the defender can regain his balance or recharge his force shield) so combat for even-leveled people lasts about the right amount of time.

Once again, this won't give you absolute damage/healing/etc rates, but relative rates at any one level.

Then examine the desired power ratio between characters of different levels, and fix the properties for a L 1 character to some hard numbers. Check to see if your power-gain system is actually possible (it might not be).

Next, you want more than one kind of character, so vary the baseline power-gain. Do some rock-paper-sissor work (pirates beat ninjas beat mages), or group-synergy abilities (pirates can protect the party from physical attacks, mages from magical attacks, and ninjas from stealth attacks).

In the end, stats are just numbers -- what matters is the gameplay that those numbers produce.
I've played this game named Disgaea recently, and the stats system is extremly simple but quite efficient

each character has base stats (lv 1 stats) and the character's current stats are simply
stats * level

so let's say base stats
HP = 20
MP = 15
str = 5
...

at level 10 it'll be
HP = 200
MP = 150
str = 50

at first I thought hmmm that's pretty basic but it just works
it also prevents the player from going in the darkness and not understanding at all how the hell them stats raise

This topic is closed to new replies.

Advertisement