Problems with Speed

All new ideas for the upcoming releases of ToME 4.x.x should be discussed here

Moderator: Moderator

Message
Author
Grey
Loremaster
Posts: 3517
Joined: Thu Sep 23, 2010 10:18 pm
Location: London, England
Contact:

Re: Problems with Speed

#16 Post by Grey »

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.
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 :/
http://www.gamesofgrey.com - My own T-Engine games!
Roguelike Radio - A podcast about roguelikes

Hachem_Muche
Uruivellas
Posts: 744
Joined: Thu Nov 18, 2010 6:42 pm

Re: Problems with Speed

#17 Post by Hachem_Muche »

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.
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.
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.
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.
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 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.
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.
Author of the Infinite 500 and PlenumTooltip addons, and the joys of Scaling in ToME.

Parcae2
Uruivellas
Posts: 709
Joined: Sat Jan 14, 2012 12:02 am

Re: Problems with Speed

#18 Post by Parcae2 »

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.

Grey
Loremaster
Posts: 3517
Joined: Thu Sep 23, 2010 10:18 pm
Location: London, England
Contact:

Re: Problems with Speed

#19 Post by Grey »

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.
http://www.gamesofgrey.com - My own T-Engine games!
Roguelike Radio - A podcast about roguelikes

bricks
Sher'Tul
Posts: 1262
Joined: Mon Jun 13, 2011 4:10 pm

Re: Problems with Speed

#20 Post by bricks »

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.)
Sorry about all the parentheses (sometimes I like to clarify things).

nate
Wyrmic
Posts: 261
Joined: Fri Jan 18, 2013 8:35 am

Re: Problems with Speed

#21 Post by nate »

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.)
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.
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?)

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.)
Proud father of Fx4fx and Chronometer add-ons; proud mother of Fated add-on

lukep
Sher'Tul Godslayer
Posts: 1712
Joined: Mon Mar 14, 2011 10:32 am
Location: Canada

Re: Problems with Speed

#22 Post by lukep »

wobbly wrote:Step-up can be even more problematic. Depending on the timing you can move 1 square & it ends.
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.
Some of my tools for helping make talents:
Melee Talent Creator
Annotated Talent Code (incomplete)

Grey
Loremaster
Posts: 3517
Joined: Thu Sep 23, 2010 10:18 pm
Location: London, England
Contact:

Re: Problems with Speed

#23 Post by Grey »

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.
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.

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.
http://www.gamesofgrey.com - My own T-Engine games!
Roguelike Radio - A podcast about roguelikes

jenx
Sher'Tul Godslayer
Posts: 2263
Joined: Mon Feb 14, 2011 11:16 pm

Re: Problems with Speed

#24 Post by jenx »

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

wobbly
Archmage
Posts: 400
Joined: Tue Jul 03, 2012 8:35 am

Re: Problems with Speed

#25 Post by wobbly »

lukep wrote:
wobbly wrote:Step-up can be even more problematic. Depending on the timing you can move 1 square & it ends.
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.
Yep, happened to me reasonably regularly on my last bulwark. Moved 1 square, step-up ended.

jenx
Sher'Tul Godslayer
Posts: 2263
Joined: Mon Feb 14, 2011 11:16 pm

Re: Problems with Speed

#26 Post by jenx »

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

skein
Halfling
Posts: 107
Joined: Mon Aug 13, 2012 12:03 am

Re: Problems with Speed

#27 Post by skein »

wobbly wrote:
lukep wrote:
wobbly wrote:Step-up can be even more problematic. Depending on the timing you can move 1 square & it ends.
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.
Yep, happened to me reasonably regularly on my last bulwark. Moved 1 square, step-up ended.
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.

If there are no other mobs around it will last at least 10 moves.

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Problems with Speed

#28 Post by Frumple »

... 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.

jenx
Sher'Tul Godslayer
Posts: 2263
Joined: Mon Feb 14, 2011 11:16 pm

Re: Problems with Speed

#29 Post by jenx »

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

lukep
Sher'Tul Godslayer
Posts: 1712
Joined: Mon Mar 14, 2011 10:32 am
Location: Canada

Re: Problems with Speed

#30 Post by lukep »

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.
Some of my tools for helping make talents:
Melee Talent Creator
Annotated Talent Code (incomplete)

Post Reply