Page 1 of 1

Slow down time passing even more in deep levels

Posted: Wed 09.01.2013, 12:35
by PowerWyrm
Currently, time passes more slowly when you dive deeper... but this slowdown stops at 4250ft. I think it's still not enough when you want to fight Morgoth, because he can two-shot any character with his manastorms. Any character should be able to react between turns to avoid this fight to be plain russian roulette.

Currently, when being in town at normal speed, you have a turn every 7500*5/1000/75 = 0.5 second. When being below 4250ft at +30 speed, you have a turn every 20000*5/3800/75 = 0.35 second, which is clearly too fast for the final fight in real time.

To move at the same speed as in town at 4250ft and below, you need to have +16/+17 speed. This is normal at that depth, but I can't imagine someone without at least +25 speed below 5k. So my proposition is too increase the slowdown even more, somewhere in the line of:

Code: Select all

u16b level_speeds[128] =
{
     7500,  9000,  9100,  9200,  9300,  9400,  9500,  9600,  9700,  9800,   /* Town - 450' */
     9900, 10000, 10000, 10000, 10000, 10000, 10100, 10200, 10300, 10400,   /* 500' - 950' */
    10500, 10600, 10700, 10800, 10900, 11000, 11100, 11200, 11300, 11400,   /* 1000' - 1450' */
    11500, 11600, 11700, 11800, 11900, 12000, 12100, 12200, 12300, 12400,   /* 1500' - 1950' */
    12500, 12600, 12700, 12800, 12900, 13000, 13100, 13200, 13300, 13400,   /* 2000' - 2450' */
    13500, 13700, 13800, 13900, 14000, 14200, 14300, 14400, 14600, 14800,   /* 2500' - 2950' */
    15000, 15200, 15400, 15600, 15800, 16000, 16200, 16400, 16600, 16800,   /* 3000' - 3450' */
    17000, 17200, 17400, 17600, 17800, 18000, 18200, 18400, 18600, 18800,   /* 3500' - 3950' */
    19000, 19200, 19400, 19600, 19800, 20000, 20200, 20400, 20600, 20800,   /* 4000' - 4450' */
    21000, 21200, 21400, 21600, 21800, 22000, 22200, 22400, 22600, 22800,   /* 4500' - 4950' */
    23000, 23200, 23400, 23600, 23800, 24000, 24200, 24400, 24600, 24800,   /* 5000' - 5450' */
    25000, 25000, 25000, 25000, 25000, 25000, 25000, 25000, 25000, 25000,   /* 5500' - 5950' */
    25000, 25000, 25000, 25000, 25000, 25000, 25000, 25000 /* 6000' - 6350' */
};
In this case, the slowdown stops at 5500ft, with a turn every 0.43 second and a "base" speed of +23/+24. To make Morgoth move at "base" speed, just increase the energy threshold to 28500.

Re: Slow down time passing even more in deep levels

Posted: Thu 10.01.2013, 07:43
by Domiano
I like this idea a ton.

Re: Slow down time passing even more in deep levels

Posted: Fri 11.01.2013, 21:39
by Emulord
+1, makes it so STM-walking or Destruct-walking isnt a necessary strategy

Re: Slow down time passing even more in deep levels

Posted: Fri 01.03.2013, 08:10
by Warrior
I like this as well.

Re: Slow down time passing even more in deep levels

Posted: Tue 05.03.2013, 21:50
by serina
Diving my lvl 25, 0 speed mage down to 4.5k will result in me snoring every move.

But that shouldn't ruin the fun for everyone else, so I agree.

ZAL :D

Re: Slow down time passing even more in deep levels

Posted: Wed 04.12.2013, 11:37
by PowerWyrm
Actually, after struggling with some characters against Morgoth in my variant, EVEN with PWMAngband's slowdown at 5k, I think the slowdown should "match" the base speed for questor monsters at their base depth. Remember that faster doesn't mean that YOU act faster, since idle turns are WASTED turns in real-time. If at your speed you act every 0.5s and press a key after 0.45s, you get a turn. If you INCREASE your speed to act faster and your speed allows you to act every 0.4s and you press a key after 0.45s, you lose a turn and actually act after 0.8s! Of course, Morgoth won't wait for you and get his turn... without wasting any of course!

