leveling system math

Started by
4 comments, last by Solias 16 years, 1 month ago
working on a leveling system and basically this is what i want: a max of level 100 experience should be at around 1 million points when they reach max level (subject to change) if a player attacks a character at the exact same level, it should take about 10 victories to level up. experience points earned from battles will always be static (if a wild boar give 10 exp at level 5, it will also give 10 exp at level 50, 75, 100, etc) instead the amount of experience required to level up should increase at a pretty standard pace. at this point i'm just trying different formulas and plugging in numbers by trial and error. i would love to get any advice on formulas that could help. would appreciate any help i can get. thanks.
Advertisement
You're probably going to need to add some additional constraints on your system. With your current conditions, you can use a system with 10,000 xp per level and every single enemy in the game giving 1000 xp.
not every character will give the same amount of experience. the 10 victories rule is just a starting point. so if i'm at level 40 and i attack a character at level 40 also, it would be about 10 times of doing that before leveling up. if i attack someone at a lower level, it would be more, and fewer if attacking a character at a higher level. i don't know if i'm explaining that right.

since i've posted, i realized that 100 cubed is 1 million. so i'm playing around with the numbers where the total experience required to level up is whatever level they're at cubed: level two would be 8 experience, 10 would be 1000, 47 would be 103,823.

right now i'm experimenting with that and taking the difference in required experience, dividing it by 10 and plotting it on a graph. hopefully i can come up with some formula with that data but if there is an easier way to do it, i'm all ears.
If you drop the requirement that the end point be a specific xp total, then you can just adjust the steepness of the curve to be whatever you want. You've decided that at level n you need to kill x (in this case 10) level n enemies to reach level n+1. So how many level n-1 enemies do you want to kill? Let's say you want to kill y level n-1 enemies to level. Then the total xp needed for to gain a level at level n is:

xp(n) = xp(n-1) * y / x

You can adjust the y / x ratio to determine the steepness of the curve, this should be somewhat related to how difficult a level n enemy is relative to a level n - 1 enemy is or people will go for enemies either above or below n (depending on if the curve is too steep or too shallow).

Here is an example curve where y / x = 2.0 (you need to kill twice as many level n-1 enemies vs level n enemies to level).
Level	xp to level	xp per enemy1	100	        102	200	        203	400	        404	800	        805	1600	        1606	3200	        3207	6400	        6408	12800	        1280...


You could also make the curve non-linear, where the ratio y / x changes as you go up in levels. Again, you want to map this to the progression curve of the difficulty. One way to do this is to look at the time it takes to kill enemies of level n and level n-1, the ratio of the time should be similar to the xp ratio. Chance of death multiplied by the death penalty (in time lost due to death) should also be factored in.

Note that if a kill is always worth the same amount of xp, you can't create a "sweet spot" in the middle. The best you can do is smooth the difficulty/reward relationship so that all spots are equal (killing level n-1 enemies and killing level n enemies are equally good choices for the player). If you don't get the balance right then players will gravitate to optimum points, which will tend to be fixed.


that definitely gives me a few angles to think about. cool!

for n-1 i think i'd prlly want it to be like 20% more, not twice as many. so i might try x/y = 0.2 if i'm understanding correctly.

for the most part, i would rather the scale be based on a curve than a straight line. prlly will just bust out the ol' TI graphing calculator and try a few different things.

thanks so much for the input.
Quote:Original post by jjkiesch
for n-1 i think i'd prlly want it to be like 20% more, not twice as many. so i might try x/y = 0.2 if i'm understanding correctly.


Actually x/y = 0.2 would require 5x more level n-1 enemies than level n enemies. You would actually want y/x = 1.20 or about x/y = 0.8.

I agree that 2x per level is probably too high, I just chose it as an example to be easy to understand. You want to look at how much more difficult to kill an enemy is compared to an enemy of the previous level. If you can come up with a numeric way to represent their relative challenge, then you can drive the xp curve from that.

You don't even need to make the curve continuous. For example, lets say every five levels (just as an example) players and monsters get a new ability which makes them more powerful. Then every time that happens, you would want the xp / monster to go up by a larger amount to reflect the added challenge.

This topic is closed to new replies.

Advertisement