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

Raphaël Quinet raphael at gimp.org
Mon Sep 4 10:35:42 CDT 2006


On Sun, 03 Sep 2006 15:27:20 -0700, Mark Wedel <mwedel at sonic.net> wrote:
> Raphaël Quinet wrote:
> > 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.
> 
>   But it seems like you are deciding server policy for server admins, who may 
> not agree with that policy.
> 
>   I agree with Alex here - keeping that option around doesn't do any harm - it 
> can be set to a high value such that it effectively does nothing.  But if a 
> server admin does want to set it, who are we really to say that you can't?

I don't want to prevent server admins from limiting the number of
levels that are lost when a player dies.  I just want to be sure that
it is done in the right way.  In other words, I don't want to decide
server policy, I just want to have a better way to implement that
policy.

The best solution would be to fix the exp_table so that the curve does
not become almost flat near the high levels.  This causes a large
difference between the additional exp points required per level (which
becomes as low as 1% for the high levels) and death_penalty_percentage
which is fixed at 20%.

If some server admins do not want to use a better exp_table (I hope
that we could agree on a new one soon) and want to keep a system that
is rather unbalanced by giving an advantage to the high level players,
then I'm not opposed to that, but this should be done in a way that
makes it obvious that the system is unbalanced.  For example, the
death_penalty_percentage could be variable: if the players should not
lose more than 1 level, then the death_penalty_percentage could be
kept at 20% for the first 16 levels, then decrease until it reaches 5%
for level 35 and then 1% for levels between 70 and 109.  The effect
would be exactly the same as we have now, but its impact on the
various levels would be more obvious.

[...]
>   IIRC, the reason that was added was that at high levels, a characters death 
> could amount to losing quite a few levels.  Sure, at high levels it may not be 
> hard to regain them, but the point was that losing a whole bunch was considered 
> excessive.  I have a feeling that removing it may cause several complaints, as a 
> character that dies loses more than they expect.

This is exactly what I mentioned in my first message:
   "[...] Because the ratio between levels was increasing only by
   about 1% near the high levels, losing 20% of the points meant
   losing a lot of levels: a level 100 player could drop down to level
   85 by just dying once.
   A solution was found for the second problem: introduce a limit to the
   number of levels that can be lost at once. [...]
   Although this seemed to be a good solution at that time, I am now
   convinced that it did more harm than good."

Using death_penalty_levels fixes one symptom, not the cause.  The real
problem is that the experience curve is broken: the percentage of
score increase required to gain levels becomes too different from the
death_penalty_percentage near the high levels.

I think that in order to evaluate the death penalties correctly, we
should not think in terms of levels but in terms of experience points.
The time in the game is spent gaining experience points.  Levels are
gained indirectly through exp points and we know that there are
problems with the exp_table (the exp_table C used by Metalforge is
considered better than the default table B, but it still has
problems).

Although this would have to be confirmed by measurments in real games,
there are strong indications that the exp gain per unit of time is
roughly exponential, at least until about level 95 (as mentioned by
Alex).  I think that this is the case for the range of points between
2 million and 100 million (currently mapped between level 13 and level
89).  The exact exponent would have to be derived from measurments but
I guess that it would be somewhere around 1.15 (around 15% increase
per unit of time, which could be mapped to a level).  Maybe it is a
bit higher or lower, but it is very likely to be between 1.10 and 1.20
(10% to 20% increase).

A "fair" penalty per death should be related to the amount of time
required to gain some exp points.  Unfortunately, the current
distribution of levels per amount of exp (the exp_table) is not ideal
and not proportional to the amount of time spent on each level.

If we could fix that, then maybe death_penalty_levels would become
irrelevant anyway, and we would not even have to argue about whether
the option should be kept or not.  That's what these messages were
about: fixing the exp table so that the levels become more
proportional to the playing time.

>   If the death penalty is not very high (in terms of whatever penalty, be it exp 
> or stat loss, etc), then players are more likely to play aggressively.  If a 
> death costs me 15 minutes, but agressive playing more than makes up for it 
> because of faster exp gain, you play agressive.
> 
>   OTOH, if death penalty is very high, players would play much more cautiously, 
> because a death may mean several hours of lost work.  In this case, playing 
> slower/safer may make up for it, even with the slower exp gain.

I agree with that: this is something that should be balanced
carefully.  But this is very difficult to do with the current
exp_tables, in which the distribution of levels is not related to the
amount of time spent playing.

If we can measure how much exp is gained on average per unit of time
(or more exactly, by which percentage the exp is increased per unit of
time), then it will be easier to map the penatly to the amount of time
that it represents.

For example, we could discover through measurments that the average
exp increase is 3% per hour for most of the exp range (the lowest and
highest levels could have a different rate).  Knowing this, I could
set the death_penalty_percentage to 9% if I want to have a penalty
that represents about 3 hours of playing time.  Someone who wants to
encourage a more agressive playing style could set the penalty to 5%
and someone who wants players to be more careful could set it to 20%
or more (=> 6 or 7 hours).

Side note: encouraging a more careful playing style would also require
updating some maps.  Several areas can trap the player without warning
(especially some "no spells" areas as I mentioned a few weeks ago) or
they contain some warnings but do not mention how hard the area will
be and do not indicate that there is no way back (e.g., lake country's
burial ground or dark angel Hanuk).  Even a careful player will
probably want to explore a bit and will eventually fall into one of
these traps and die.  The warnings for these areas should be a bit
more explicit.

-Raphael



More information about the crossfire mailing list