speed display

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9637

    #16
    Originally posted by PowerDiver
    Don't you find it annoying when some sports figure talks about giving 110%? Percentages should generally top out at 100%.
    The reason that's annoying is the meaning in that case, which is that they gave more than they actually had. Percentages over 100 can be perfectly valid, but I think that having most of them over 100 would look a bit silly.

    How about take standard speed as 1, and express others as a multiple - so 1.4x, 2.2x, etc? This conveys the same information as the percentage, without the overtones of mathematical illiteracy.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.

    Comment

    • buzzkill
      Prophet
      • May 2008
      • 2939

      #17
      Originally posted by Magnate
      This is precisely why we need to change the display. Speed is converted to energy by a nonlinear table in the code. Normal speed (+0) means 10 energy per turn. -10 speed means 5 energy per turn, which is 50% as fast. +10 speed means 20 energy per turn, twice as fast. But beyond +20 speed diminishing returns kick in.
      If I didn't know better, I'd think that you were intentionally trying to avoid answering my question, or that you don't actually know the answer, which I find hard to believe.

      Maybe I'm not being clear. I know how speed functions. You gain so much energy per turn, normally 10, and when you accumulate 100 you get to make a move. What I'm a bit hazy on is slowing effects. Obviously it can't just be slow=energy-10 or slowing at normal speed would equate to paralysis. On the other hand, I don't believe (though I could be wrong) that once speed exceeds 20, -10 slowing (rather than half) does apply. Am I wrong? So let me ask again...

      Is it either (speed/2) or (speed-10) whichever is less?
      BTW, I like Nick's idea, the 1.5x or whatever your speed happens to be. Monsters speed should be expressed using the same terms.
      www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
      My banding life on Buzzkill's ladder.

      Comment

      • Nick
        Vanilla maintainer
        • Apr 2007
        • 9637

        #18
        Originally posted by buzzkill
        So let me ask again...
        You look up into this table:

        Code:
        const byte extract_energy[200] =
        {
        	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        	/* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        	/* S-50 */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
        	/* S-40 */     2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
        	/* S-30 */     2,  2,  2,  2,  2,  2,  2,  3,  3,  3,
        	/* S-20 */     3,  3,  3,  3,  3,  4,  4,  4,  4,  4,
        	/* S-10 */     5,  5,  5,  5,  6,  6,  7,  7,  8,  9,
        	/* Norm */    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
        	/* F+10 */    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
        	/* F+20 */    30, 31, 32, 33, 34, 35, 36, 36, 37, 37,
        	/* F+30 */    38, 38, 39, 39, 40, 40, 40, 41, 41, 41,
        	/* F+40 */    42, 42, 42, 43, 43, 43, 44, 44, 44, 44,
        	/* F+50 */    45, 45, 45, 45, 45, 46, 46, 46, 46, 46,
        	/* F+60 */    47, 47, 47, 47, 47, 48, 48, 48, 48, 48,
        	/* F+70 */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
        	/* Fast */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
        };
        So slowed by -7 to -10 corresponds to half speed, etc.
        One for the Dark Lord on his dark throne
        In the Land of Mordor where the Shadows lie.

        Comment

        • Marble Dice
          Swordsman
          • Jun 2008
          • 412

          #19
          There's nothing wrong with percentages over 100 in this context: 200% means 200% of normal speed. It is 100% mathematically valid.

          I would love to switch to energy*10% on the status bar, the character screen, and the monster recall. The only problem I have with that is how do you word speed bonuses on equipment descriptions? "Increases your speed by up to 3%?" Using energy/10 instead of energy*10% works just as well, but I don't think it looks as good and you still have the same issue with how to phrase speed bonuses.

          buzzkill - In case it wasn't clear, "normal speed (+0)" equates to a speed index of 110, which is used in the preceding table to determine how much energy per game turn is distributed. All speed modifiers add or subtract directly to this speed index.
          Last edited by Marble Dice; November 8, 2009, 07:17.

          Comment

          • Magnate
            Angband Devteam member
            • May 2007
            • 5110

            #20
            Originally posted by Nick
            How about take standard speed as 1, and express others as a multiple - so 1.4x, 2.2x, etc? This conveys the same information as the percentage, without the overtones of mathematical illiteracy.
            Yep, works for me.
            "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

            Comment

            • fizzix
              Prophet
              • Aug 2009
              • 3025

              #21
              Originally posted by Marble Dice
              There's nothing wrong with percentages over 100 in this context: 200% means 200% of normal speed. It is 100% mathematically valid.

              I would love to switch to energy*10% on the status bar, the character screen, and the monster recall. The only problem I have with that is how do you word speed bonuses on equipment descriptions? "Increases your speed by up to 3%?" Using energy/10 instead of energy*10% works just as well, but I don't think it looks as good and you still have the same issue with how to phrase speed bonuses.

              buzzkill - In case it wasn't clear, "normal speed (+0)" equates to a speed index of 110, which is used in the preceding table to determine how much energy per game turn is distributed. All speed modifiers add or subtract directly to this speed index.
              Because of the non-linearity of speed, I think you need to keep the actual number value as well. The display should help in conversion of the somewhat arbitrary number value to the actual table value in a meaningful way. Items would still say "it increases speed by 3" Just like they don't say, "it increases your maximum hit points by xx%" rather it increases CON and you look afterwards to see what affect that had on your HP. The display takes care of the arbitrary conversion and gives you the means to make an informed choice of gear.

              I'm still partial to seconds, since I think that it is still the clearest and most easily understood metric for a completely new player. However, anything is an improvement over the current system.

              Comment

              • takkaria
                Veteran
                • Apr 2007
                • 1951

                #22
                Originally posted by Magnate
                Er, don't think so. IIUC -10 is precisely a 50% reduction at normal speed.

                I like your idea of adding a Haste/Slow field to the status line, separate from the speed. Does anyone know if there is space for this if all the other temp effects are on?
                I wouldn't worry about it, honestly-- just make it a low-priority flag and it'll get crowded out by more important stuff if necessary.
                takkaria whispers something about options. -more-

                Comment

                • buzzkill
                  Prophet
                  • May 2008
                  • 2939

                  #23
                  Thanks Nick, I learned something today. My assumption was that if your base speed was higher, slowing would have a greater effect, but it seems to be just the opposite. A higher base speed results in a lesser reduction, at least a lesser numerical reduction, but that would translate into an ever greater % reduction, unless I'm mistaken.

                  Ah, now I see that the gains start to get nerfed after speed (+25). I get it now. Thanks again.
                  www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                  My banding life on Buzzkill's ladder.

                  Comment

                  • Magnate
                    Angband Devteam member
                    • May 2007
                    • 5110

                    #24
                    Originally posted by takkaria
                    I wouldn't worry about it, honestly-- just make it a low-priority flag and it'll get crowded out by more important stuff if necessary.
                    Ooh, I hadn't realised it was that clever. Thanks.
                    "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                    Comment

                    • Magnate
                      Angband Devteam member
                      • May 2007
                      • 5110

                      #25
                      Originally posted by buzzkill
                      If I didn't know better, I'd think that you were intentionally trying to avoid answering my question, or that you don't actually know the answer, which I find hard to believe.
                      Apologies - I was too lazy to post the table, and thought you would look it up. Thanks to Nick for sorting it out.

                      On how to display speed boosts on items, it wouldn't be too difficult to do both: we already note the pval, and we could add a line which says "at your current speed, this is a X% improvement".
                      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                      Comment

                      • Marble Dice
                        Swordsman
                        • Jun 2008
                        • 412

                        #26
                        Originally posted by Magnate
                        On how to display speed boosts on items, it wouldn't be too difficult to do both: we already note the pval, and we could add a line which says "at your current speed, this is a X% improvement".
                        That sounds good, for what it's worth I wasn't actually talking about the percentage improvement, just the difference in energy gain. I used the term 3% because I assumed the values for energy would be displayed as percentages.

                        So for example, these two lines are equivalent when you're inspecting a +10 speed item when at +20 speed, and either is fine, although I prefer the first:

                        It increases your speed by 100% normally, or 80% at your current speed.
                        It increases your speed by 1.0 normally, or 0.8 at your current speed.

                        Comment

                        • buzzkill
                          Prophet
                          • May 2008
                          • 2939

                          #27
                          Originally posted by Magnate
                          Apologies - I was too lazy to post the table, and thought you would look it up. Thanks to Nick for sorting it out.
                          No apology necessary. I should have included a with my post. I thought the answer was much simpler, had I known there was a table somewhere, I would have looked for it. I just figured it was a simple equation.
                          www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
                          My banding life on Buzzkill's ladder.

                          Comment

                          • s0be
                            Apprentice
                            • Jan 2008
                            • 96

                            #28
                            Originally posted by takkaria
                            I wouldn't worry about it, honestly-- just make it a low-priority flag and it'll get crowded out by more important stuff if necessary.
                            Why not make equipped speed show like [Fast: 2.4x] and temporary speed show like [Fast! 3.4x] similar to how maxed stats show an !.

                            Comment

                            • Lord Tom
                              Apprentice
                              • Nov 2009
                              • 73

                              #29
                              Concerning the fast/slow temporary statuses, would it be reasonable to have these temporary effects just cancel each other so it's impossible to be both fast and slow at the same time? In this way, a !speed, etc essentially acts as an antidote to a !slow.

                              I guess the only problem I can see with this would be group enemies e.g. hounds with group attacks. If a player were hasted to Fast +25, the first breath would cancel the haste (Fast +15) and the 2nd would start a new slowing effect (Fast +5) for a more substantial loss of speed than is now possible. Of course, one could also re-cast haste each turn, keeping the same (Fast +25) which I don't believe is possible in the current system.

                              Comment

                              • Tobias
                                Adept
                                • Dec 2009
                                • 172

                                #30
                                I like the Idea of displaying the move advantage the monster has on the player, and i wrote up a short patch.

                                It computes and displays how much energy the monster gets in comparision to the player. The display is in percent because this is easier to code.

                                It goes like:
                                moves erratically, and very quickly ( 150% of your current speed.).

                                my char is at +10 speed.
                                at +18 :
                                very quickly ( 107% of your current speed.)
                                or
                                normal speed ( 35% of your current speed.)



                                Code:
                                Index: src/monster/monster1.c
                                ===================================================================
                                --- src/monster/monster1.c	(revision 1826)
                                +++ src/monster/monster1.c	(working copy)
                                @@ -1819,8 +1819,27 @@
                                 		text_out(" at ");
                                 		text_out_c(TERM_GREEN, "normal speed");
                                 	}
                                +	/* The code above includes "attack speed" */
                                +        
                                +        /* speed advantage */
                                +        {
                                +        int rel_speed = extract_energy[r_ptr->speed ]*100 /extract_energy[p_ptr->state.speed];
                                +        text_out("(");
                                +        if (rel_speed <= 100)
                                +        {        
                                +	        text_out_c(TERM_GREEN, "%d%%", rel_speed);
                                +        }
                                +        else if (rel_speed < 200) 
                                +        {        
                                +	        text_out_c(TERM_YELLOW, "%d%%", rel_speed);
                                +        }
                                +        else  
                                +        {        
                                +	        text_out_c(TERM_RED, "%d%%", rel_speed);
                                +        }
                                +        text_out(" of your current speed.)");
                                +        }
                                 
                                -	/* The code above includes "attack speed" */
                                 	if (f[0] & RF0_NEVER_MOVE)
                                 		text_out(", but does not deign to chase intruders");
                                My Angband videos : http://www.youtube.com/view_play_lis...385E85F31166B2

                                Comment

                                Working...
                                😀
                                😂
                                🥰
                                😘
                                🤢
                                😎
                                😞
                                😡
                                👍
                                👎