Who wants to mess with speed?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fizzix
    Prophet
    • Aug 2009
    • 3025

    Who wants to mess with speed?

    Pretty much everyone agrees that speed is probably the most important stat in Angband. There's nothing necessarily wrong with this, but I've been wondering how the game would change if we made some changes to speed.

    1) Speed does not affect how players or monsters do "combat" actions. This includes attacking, spellcasting, shooting, throwing, device use, potion drinking, scroll reading, eating.

    2) Speed does affect other actions, moving, opening/closing/bashing/picking doors, trap disarming, wielding/picking up/dropping items, opening chests.

    3) optional, rebalance the speed so that you can get arbitrarily fast.

    More speed means you can close in on an enemy quicker or run away.

    Would speed then be useless? Assuming we can adjust monster damage and blows per round, would the game be harder or easier? Is this a reasonable idea or a terrible one?
  • Therem Harth
    Knight
    • Jan 2008
    • 926

    #2
    What about monsters though? Some monsters (Liches? Demons? Golems?) are magical in nature, and (by game logic I guess) should be able to think and act much more quickly than an unaided player character.

    Comment

    • Derakon
      Prophet
      • Dec 2009
      • 9022

      #3
      Cthangband had separate movement and attacking speed; probably other variants have dabbled with it too. It's been a long time since I played it, but I think it worked well. The main thing about Cthangband I remember is that it did a "one keypress = one blow" approach to melee combat, with monsters taking as many blows as possible before you got your turn back. As a side effect, you got many more opportunities to interrupt combat for purposes of healing or escaping. I don't remember the need to hit a key for each blow being a big deal.

      The other thing I remember was that hydras got improved attack speed for each head they had, so the bigger versions were monstrous melee foes. An 11-headed hydra would attack almost four times faster than a 3-headed hydra, even if it didn't move much faster.

      Monsters, broadly speaking, have three types of actions: moving, attacking, or casting a spell. Currently all three of these take the same amount of time, and while it would be tedious, I could imagine going through monster.txt and splitting it up so you could have fast-moving but slow-casting monsters or the like. The player has many more potential actions. Are we to assign a speed value to each of them? Could I find a ring that doubled the speed with which I aimed wands? I could imagine that being helpful, but how would we go about calculating a power score for it?

      Regarding your third point, removing the cap on speed: this will require completely redoing how turn order is determined, and most likely doing away with the concept of a "game turn" altogether. The problem basically is that the base speed is 10 and faster is lower -- but there's only so many times faster you can go than 10 while working in integer arithmetic. You could multiply all the values by 10, thereby gaining finer subdivision of time, but a) you'd still be bounded, just less tightly, and b) now it takes 10 times more game turns for anything to happen (all else being equal), so your game loop is inefficient.

      I'm probably going to write up an unbounded system whenever I get to implementing variable speed in Pyrel. I don't know how easy it would be to backport into Angband though, especially since I'll be using floating point math. The basic concept looks like this, more or less:

      * All entities have "energy" and an energy accumulation rate. Energy is the fraction of a stored turn -- once it reaches 1 the entity gets a turn. The accumulation rate is how quickly energy is gained; in Angband, this is your speed.
      * Examine all entities and solve this equation for t:
      Code:
      1 = energy + rate * t
      Find the entity for which t is smallest; this is the amount of time before the next entity gets a turn.
      * Give that entity a turn
      * Add t * rate to all entities.

      Comment

      • Magnate
        Angband Devteam member
        • May 2007
        • 5110

        #4
        Originally posted by fizzix
        Pretty much everyone agrees that speed is probably the most important stat in Angband. There's nothing necessarily wrong with this, but I've been wondering how the game would change if we made some changes to speed.

        1) Speed does not affect how players or monsters do "combat" actions. This includes attacking, spellcasting, shooting, throwing, device use, potion drinking, scroll reading, eating.

        2) Speed does affect other actions, moving, opening/closing/bashing/picking doors, trap disarming, wielding/picking up/dropping items, opening chests.
        To do both these things, you need to change the concept of +speed fundamentally. At the moment, +speed increases the rate at which you gain energy (and therefore can take actions when you have >100 energy).

        To do the above, you need +speed to reduce the amount of energy required for the actions listed in #2, but not for #1. So you leave energy accumulation completely linear (10 per turn for everyone), but lower the energy cost of those actions - basically the application of the fractional blows logic to non-combat actions.

        Although I can clearly see how it would work, and why, it doesn't really feel right. I agree with the high-level aim of reducing the importance of speed, but having it affect some things and not others is a nasty inconsistency. The closest that works for me is having it *only* apply to movement, and not to anything else.
        "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

        Comment

        • Derakon
          Prophet
          • Dec 2009
          • 9022

          #5
          Originally posted by Magnate
          Although I can clearly see how it would work, and why, it doesn't really feel right. I agree with the high-level aim of reducing the importance of speed, but having it affect some things and not others is a nasty inconsistency. The closest that works for me is having it *only* apply to movement, and not to anything else.
          To be clear, we currently have the following "speed modifiers" in the game:

          * +speed. Affects rate of energy accumulation.
          * +blows. Reduces energy cost of melee attacks, grows with DEX (STR, DEX, and weapon weight in 3.x)
          * +shots. Reduces energy cost of missile attacks, grows with level for rangers.

          It's easy to imagine having +chugging, +zapping, etc. bonuses to reduce the cost of drinking, aiming wands, what have you. They wouldn't be especially out of place either, given the existence of +blows and +shots. We could even have similar innate growth in various abilities:

          * Walking speed could depend on DEX and burden level
          * Speed at aiming wands could depend on INT
          * Speed at drinking potions could depend on DEX and CON (?)
          * Speed at reading scrolls could depend on INT and WIS
          * Speed at using staves could depend on WIS

          Of course this would tend to make classes that are already good at certain things, like mages and magic devices, even better, while other classes get comparatively worse. But I imagine it could be made to work. It's just another one of those ideas that would require a crapton of balancing work.

          Comment

          • fizzix
            Prophet
            • Aug 2009
            • 3025

            #6
            The main reason I don't like having different speeds for too many actions is not because of balancing needs (although that is a pain!) but because of transparency issues. One of the reasons for the idea is that it would simplify player calculations. There's no need to calculate whether the monster will get a double attack on you. No monster can do that anymore. You only need to calculate whether the monster can *reach* you and attack which is much more useful. Also hack-n-back and pillar dancing get nicely squashed. The main problem as I see it is that speed becomes too nerfed and certain monsters lose quite a bit (will o the wisps, death molds, shimmering vortices, etc.) You probably lose too much in game flavor...

            Comment

            • tussock
              Rookie
              • Jul 2012
              • 3

              #7
              Things like death molds can still have a high energy income with split move and attack costs. You could have Drolems that are slow movers but fast attackers, and Master Mystics that move like lightening with slower attacks and spells.

              I always figured the best reason to split movement and attack speed was to have fast dogs and tigers who don't double attack you in the early game, while creeping coins can have devastatingly fast melee and still keep their slow move. Well, that and have the default energy cost be 40 for a step, to make combats a little less static and player speed somewhat less dominant for hack-and-back or pillar dancing. Usually hack up my own build to do that, works well enough for melee at least.

              But it's classic Moria/Angband that you can eventually do everything four times as fast as the beginning of the game, and it saves a lot of number inflation in other places to keep monsters and characters progressing in power to do it that way. 40 energy per tick could perhaps require more of a drain on food supplies and mana to sustain for some less trivial choices, but the end effect is good.

              Separating out that effect, so say some of it comes from energy, and some from reduced costs in various fields, that could make for more interesting gear choices, but it's not really needed for the basic thing of having some monsters be more or less fleet of foot without overpowering or ruining their attacks.

              Comment

              • OOD Town drunk
                Adept
                • Feb 2013
                • 171

                #8
                Maybe it's just me, but I think speed is fun and interesting as is. Although as most people seem to want it nerfed, why not just nerf it? +10 is only 1.5 Times faster.

                Comment

                • scud
                  Swordsman
                  • Jan 2011
                  • 323

                  #9
                  I'm blissfully happy with regular V speed, with a couple of tweaks:

                  a. Browsing spellbooks, inspecting inventory, or aborting a spell/missile should have a cost.

                  b. There's possibly too much of it. Getting much more than +7/+8 from any single item should be a once-a-game occurrence. Conversely, there could be more +1/+2 bumps to ego mittens, hats etc. Why should cloaks have all the fun? Basically, it's currently too easy to get a base speed of +30 with minimal compromise to kit.

                  Comment

                  • Therem Harth
                    Knight
                    • Jan 2008
                    • 926

                    #10
                    Originally posted by scud
                    I'm blissfully happy with regular V speed, with a couple of tweaks:

                    a. Browsing spellbooks, inspecting inventory, or aborting a spell/missile should have a cost.
                    This seems like a bad idea to me. Making the game harder is well and good, but IMO players shouldn't be punished for using their brains and thinking things out.

                    b. There's possibly too much of it. Getting much more than +7/+8 from any single item should be a once-a-game occurrence. Conversely, there could be more +1/+2 bumps to ego mittens, hats etc. Why should cloaks have all the fun? Basically, it's currently too easy to get a base speed of +30 with minimal compromise to kit.
                    I'm somewhat ambivalent on this. I like the idea of speed being found in smaller increments, but lack of speed is also one of the major limits on fast diving IMO. I would like to see changes that make the game faster paced, and I'm just not sure whether this would work.

                    Comment

                    • Antoine
                      Ironband/Quickband Maintainer
                      • Nov 2007
                      • 1010

                      #11
                      How about leaving the speed stat as it is, and adding another similar stat that only reduces the cost of the movement action?

                      Then some items and abilities could be changed to affect movement instead- which would be weaker. You could also add low level consunables affecting movement. Or give bonuses to it based on race, class, or dex.
                      Ironband - http://angband.oook.cz/ironband/

                      Comment

                      • Mikko Lehtinen
                        Veteran
                        • Sep 2010
                        • 1246

                        #12
                        Antoine's idea sounds good to me!

                        I got an idea for Halls of Mist out of this thread: mystical zones where everybody's speed is set to 0.

                        Comment

                        • OOD Town drunk
                          Adept
                          • Feb 2013
                          • 171

                          #13
                          Originally posted by scud
                          There's possibly too much of it. Getting much more than +7/+8 from any single item should be a once-a-game occurrence. Conversely, there could be more +1/+2 bumps to ego mittens, hats etc. Why should cloaks have all the fun? Basically, it's currently too easy to get a base speed of +30 with minimal compromise to kit.
                          I like this idea

                          Comment

                          • Starhawk
                            Adept
                            • Sep 2010
                            • 246

                            #14
                            It'd be interesting to introduce higher speed costs / aka "casting times" to really powerful abilities - perhaps offering both players and monsters a chance to dodge or interrupt.

                            > The drolem takes in a deep breath...
                            > You cast Teleport Other.

                            Comment

                            • MattB
                              Veteran
                              • Mar 2013
                              • 1214

                              #15
                              Okay, hands up, I'm a bit of an idiot and I don't have a clue about coding (I'm not even sure which type of pencil you use to do it), but could someone PLEASE explain the maths behind speed?!

                              As I understand it, +10SPD is twice as fast, but increases beyound +30 are marginal returns. How does this work?

                              Derakon's post earlier hinted at it, but to be honest I didn't really get it.

                              Apologies for interrupting a high-powered thread with a newbie query.

                              Comment

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