[crossfire] Max speed

Mark Wedel mwedel at sonic.net
Sun Feb 11 17:30:03 CST 2007


Nicolas Weeger wrote:
>> Related to bug
>> https://sourceforge.net/tracker/index.php?func=detail&aid=1539207&group_id=
>> 13833&atid=113833 concerning the max_speed when wearing armor, I've changed
>> the logic in fix_object (former fix_player) to always cap speed at armor's
>> max_speed.
> 
> Apparently that fix was too restrictive, so I kind of reverted it.
> 
> Now, it would be nice to decide the exact logic we want for max speed 
> handling...
> 
> Currently, what (apparently) happens is:
> * speed is computed based on dexterity, and max allowed by armor

  Strength also plays a role, in that it determines how much you can carry, and 
how loaded you are also affects speed.

> * some speed is added, from objects in inventory having exp set (?)

  For objects, exp was used to denote speed adjustment for characters.  This is 
because the normal speed field is used for animation or other logic so couldn't 
be used.  That should really be fixed, and changed to something like 
'bonus_speed' or the like.

> * some more speed is added, from objects having exp set (but only positive 
> values are taken into account)
> * carried weight is taken into account
> * disease induced speed is applied
> * minimum speed is enforced
> 
> 
> This looks to me like a kind of mess, so we should probably decide how to fix 
> that :)

  I had another thought, don't know if there is a tracker item, to completely 
redo how speed is done.

  Briefly:
  Normal max speed is 0.75.
  Normal min speed is 0.25.  These values should actually be things in the 
settings file.

  How loaded you are determines your base speed.  Eg, if 50% loaded, your speed 
would be 0.5 (0.75 + 0.25)/2 * (1-0.5) + 0.25.  If your are 25% loaded, your 
speed would be 0.62.

  These values are to improve playability - if a character speed gets too low, 
it is just annoying to play, as you move once every few seconds.  Likewise, this 
max speed is so fast objects still move fast - arrows faster than the player, etc.

  Objects that give magical speed bonus would add to this value.  So speed 
values greater than 1.0 are still possible with things like speed boots, etc.

  Armor should have some effect - I'm not sure if it should be a hard limit 
(can't move faster than 0.6), or if those should more denote adjustments to 
current speed - instead of max speed, have it be speed penalty.  That penalty 
could be absolute (drop .2 no matter what) or could be a percentage - wearing 
plate is going to drop your speed by 25%, so if you speed is 1.0, with plate, it 
is now 0.75.  If your speed is 0.25, with plate, it is now 0.18

  This cleans things up, but I think also improves playability - really fast 
players are an issue, and real slow players are not a good experience.

  Note that in above formula, dexterity doesn't play a part anymore.  However, 
it still would for weapon speed, which is done differently IIRC.

  This could also make some new spells (or maybe they exist) more reasonable. 
Eg, something like haste that gives you bonus speed of .3 for some amount of 
time could be really handy - as of now, moderate to high level characters have 
really high speeds, so don't really need an extra boost.

  Such a change should be targeted for 2.0, since it would change gameplay quite 
a bit.



More information about the crossfire mailing list