Who wants to mess with speed?
Collapse
X
-
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... -
To be clear, we currently have the following "speed modifiers" in the game: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.
* +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.Leave a comment:
-
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).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 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.Leave a comment:
-
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:Find the entity for which t is smallest; this is the amount of time before the next entity gets a turn.Code:1 = energy + rate * t
* Give that entity a turn
* Add t * rate to all entities.Leave a comment:
-
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.Leave a comment:
-
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?Tags: None
Leave a comment: