Experience Curves

Started by
6 comments, last by Shlaklava 16 years, 11 months ago
Over the last couple of weeks, I have been trying to create a graph that shows the amount of experience needed to get to the next character level. What I got at this point was the following as the formula for determining the amount of experience needed: xx+?x+20=z where z equals the exp needed and, x equals the current level, ? is the unknown value for which I can never find the right values for my level requirements. Other Notes: In order to show you what I need to balance this against, here is the formulae for experience from a kill. Normal Monster: Monster Level Squared + Your Level * Monster Level / 5 Boss Monster : Your Level * Random betwix 15 and 30 / 5 Please ask if you need for more info.
Advertisement
Well, we also need to know what your objective is. Why do you introduce an experience curve? To decrease leveling speed? To force the player into leveling at different spots? What else?
xx + ?x + 20 = z
x = current level

At this point, you could probably plug any value into ? and figure out what you like. Say, for instance, you just want to make ? = 2.

1(1) + (2)1 + 20 = 23
2(2) + (2)(2) + 20 = 28
3(3) + (2)(3) + 20 = 37

If you want, you could make an Excel spreadsheet that will do pretty much all the math for you. I just can't remember the formula you'd use. >_>;;

Anyways, the other formulas, I need more clarity.

m = monster level
y = your level

For the monster formula, is it supposed to read like

[(m^2 + y)m]/5

or

(m^2 + ym)/5

Going by the order of operations, m^2 + (ym/5). Also, the flaw with you formula, either way you cut it, is that you're giving more experience to the player for killing the same monster as he levels up.

For instance, if you're a level 5 whatever and you kill a level 5 monster, you're going to to get 10 experience. If you're a level 10 whatever and you kill a level five monster, you're going to 25 (going by the second formula above). That don't make sense; you don't want to award a player more points for doing something that's easy than you would when it was hard.

I would recommend giving monsters set experience rates, which then could be distributed among each character or awarded to each character individually. Bosses also usually have set amounts of experience. If you don't go with the set route, I would remove the "y" factor from that equation, unless you'd want to go with something along the lines of:

m^3/y

That way, if you're a level 5 whatever and you kill a level 5 monster, you get 25 experience. If you're a level 10 whatever and you kill a level 5 monster, you get 7.5.

I've been working on these a lot recently, too, so I know how frustrating this shit is.
The monster experience formula should really take the form of:

monster level * (some value) / (some value) * player level ^ (some exponent)

If the monster is a higher level than you, you get more experience. If the monster is lower, you get less experience. The (some value) represents a modifier used to scale the actual experience numbers to whatever values you're using.

You might want to try fiddling around with a parabolic experience curve. The reasoning behind this?

A good story pulls the reader in with interest in the beginning. The middle gets complicated and builds stress, the end is catharsis and release. In terms of martial arts mastery:

For a beginner, a kick is just a kick. He's bad at the kick.

For the intermediate, a kick is complex and must be consciously managed for form, accuracy, etc.

For the expert, a kick is just a kick. But now he's good at it.

If your experience curve took the form of (some value) - (max level + player level)^2 = exp per level, with x being the player level, you'd have the right sort of curve. Essentially, it's easy to start with, harder towards the middle after the player has been sucked in but not hard to the point of frustration, and then eases up towards the end to relieve any stress.

Much better than just the exponential curve - no "fun" activity simply gets harder and harder as you do it. It gets harder to a point, after which you have a bit of fun before the activity is "completed."

Easy in the start, harder in the middle, easy again at the end. Game play difficulty, of course, is going to be increasing the entire time. Reward, however, follows a more natural schema.
::FDL::The world will never be the same
Thanks for all the replies.

Today, I decided to go with what some of the people said in defferent ways, now I just need to know if this is good.


Players needed experience to level up: 1000

Monsters give:

1 Exp for a miss or no damage attack

Exp equal to the damage they give up to thier level/10

Exp chart for when you kill a monster:

M=monster level
G=exp given by monster
L=player level
E=exp gained

if(M>=L+5) E=1.2G
if(M<=L-5) E=0.6G
if(M<=L-10) E=0.01G
if(M==L) E=G

That way you cannot just power level super fast. Also, you cannot just attack a super low level enemy and expect a lot of experience. The monsters will have a specific exp amount that they give.
Quote:Original post by ToohrVyk
Well, we also need to know what your objective is. Why do you introduce an experience curve? To decrease leveling speed? To force the player into leveling at different spots? What else?


I origionally wanted to have slower leveling using qudratic formulas.
Quote:Original post by Shlaklava
Players needed experience to level up: 1000


I applaud the use of a constant figure for each level, instead of the typical exponentially growing value.

Quote:Exp equal to the damage they give up to thier level/10


This makes experience gains higher at higher levels when fighting equally matched opponents, which I don't think is what you want.

Quote:if(M>=L+5) E=1.2G
if(M<=L-5) E=0.6G
if(M<=L-10) E=0.01G
if(M==L) E=G


That's fine, although a little arbitrary. What about when they're 1 level above or below you? Or 2 levels?
Quote:Original post by Kylotan
Quote:Original post by Shlaklava
Players needed experience to level up: 1000


I applaud the use of a constant figure for each level, instead of the typical exponentially growing value.

Quote:Exp equal to the damage they give up to thier level/10


This makes experience gains higher at higher levels when fighting equally matched opponents, which I don't think is what you want.

Quote:if(M>=L+5) E=1.2G
if(M<=L-5) E=0.6G
if(M<=L-10) E=0.01G
if(M==L) E=G


That's fine, although a little arbitrary. What about when they're 1 level above or below you? Or 2 levels?


Hmmm...I'm not sure what to do about the damage thing, I definitly want something like it.

I was just thinking about that in math class. Maybe I add/subtract 1% for the difference in levels (until you hit those spots of course).

This topic is closed to new replies.

Advertisement