[crossfire] Progressive exp table and removal of a bad hack: death_penalty_levels

Raphaël Quinet raphael at gimp.org
Sun Sep 3 16:25:12 CDT 2006


On Sat, 02 Sep 2006 18:52:22 -0600, Alex Schultz <alex_sch at telus.net> wrote:
> One little note on this, I would say the levels 95-100 are fairly tricky
> actually (of course not as much as 100-115 of course), and that your
> statement might be a more accurate with level 50 to level 95, but yes,
> despite the nitpicks I agree with your point, I might even say level
> 40-95 might more accurate for the range that is too quick to gain levels in.

Although I found the high levels too easy up to level 105 with some
characters, this depends on the type of character played, skills,
religion, etc.  So it may be reasonable to consider 110 million exp
points (approx. level 95 in the current table B) as the point after
which the exp gains are not exponential anymore.  This means that a
balanced experience curve should be exponential at least until approx.
100 or 110 million points instead of becoming almost linear like the
default one (table B).

[...]
> > Proposed solution:
> > - Get rid of death_penalty_levels.  This option hides the real problem
> >   instead of solving it.
> 
> I'm personally more inclined to leave the death_penalty_levels option,
> but set it's default to unlimited, so server admins could do things such
> as make their server do something like a 1 level per death max if they
> wanted to.

But again, that would be the wrong way to limit the number of levels
lost: if a server admin does not want players to lose more than 1
level per death, then the admin should modify the exp curve or lower
the death_penalty_percentage.

Using death_penalty_levels implies that the server admin wants to give
an advantage to the high level players compared to the low level ones
because high level players would not be hurt as much.  Instead of
using this unbalanced hack (death_penalty_levels), the server admin
should ensure that the percentage of exp lost per death is not greater
than the percentage of exp increase required for gaining a level.
This is the only fair way to limit the number of levels lost per death
(well, not really the only way: another solution would be to use a
variable death_penalty_percentage that mimics the exp_table and
decreases with each level, but this creates other problems).

For example, a way to ensure that players never lose more than 1 level
per death would be to set death_penalty_percentage to 15% and use an
exp_table in which most of the curve uses a constant ratio of 15% for
the exp points increase between levels.

In fact, regardless of what is done to the exp_table, I would suggest
changing the default death_penalty_percentage to 15%.

By the way, the experience curve used by Metalforge (table C) has a
curve that converges towards 5% so if death_penalty_percentage is kept
at 20%, this limits the maximum loss to 4 or 5 levels.  Limiting the
loss to 3 levels would require an exp curve that converges above 7.2%.
I prefer to use a constant ratio of increase for most of the curve
(for example 15% or 12% as shown on the wiki page).  However, another
option would be to use a curve similar to the one used by Metalforge
but converging towards 8% instead of 5%.  The lower levels should be
easier in any case.

[...]
> Measuring exp gain gives me an interesting idea. It might be interesting
> to devise an algorithm to have the game adjust the exp given by monsters
> according to how easily players kill them, perhaps analyze how much
> different traits affect the exp, and automatically change how much exp
> such monsters would give. Perhaps too much effort/trouble than it's
> worth, but it's an interesting idea anyways, making the game
> self-balancing (within limits).

This would be rather tricky to balance: one player who is very good at
killing a specific type of monsters could make them worthless for
everybody.  This could also create a "monster of the day" problem, in
which players try to find the monsters that currently give the most
experience until the values are adjusted again.  The players will
modify their playing style according to how much exp each monster
gives, so a self-balancing system is unlikely to converge to a stable
point.  Although this is an interesting idea, I doubt that it could be
implemented in a good way.  As you wrote: perhaps too much effort/
trouble than it's worth.

-Raphaël



More information about the crossfire mailing list