Let's consider the two questors in MAngband: Sauron and Morgoth. To make the fight against them "fair" and not a matter of reflexes, you should be able to act at the same speed you would do in town, which is already a bit faster than the first few levels in the dungeon. The formula to compute the duration of player and monster turns is the following:

turn duration = energy to accumulate for a turn / (FPS * energy accumulated each frame) = 5 * value of level_speeds at current depth / (75 * value of extract_energy at current speed)

Players and monsters in town while unhasted will act every 5 * 75 / (75 * 10) = 0.5s, which is a good value for a standard turn. Now let's consider a Fast+20 monster at 4950ft (Sauron) and a Fast+30 monster at 5000ft (Morgoth). We'll assume that level speed below 5k is the same as for 5k.

Current MAngband turn duration (Sauron) = 5 * 200 / (75 * 30) = 0.44s
Current PWMAngband turn duration (Sauron) = 5 * 228 / (75 * 30) = 0.51s
Energy value for a standard 0.5s turn for a Fast+20 monster at 4950ft = 0.5 * 30 * 75 / 5 = 225

Current MAngband turn duration (Morgoth) = 5 * 200 / (75 * 38) = 0.35s
Current PWMAngband turn duration (Morgoth) = 5 * 230 / (75 * 38) = 0.4s
Energy value for a standard 0.5s turn for a Fast+30 monster at 5000ft = 0.5 * 38 * 75 / 5 = 285

For Sauron, the slowdown is almost perfect. Using PWMAngband's value would work well without slowing down characters too much (you need to have +20 speed to walk/run like in town, which is normal for that depth). For Morgoth, the only problem is that many players don't really pump speed over +30 unless actually fighting Morgoth. This means that the slowdown at 5k and below should probably occur only when Morgoth is on the level to avoid getting annoyingly slowed while diving for xp or loot.

An updated table for level speeds would be something like :

Code: Select all

u16b level_speeds[128] =
{
     7500,  9000,  9100,  9200,  9300,  9400,  9500,  9600,  9700,  9800,           /* Town - 450' */
     9900, 10000, 10000, 10000, 10000, 10000, 10100, 10200, 10300, 10400,    /* 500' - 950' */
    10500, 10600, 10700, 10800, 10900, 11000, 11100, 11200, 11300, 11400,   /* 1000' - 1450' */
    11500, 11600, 11700, 11800, 11900, 12000, 12100, 12200, 12300, 12400,   /* 1500' - 1950' */
    12500, 12600, 12700, 12800, 12900, 13000, 13100, 13200, 13300, 13400,   /* 2000' - 2450' */
    13500, 13700, 13800, 13900, 14000, 14200, 14300, 14400, 14600, 14800,   /* 2500' - 2950' */
    15000, 15200, 15400, 15600, 15800, 16000, 16200, 16400, 16600, 16800,   /* 3000' - 3450' */
    17000, 17200, 17400, 17600, 17800, 18000, 18200, 18400, 18600, 18800,   /* 3500' - 3950' */
    19000, 19200, 19400, 19600, 19800, 20000, 20200, 20400, 20600, 20800,   /* 4000' - 4450' */
    21000, 21200, 21400, 21600, 21800, 22000, 22200, 22300, 22400, 22500,   /* 4500' - 4950' */
    22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500,   /* 5000' - 5450' */
    22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500,   /* 5500' - 5950' */
    22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500                          /* 6000' - 6350' */
};
In this case, the slowdown stops at 4950ft with a turn every 0.5s at base speed of +20. When fighting Morgoth, just add some "special fight" energy (adrenaline?) to the level speed to get a turn every 0.5s at base speed of +30.

Re: Slow down time passing even more in deep levels

Posted: Tue 10.12.2013, 07:28
by Domiano
Ooh, we could also add epic fight music like tomeNET has for Morgoth/Sauron!
Music is a powerful tool.

Re: Slow down time passing even more in deep levels

Posted: Tue 10.12.2013, 17:09
by Emulord
I don't like the idea of default Mangband music. Everyone should pick their own with itunes if they want. Some people might like metal, some LoTR, some people electronica.

Re: Slow down time passing even more in deep levels

Posted: Tue 17.12.2013, 12:34
by Warrior
I don't think we'll go for default MAng music, once in a while it'd be fun to spook people with using the old .wav files that come with the game... could for example happen only when you kill Morgoth, that'd be cool. But music isn't the point of this discussion. Lets keep our eyes on the ball.