Chaosforge Forum

DoomRL => Discussion => Topic started by: General Patton on July 09, 2011, 03:24

Title: Observations on Berserk and Move Speed
Post by: General Patton on July 09, 2011, 03:24
Just felt like doing some math to demonstrate the level of speed a berserker can attain and how the slightest speed increase can be exponentially useful.

X=Base Move Time
Ceiling(.4/X)=Number of moves you get per turn
Ceiling(.4/X)*X-.4=Length of turn
Ceiling(.4/X)/(Ceiling(.4/X)*X-.4)=Moves per second (mps)

If 1>X>.41, 1.66<mps<100
If .39>X>.21, 5.26<mps<100
If .19>X>.14, 17.65<mps<150
If .13>X>.11, 33.33<mps<100

Not entirely sure what happens when X=.4,.2,.133333333, or .1 exactly.
I think you either go up to the next number of moves and your turn takes X seconds, or your next turn starts instantly and you get an endless succession of zero second turns leading to infinite moves per second.

Note that this function for mps is not continuous. Having more moves per turn will always help you conserve berserk time (because it's measured in turns and not seconds), but a slower base move speed could give you shorter turns and unintuitively increase your actual move speed.

Might find the first derivative for each continuous part of the function, later. But now this one needs sleep.
Title: Re: Observations on Berserk and Move Speed
Post by: tehtmi on July 09, 2011, 15:52
Math is always good.

The basic approach you are taking appears correct, but your rounding (or at least your method of rounding) seems to be getting you into trouble in some corner cases. Those 100 mps values are much too high.

Here is a breakdown of the player's energy (scount) over time for a base move time of 410ms. (Spoiler'd for lots of boring numbers)
Spoiler (click to show/hide)

For a base move time of 400ms, you will get exactly 2 moves per turn for a mps of 5. There is no danger of infinite moves per second.

I'm not sure what the proper formula should look like yet, but I'll think about it some more.