I'm well aware of that :) The post is partly to put feelers out to see if this is a commonly shared opinion or not, and to perhaps influence future design/tweaking in this area. Um, and maybe to stir someone with more time than I to do a proper job of fixing some existing things :/edge2054 wrote: Anyway, I don't think this is a bad idea per se but your post is lacking in the depth to really make this change.
Problems with Speed
Moderator: Moderator
Re: Problems with Speed
-
- Uruivellas
- Posts: 744
- Joined: Thu Nov 18, 2010 6:42 pm
Re: Problems with Speed
Just to clarify jotwebe's post on energy mechanics:
The game runs on 10 ticks per turn. Every 10 ticks, there is a timeout phase that causes things like temporary effects, cooldowns, regeneration, etc to be updated.
On a game tick, each actor gets some energy = energy_per_tick * global_speed (and the energy mod parameter, but that's not used much)
When an actor accumulates 1000 energy it gets to do something. Most actions take 1000 energy to perform (instant actions, like wild infusions take 0), modified by the action speed. So if the attack speed (as displayed on the character sheet) is 50%, a bump attack takes 500 energy. The actor gets to keep acting until it's energy goes below 1000, then the game moves on to the next actor with 1000 or more energy, and then performs another game tick if noone can act.
I think the player side of the clarity equation could be solved with clearer tooltips like:
and updating the hot key icons to show fractional cooldowns remaining. So, for example, where you might now see Talent X, cooldown 1 turns, Talent Y, cooldown 1 turns, you'd see Talent X, cooldown 0.2 turns, Talent Y, cooldown 1.0 turns. Trying to display speed information on even a few monsters, however, would be a mess and would obscure, rather than clarify, what's happening.
The game runs on 10 ticks per turn. Every 10 ticks, there is a timeout phase that causes things like temporary effects, cooldowns, regeneration, etc to be updated.
On a game tick, each actor gets some energy = energy_per_tick * global_speed (and the energy mod parameter, but that's not used much)
When an actor accumulates 1000 energy it gets to do something. Most actions take 1000 energy to perform (instant actions, like wild infusions take 0), modified by the action speed. So if the attack speed (as displayed on the character sheet) is 50%, a bump attack takes 500 energy. The actor gets to keep acting until it's energy goes below 1000, then the game moves on to the next actor with 1000 or more energy, and then performs another game tick if noone can act.
ToME has always been an energy-based game, but, before a lot of speed effects were added, it played mostly like a turn-based game. I partially agree with Grey here (full-disclosure: I think highly-deterministic games are boring and prefer a minimum degree of randomness to keep things hopping.), it is difficult to predict when things will happen in the future, but I think this is good for npcs and bad for the player. That is, the player should have a clearer idea of when he/she can do something, talents will be off cooldown, etc, but being able to predict what an NPC can or will do 5 steps in advance just makes the NPC boring. Differing speeds between actors and variable energy costs between actions make future actions less deterministic, ensuring that the same combat is not played out the same way each time, thereby enriching the gameplay experience.ToME4 used to have a good, clear speed system. Pretty much everything moved at 100% speed. Very very few monsters disobeyed this, and when they did it was obvious and made those monsters interesting. Cooldowns were tied to player turns. The tactical combat was very much centred on planning your turns ahead, guessing enemy moves and knowing when your abilities would come back off cooldown. There could be speed modifications due to some status effects, but these were both rare and significant in proportion. You really felt it when you were slowed, for instance.
OK, Grey, you got me to strongly disagree with you here! Small incremental game modifiers help make the game easier to balance, and ultimately (with sufficient clarity of exposition) make gameplay more obvious to the player. The problem with big, chunky changes to fundamental game mechanics is that new things can take the player by surprise, resulting in sudden death, head scratching, and frustration. Imagine, hypothetically, if Bill the Stone troll went from a normal attack speed to a 100% increase if you encountered him at level 10. A player who had fought him at lower level would be taken aback by the sudden buff. On the other hand if this boss got 10% attack speed increase per level, previous experience would tell the player that he gets extra attacks some times and to be prepared for the extra burst damage.I don't mind rare and significant modifiers to speed, but the commonness, smallness and variety of speed modifiers in the game at present makes it a horrible mess. ToME is a turn-based game, and the cooldown system especially requires clarity of turns - anything but large modifiers gets in the way of that of that clarity. ToME has perfect clarity in so many other areas, but speed, something we rely on innately in the game, is now obscured.
I think the player side of the clarity equation could be solved with clearer tooltips like:
Code: Select all
Attack Speed: Indicates the amount of effort required to attack. Lower percentages indicate the attack takes less time to perform (in proportion to the percentage) and can be used more often.
Re: Problems with Speed
One possibility might be to have something in each actor's character sheet that lists its current energy. Mousing over the energy level would produce a pop-up that reads "Foo currently gains X energy per tick. Attacks cost Y and movement costs Z. Actors move once they reach 1000 energy. Most game "turns" take 10 ticks."
For the player, the current energy level could be displayed somewhere on the HUD (with the same mouseover text), but only if the player has a speed modifier of some kind.
For the player, the current energy level could be displayed somewhere on the HUD (with the same mouseover text), but only if the player has a speed modifier of some kind.
Re: Problems with Speed
Hachem_Muche wrote: ToME has always been an energy-based game, but, before a lot of speed effects were added, it played mostly like a turn-based game. I partially agree with Grey here (full-disclosure: I think highly-deterministic games are boring and prefer a minimum degree of randomness to keep things hopping.), it is difficult to predict when things will happen in the future, but I think this is good for npcs and bad for the player. That is, the player should have a clearer idea of when he/she can do something, talents will be off cooldown, etc, but being able to predict what an NPC can or will do 5 steps in advance just makes the NPC boring.
Well you can never predict that exactly, just try to consider the most common probabilities. The big thing with speed at the moment is not knowing whether or not an enemy will move on the very next turn. Or in some cases whether it'll get one attack or two. This is pretty critical to tactical combat in the game.
OK, Grey, you got me to strongly disagree with you here! Small incremental game modifiers help make the game easier to balance, and ultimately (with sufficient clarity of exposition) make gameplay more obvious to the player. The problem with big, chunky changes to fundamental game mechanics is that new things can take the player by surprise, resulting in sudden death, head scratching, and frustration. Imagine, hypothetically, if Bill the Stone troll went from a normal attack speed to a 100% increase if you encountered him at level 10. A player who had fought him at lower level would be taken aback by the sudden buff. On the other hand if this boss got 10% attack speed increase per level, previous experience would tell the player that he gets extra attacks some times and to be prepared for the extra burst damage.
Uh, you're taking my suggestions to extremes here - I never suggested doubling the speed of an early game boss. In general I said I want non standard speed to be rare. If Bill is to be buffed give him 10% extra damage, not speed.
I also think combat speed should simply never vary. I don't see how it has any value as a game mechanic. Global speed is okay in good chunks, and movement speed makes a lot of sense and can add excellent tactics. Combat speed doesn't allow any decisions, it's just a general bonus to damage which is better served by many other mechanics. Unless perhaps it's a really high bonus on certain enemies, so you always know that enemy gets double attacks in melee for instance. Speed shouldn't vary dependant on creature level, it should be intrinsic to the creature.
Re: Problems with Speed
I agree with this. Non-integer time between turns in a turn-based, grid-based game really bothers me. I don't like the fact that my ability to make decisions is dependent on my willingness to play accountant and keep track of the actions and stats of everything on the screen. Even if that gain is minimal. Speed is also a very difficult stat to communicate and balance.
Grey, please keep having unpopular opinions.
(I'd also argue that the "floating projectiles" thing needs to go, and that intentionally slow-moving projectiles should be actors. Also, dodge should be applied to projectile-based spells. But that's way out in Unpopularville.)
Grey, please keep having unpopular opinions.
(I'd also argue that the "floating projectiles" thing needs to go, and that intentionally slow-moving projectiles should be actors. Also, dodge should be applied to projectile-based spells. But that's way out in Unpopularville.)
Sorry about all the parentheses (sometimes I like to clarify things).
Re: Problems with Speed
See lukep's clock thread at http://forums.te4.org/viewtopic.php?f=39&t=36706 . See jotwebe's response, which proposes a very intuitive interface. I think, if implemented well, this would solve Grey's problems with speed. Depending on how one wanted to do it, one could implement it for just the player, or for the player and mobs, maybe on look, maybe on mouse-over. (I was looking through the code last night trying to get a feel for how stuff is drawn; maybe I'll actually figure it out some day.)
An alternative would be to round the duration rather than floor it:
if game.turn % 10 >= 5 then duration = duration + 1
Or, in the case of Step Up, multiply the effect by the shortened duration, for a fixed number of steps:
game.player.movementspeed = game.player.movementspeed * 100 / (10-game.turn % 10)
Or, better yet, combine the two, for a step lasting between 0.6 and 1.5 turns, with the same number of movements allowed regardless.
(Locked speed multiples like Grey suggests wouldn't solve this step-up problem-- at some point, you'd be triggering it at turn 0.9. Locking everything to 100% would solve it, but that's a little extreme.)
That is a significant problem. It seems somehow wrong that effects last variable amounts of time, depending on where in the global turn you activate them. Shouldn't these durations have higher resolution? (Create fractional durations for short-lived effects, check for time-out after every player action, as well as during regular time out?)wobbly wrote:Step-up can be even more problematic. Depending on the timing you can move 1 square & it ends. The timing aspect of who's move it is worries me less. If your running past a target with a movement infusion & there's a chance of it getting a hit in, that to me is fine. I'm not a fan of overly deterministic mechanics & perfect knowledge though I realize some others are. It's fine with me either way. But if something is meant to last a turn it should, rather then you move at 10x speed for 1/10 of a turn.
An alternative would be to round the duration rather than floor it:
if game.turn % 10 >= 5 then duration = duration + 1
Or, in the case of Step Up, multiply the effect by the shortened duration, for a fixed number of steps:
game.player.movementspeed = game.player.movementspeed * 100 / (10-game.turn % 10)
Or, better yet, combine the two, for a step lasting between 0.6 and 1.5 turns, with the same number of movements allowed regardless.
(Locked speed multiples like Grey suggests wouldn't solve this step-up problem-- at some point, you'd be triggering it at turn 0.9. Locking everything to 100% would solve it, but that's a little extreme.)
Re: Problems with Speed
Are you sure? I thought that all timed effects had their durations increased by 1 invisibly, so that Step Up (for example) would give 10-19 steps, not 1-10.wobbly wrote:Step-up can be even more problematic. Depending on the timing you can move 1 square & it ends.
Re: Problems with Speed
I'm not certain it would. It might help in certain circumstances, but it would be boring to have to check these statuses all the time.nate wrote:See lukep's clock thread at http://forums.te4.org/viewtopic.php?f=39&t=36706 . See jotwebe's response, which proposes a very intuitive interface. I think, if implemented well, this would solve Grey's problems with speed.
To me speed modifications are equivalent to every now and then having different distances between grids. Having a visual indicator of the distance would help, but doesn't get past the inherent problem of needless complexity on a base level.
Re: Problems with Speed
This is itching for an addon. Anyone up for it? I'll give it a go, but this might be too deep into the engine for me to figure out!
MADNESS rocks
Re: Problems with Speed
Yep, happened to me reasonably regularly on my last bulwark. Moved 1 square, step-up ended.lukep wrote:Are you sure? I thought that all timed effects had their durations increased by 1 invisibly, so that Step Up (for example) would give 10-19 steps, not 1-10.wobbly wrote:Step-up can be even more problematic. Depending on the timing you can move 1 square & it ends.
Re: Problems with Speed
ok - just found the other thread (http://forums.te4.org/viewtopic.php?f=39&t=36706) and lukep has this in train. Can't wait.
MADNESS rocks
Re: Problems with Speed
No it didn't you just do not understand what is happening. Step up always lasts till you use another ability. Some of the abilities you can use are not controlled by you. If the AI uses any of those abilities it also cancels step up. One example would be beyond the flesh being active, if you are right beside another mob any of those abilities that give you a free smack will cancel it.wobbly wrote:Yep, happened to me reasonably regularly on my last bulwark. Moved 1 square, step-up ended.lukep wrote:Are you sure? I thought that all timed effects had their durations increased by 1 invisibly, so that Step Up (for example) would give 10-19 steps, not 1-10.wobbly wrote:Step-up can be even more problematic. Depending on the timing you can move 1 square & it ends.
If there are no other mobs around it will last at least 10 moves.
Re: Problems with Speed
... have you actually used it recently? Step-up cancels out in <10 steps pretty regularly. I can't recall a case of just one, but it ending in seven or less steps happens with notable regularity, sometimes without anything else on the screen (and I don't use auto-talents at all, so... yeah.) or invisible. So yeah, there's something a bit wonky going on with it.
Re: Problems with Speed
I've been examining speed using Luke's addon. One thing i can't figure is this: if I activate Eden's Guile, Luck of little folk lasts SIX turns, not five. Any ideas?
MADNESS rocks
Re: Problems with Speed
Everything that says it lasts a certain amount of turns (let's say 5, as an example) actually lasts one turn longer, because otherwise it would count down while you are waiting for your next turn.