Experience Formula

morpheous1777

First Post
I was woundering if anyone out there has come up with a formula to figure out experience, I am creating a program (using visual studio .net) and I dont really want to include a huge table of experience points (like in the dmg and epic level handbook), It would be ALLOT easier to just use a formula/algorithim/macro to figure it out, Or maybe someone out there with some programming experience in visual basic .net or c++ could figure out some code to do it (I have been racking my brain for a few days now, and I just cant figure it out)
 

log in or register to remove this ad


Syunsuke said:
To be level n , you need
(1+2+...(n-1))*1000
=((n-1)*n/2)*1000
=(n-1)*n*500 xp.

this is a pretty usefull formula (I will probally use it into my prog (if ya dont mind), but I probally should have been more clearer, I need a formula to figure out what experience points you receive for being any level and defeating any Cr (example: a 1st level character defeating a cr 3 encounter recieves 900 experience) like on page 166 of the Dmg, and on page 121 of the Epic Level Handbook
 
Last edited:

here is a fomula, but the numbers on the charts in the books are not arrived at via a formula.

p = party level
a = exp between current party level and next party level
n = number of encounters with cr=p to achieve next level.

p = total of all character levels of the members of the party divided by the number of members in the party.

a = if p = 4 then a = exp to achieve 5 - exp to achieve 4.

here's the formula
exp = (p * (a/n)) * (cr/a)

Then you can let the user specify n and have a be calculated by the formula given earlier.
 

I believe i just found what i wanted , on page 121 of the epic level handbook it says:

use the following formula to determine the appropiate experience point award:

If the CR is egual to the party level then the experience award is 300 X CR, if the CR is equql to the party level + 1 the experience point award is 400 X CR, if the CR is equal to Party level -1 then the experience point award is 200 X CR

for every 2 points the CR rating increases (such as from CR 42 to CR 44), multiply the experience point award by 2. likwise for every 2 points the CR decreases (such as from cr 44 to cr 42), multiply the experience point award by 1/2

This is the basic formula for the experience tables in the dmg and epic level handbook (as far as i can tell), but when ever try to put it into code, I keep getting an incorrect ammount, so are there any coding gurus out there that could give me a hand, Or maybe someone could simplify the formula (Im a newbie programmer)
 
Last edited:

I found table 7-1 in DMG dosen't match to fomula in ELH.
For example, look at CR8-PL7. Table shows 3150 for exp.
But, with ELH fomura, this should be 400*CR=3200.
 

Syunsuke said:
I found table 7-1 in DMG dosen't match to fomula in ELH.
For example, look at CR8-PL7. Table shows 3150 for exp.
But, with ELH fomura, this should be 400*CR=3200.

Thats what I just noticed also, Now what Im woundering is what did WOTC do to figure out the tables ??????
 

Syunsuke said:
To be level n , you need
(1+2+...(n-1))*1000
=((n-1)*n/2)*1000
=(n-1)*n*500 xp.

Interesting, you did it as a series... when I was trying to find that same formula, I took f'' to be a flat 1000 and integrated. :)

--Impeesa--
 

It ain't much, but here's a program to calculate experience. It's very much WYSIWYG: :What you see is what you get!"

Input the number of characters in the party, and their respective levels. Then, input number of challenge ratings to compute. The program will then cycle through, calculating XP for the CR, XP per character (for the current CR), and keep a running total of XP per character. Finally, it prints the total XP per character.

Command-line interface. Source file included. Based off of XP calculations given earlier in the thread. Therefore, the amounts may be off a little from that given in the DMG, and will be incorrect for levels 1 and 2 (since they get higher xp awards than usual; see DMG for these values, or edit the program).

Like I said, WYSIWYG, hope it's at least somewhat helpful.
 

Yes, I finally figured it out (this is the code I used, its in visual basic .net)

Select Case CR
Case Is >= Level + 8
Experience = 0
Case Is = Level + 7
Experience = ((((Level * 400) * 2) * 2) * 2) * Expnumber.Text
Case Is = Level + 6
Experience = ((((Level * 300) * 2) * 2) * 2) * Expnumber.Text
Case Is = Level + 5
Experience = (((Level * 400) * 2) * 2) * Expnumber.Text
Case Is = Level + 4
Experience = (((Level * 300) * 2) * 2) * Expnumber.Text
Case Is = Level + 3
Experience = (((Level * 400) * 2)) * Expnumber.Text
Case Is = Level + 2
Experience = (((Level * 300) * 2)) * Expnumber.Text
Case Is = Level + 1
'base exp
Experience = (Level * 400) * Expnumber.Text
Case Is = Level
'base exp
Experience = (Level * 300) * Expnumber.Text
Case Is = Level - 1
'base exp
Experience = (Level * 200) * Expnumber.Text
Case Is = Level - 2
Experience = ((Level * 300) / 2) * Expnumber.Text
Case Is = Level - 3
Experience = ((Level * 200) / 2) * Expnumber.Text
Case Is = Level - 6
Experience = (((Level * 300) / 2) / 2) * Expnumber.Text
Case Is = Level - 5
Experience = (((Level * 200) / 2) / 2) * Expnumber.Text
Case Is = Level - 6
Experience = ((((Level * 300) / 2) / 2) / 2) * Expnumber.Text
Case Is = Level - 7
Experience = ((((Level * 200) / 2) / 2) / 2) * Expnumber.Text
Case Is = Level - 8
Experience = 0
End Select

My naming convention sucks, (Level = Player Level, CR = Encounter CR, Expnumber.text = How Many of that CR)
It matches exactly the tables listed in the dmg and epic level handbook (well all except levels 1 and 2, because in the dmg they gave more exp than what this calulator figures)
 
Last edited:

Remove ads

Top