Problems with Speed
Moderator: Moderator
Problems with Speed
Note that everything below is my opinion etc etc, and when it comes to design stuff I can be very strongly opinioned. Some will doubtless disagree strongly!
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.
Now... there seems to be a plethora of speed modifiers, and different types of speed, and cooldowns are linked to a global system. I understand the need for global cooldown turns, but with all of the modifiers going on it heavily interferes with tactical combat. You can no longer know if your ability will come off cooldown next turn, you can no longer accurately predict when an enemy will move into a space. You end up proceeding with a plan to find it scuppered by your own high movement or combat or global speed. The chess like feeling of trying to plan the next 5 turns is gone - you are left reacting to situations turn by turn. A bit of uncertainty is only natural, but this feels like complete lack of control at times.
Things like 7% modifiers to combat speed are especially bad for this. With an invisible counter going on in the back that means every 14 or so melee hits you get an extra hit. For the character this is a vague advantage, but it means nothing tactically as you can never predict when this extra turn will come, and sometimes it can come at a time you least want it - a healing skill is on cooldown of 1, you use an attack thinking you'll get that you'll have your healing skill next turn, but instead it stays at 1, leaving you vulnerable. If you had moved or waited instead you would have used up a full turn and had your healing! This sort of behaviour is immensely frustrating to me. It's made especially worse when you have to juggle modifiers to all 3 speed types and your global character speed. You can never predict how speed will operate for you.
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.
What can be done to alleviate this:
- Remove most speed modifiers from egos and artifacts, especially those less than 20%
- Remove all combat and spell speed modifiers. They add nothing to the game beyond being a vague bonus to the character. I repeat - combat and spell speed add *nothing* to the game. Unless perhaps they're going to be given in very high amounts that make a rael difference to play.
- Reconsider any talents and status effects that modify speed by less than 20% or that modify in non-round numbers. Ideally everything should be in multiples of 10/20.
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.
Now... there seems to be a plethora of speed modifiers, and different types of speed, and cooldowns are linked to a global system. I understand the need for global cooldown turns, but with all of the modifiers going on it heavily interferes with tactical combat. You can no longer know if your ability will come off cooldown next turn, you can no longer accurately predict when an enemy will move into a space. You end up proceeding with a plan to find it scuppered by your own high movement or combat or global speed. The chess like feeling of trying to plan the next 5 turns is gone - you are left reacting to situations turn by turn. A bit of uncertainty is only natural, but this feels like complete lack of control at times.
Things like 7% modifiers to combat speed are especially bad for this. With an invisible counter going on in the back that means every 14 or so melee hits you get an extra hit. For the character this is a vague advantage, but it means nothing tactically as you can never predict when this extra turn will come, and sometimes it can come at a time you least want it - a healing skill is on cooldown of 1, you use an attack thinking you'll get that you'll have your healing skill next turn, but instead it stays at 1, leaving you vulnerable. If you had moved or waited instead you would have used up a full turn and had your healing! This sort of behaviour is immensely frustrating to me. It's made especially worse when you have to juggle modifiers to all 3 speed types and your global character speed. You can never predict how speed will operate for you.
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.
What can be done to alleviate this:
- Remove most speed modifiers from egos and artifacts, especially those less than 20%
- Remove all combat and spell speed modifiers. They add nothing to the game beyond being a vague bonus to the character. I repeat - combat and spell speed add *nothing* to the game. Unless perhaps they're going to be given in very high amounts that make a rael difference to play.
- Reconsider any talents and status effects that modify speed by less than 20% or that modify in non-round numbers. Ideally everything should be in multiples of 10/20.
Re: Problems with Speed
I have to note that Brawler utilizes combat delay heavily as a gameplay mechanic(To the point of nearly getting constant double strikes with gloves, yet.), and that several artifact weapons are built around the idea of it existing, as are some egos. Archers are also built around the idea of fairly low delay, to a lesser degree.- Remove all combat and spell speed modifiers. They add nothing to the game beyond being a vague bonus to the character. I repeat - combat and spell speed add *nothing* to the game. Unless perhaps they're going to be given in very high amounts that make a rael difference to play.
You'd pretty much have to rebalance Brawler entirely and pull the equips involved, if you did that.
Otherwise...well, I see where you're coming from, but I actually think that, from a clarity standpoint, you're actually thinking too small, funny enough, and that any speed bonus below 30% or so isn't really worth keeping there. Something large enough so that you can mentally see as a constant strategic bonus. "I am getting four turns to every third the opponent is", and then you plan around it.
Having said that, either way it would require gutting a massive amount of skills(stuff like Strider operates on 2% Movement speed margins, and Celerity 10%, Shadow Feed uses low amounts of Attack/Spell speed, etc.), egos, overhauling any enemies that may have had minor speed bonuses(In fact, I believe Blade Horrors, for an example, would have to be cut entirely if you removed physical attack and weapon delay modifiers, as that's their only really notable and distinctive trait.)...
It's a neat idea. But maybe it's a little late in development. ToME feels like it treats speed as both a damage and/or mobility modifier, as well as a tactics modifier, and reverting it to solely be the latter would be quite hard, I think.
Re: Problems with Speed
I think Grey's idea is nothing short of beautiful (actually being able to predict what's going to happen! Bonuses that you can intuitively weigh in your head!), but I can see where it would take a great deal of work to implement.
As an interim compromise, how about any non-100% global speed invoking a buff on the player along the lines of "you are moving exceptionally fast. Whenever this counter reaches 0 (every X turns), you will receive an extra turn. Note: talents will not cool down during extra turns), or an analogous debuff?
Incidentally, why *do* talents not cool down during extra turns? Seems like this is both inconvenient and counter-intuitive.
As an interim compromise, how about any non-100% global speed invoking a buff on the player along the lines of "you are moving exceptionally fast. Whenever this counter reaches 0 (every X turns), you will receive an extra turn. Note: talents will not cool down during extra turns), or an analogous debuff?
Incidentally, why *do* talents not cool down during extra turns? Seems like this is both inconvenient and counter-intuitive.
Re: Problems with Speed
The short answer to that is that it could work. Someone with more knowledge of the internals of speed would be able to give a more honestly thorough answer to this, though.As an interim compromise, how about any non-100% global speed invoking a buff on the player along the lines of "you are moving exceptionally fast. Whenever this counter reaches 0 (every X turns), you will receive an extra turn. Note: talents will not cool down during extra turns), or an analogous debuff?
Essentially, as I understand it, the game isn't turn based in the standard "I go, then you go" sense, but instead functions with stores of energy units. When you get enough of them, you get a turn-and then the "global" turn functions on a different clock.
I'm not sure how you'd go about making sure that everything ran on that global clock, with added turns provided when needed, but my eyes cross when I try to think of tracking down every single impact that would have, so that can't be a good sign, I think. But I'm not really into it enough to know the details, so for all I know that change could be easier than I think.
Movement Infusions.Incidentally, why *do* talents not cool down during extra turns? Seems like this is both inconvenient and counter-intuitive.
I mean, there are good and interesting arguments for Global Speed here, and there's an interesting case to be made for finding some way to make Cooldowns function on your internal global speed clock instead of the universal clock. But, as to why they don't cool down every subjective turn...definitely Movement Infusions, or any similar high movement skill.
Edit:
Also, looking over the General Discussion topic about speed, I will say that using a 100/(Delay) actually displayed figure for speed and renaming it Attack Speed would fix the confusion about weapon delay, and that the 7% global speed bonus mentioned can only be Blazebringer weapons, as almost nothing else grants itty bitty bonuses like that.
Blazebringer its self could easily be changed to an equal amount of alldamage% instead of global speed. Similar bonus in that particular case, without having as much speed clutter.
This doesn't entirely fix the tactical vs statistical bonus role that Speed currently has, but it does fix some of the specific complaints, which seems like a good compromise without taking much work.
Re: Problems with Speed
Pretty much agree with the situation. Although I think Velorien's idea would go a long way to alleviate things.Grey wrote: 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.
What can be done to alleviate this:
- Remove most speed modifiers from egos and artifacts, especially those less than 20%
- Remove all combat and spell speed modifiers. They add nothing to the game beyond being a vague bonus to the character. I repeat - combat and spell speed add *nothing* to the game. Unless perhaps they're going to be given in very high amounts that make a rael difference to play.
- Reconsider any talents and status effects that modify speed by less than 20% or that modify in non-round numbers. Ideally everything should be in multiples of 10/20.
I kind of twisted my brain the one time I made a concerted effort trying to understand how exactly tome handles speed internally. So I may be wrong about this. However, let's look at 120% global speed.SageAcrin wrote:The short answer to that is that it could work. Someone with more knowledge of the internals of speed would be able to give a more honestly thorough answer to this, though.Velorien wrote: As an interim compromise, how about any non-100% global speed invoking a buff on the player along the lines of "you are moving exceptionally fast. Whenever this counter reaches 0 (every X turns), you will receive an extra turn. Note: talents will not cool down during extra turns), or an analogous debuff?
The way I understand it, every turn you use 100 energy and keep the rest, so your reserve will be 20, 40, 60, 80 and then you'll get your extra turn at 100. So Velorien's counter would start at 4, with 5/0 being the "double turn" you get.
So what if we have 107% speed? After 14 turns, we have 98 energy (14 times 7), so when we get 107 again, we'll have enough for two turns.
Basically the game would need to calculate (100/(speed - 100)) and start the counter as that.
There could even be a similar version for when you are slower than 100%, warning you when you are going to skip a turn.
Ghoul never existed, this never happened!
Re: Problems with Speed
Considering that with different movement, attack and ability use speeds the game can't know exactly how long your next turn is going to be, I suggest a slightly adapted version. (the game won't know beforehand if you're going to move thrice in a row or attack as well)
If your movement speed is different from 100%, you will have a buff with multiple texts: "Your next move will take x% of a turn." plus: "No monster will be fast enough to act after this move." if you can move after moving before any monster can act, or "Some monsters will be able to take multiple actions after this move." if you lose a turn after the move and "Your abilities will (not) cool down after this move."
If your attack speed is different from 100%, you get a(n additional) buff with two parts of the same texts only with attack instead of move.
If global speed effects non-attack* abilities as well, you'll need an aditional buff for abilities.
*I'm assuming attack abilities work with attackspeed, if I'm wrong include those in the last buff as well and adjust the "attack" text to "normal attack".
If your movement speed is different from 100%, you will have a buff with multiple texts: "Your next move will take x% of a turn." plus: "No monster will be fast enough to act after this move." if you can move after moving before any monster can act, or "Some monsters will be able to take multiple actions after this move." if you lose a turn after the move and "Your abilities will (not) cool down after this move."
If your attack speed is different from 100%, you get a(n additional) buff with two parts of the same texts only with attack instead of move.
If global speed effects non-attack* abilities as well, you'll need an aditional buff for abilities.
*I'm assuming attack abilities work with attackspeed, if I'm wrong include those in the last buff as well and adjust the "attack" text to "normal attack".
Re: Problems with Speed
No, no, no. You do not remove the speed effects. They are fine and work right. What you do is give a timer counter that tells you precisely how much energy you have. This makes everything transparent and lets you plan your chess moves.
It already does this in the background, all you need to to do is make it visible on the hud or character sheet.(Both would be nice).
You can also just AVOID the items or skills that give you speed bumps if you so desire. You never have to use or wear any of it. Instead of wearing boots of speed wear evasion or rushing instead :p
It already does this in the background, all you need to to do is make it visible on the hud or character sheet.(Both would be nice).
You can also just AVOID the items or skills that give you speed bumps if you so desire. You never have to use or wear any of it. Instead of wearing boots of speed wear evasion or rushing instead :p
Re: Problems with Speed
I doubt anyone would disagree with this statementGrey wrote:Note that everything below is my opinion etc etc, and when it comes to design stuff I can be very strongly opinioned. Some will doubtless disagree strongly!

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.
First of all combat speed modifiers aren't just tied to egos and talents. We also have things like gloves and bows with varying speed modifiers that would need to be rebalanced. Second of all every talent that adjusts mind, combat, or spell speed would need to be adjusted. We can't just remove Momentum and leave a hole there right?
My point is I could get behind this idea if it was fleshed out some more. I don't think it's a bad idea. Just that it will require a lot more thought and effort than what has gone into the initial post. SageAcrin touched on a few additional areas that I didn't mention above and I'm sure there's a lot more that would need to be uncovered. In other words, it's a much larger change then you're suggesting Grey because it's not as simple as removing a bunch of things... unless we want to leave gaping holes in the game.
Re: Problems with Speed
I agree. Speed is complicated, but there may be a relatively simple way of communicating it to the player. Here's my best shot: a toggleable window that maths out your effective speed - factoring all global speed modifiers - for you, like so:skein wrote:No, no, no. You do not remove the speed effects. They are fine and work right. What you do is give a timer counter that tells you precisely how much energy you have. This makes everything transparent and lets you plan your chess moves.
It already does this in the background, all you need to to do is make it visible on the hud or character sheet.(Both would be nice).
"If you move, it will take X game turns"
"If you attack it will take Y game turns"
"If you cast it will take Z game turns"
Along with this, another toggleable window for cooldowns:
"Blinding Speed will cool down in X turns"
"Charge will cool down in Y game turns"
This provides the information the player needs without creating too too much screen clutter. In the end, the player will still need to do a bit of math, but that's unavoidable without dumbing down the speed system. Providing the exact time left of cooldowns of you mouse over the skill would also be handy - and avoid screen clutter for folks that only rarely need the information.
Re: Problems with Speed
Ah, good point.NEHZ wrote:Considering that with different movement, attack and ability use speeds the game can't know exactly how long your next turn is going to be, I suggest a slightly adapted version. (the game won't know beforehand if you're going to move thrice in a row or attack as well)
So to make it transparent, the UI would have to tell you for each of attack (with currently equiped weapon), spell, movement, mindthingie how much energie it would take.
Hmm, let's take a look at the code:
From:GameEnergyBased.lua
Code: Select all
-- @energy_to_act how much energy does an entity need to act
-- @energy_per_tick how much energy does an entity receives per game tick. This is multiplied by the entity energy.mod property
function _M:init(keyhandler, energy_to_act, energy_per_tick)
self.energy_to_act, self.energy_per_tick = energy_to_act or 1000, energy_per_tick or 100
engine.Game.init(self, keyhandler)
And a bit further down, in _M:tick(), it does the following every tick:
Code: Select all
local arr = self.entities
for i, e in pairs(arr) do
e = arr[i]
if e and e.act and e.energy then
Code: Select all
if e.energy.value < self.energy_to_act then
e.energy.value = (e.energy.value or 0) + self.energy_per_tick * (e.energy.mod or 1) * (e.global_speed or 1)
end
Anyway, as we don't have energy_to_act yet (1000 normally it seems), we add our energy_per_tick to our energy.value and move on.
Code: Select all
if e.energy.value >= self.energy_to_act then
e.energy.used = false
e:act(self)
end
Code: Select all
--- Use some energy
function _M:useEnergy(val)
val = val or game.energy_to_act
self.energy.value = self.energy.value - val
self.energy.used = true
if self.player and self.energy.value < game.energy_to_act then game.paused = false end
end
Anyway, what the game should be able to predict is what the next whether the next action will end the "turn", advancing cooldowns by one, or not. So we could have 4 symbols for each of the types, and let's say they're blue if after that action the cooldowns won't advance yet, green if they'll advance by one, and red if they'll advance by two.
So if you're a Yeek with +15% global speed, they're green until you reach your "bonus turn", and then they're all blue. Now cast a spell, and they're green - next action your cooldowns will go down, as normal. Pop a movement infusion, and the movement symbol turns back to blue - you now have a lot of moves you can do in the time of one attack. Actually, the game could calculate how many actions of that type you could perform and show the corresponding number.
If you're a ghoul on the other hand, your symbols will be red every fifth turn. 80% global speed means sometimes cooldowns go down twice after one action. Activate Momentum, and your 55% bonus to attack speed should let you get an attack in at normal time, so it's back to green.
Ghoul never existed, this never happened!
Re: Problems with Speed
The problem is that that wouldn't tell you how quickly you're moving relative to your opponents, which is what matters. It also wouldn't tell you if you have 1 free movement actions left or 10.
A notification in the game log (foo has 1 free action/movement/attack next turn) strikes me as the best way to get around that, but it would still lead to some confusion in the most common area where more transparency would be useful: movement infusions. As it currently stands, if you pop a movement infusion when low on health and then walk past a monster, you're basically gambling that it won't get another turn at the worst possible moment.
Maybe your character sheet should show you how much energy an action costs, while the log tells you how much energy you have left after accomplishing an action? But that wouldn't solve the monsters-with-enhanced-speed problem.
Come to think of it, I still don't know what happens when a player with 300% global speed is fighting a monster with 300% global speed. Do they alternate or does each one go three times in a row?
A notification in the game log (foo has 1 free action/movement/attack next turn) strikes me as the best way to get around that, but it would still lead to some confusion in the most common area where more transparency would be useful: movement infusions. As it currently stands, if you pop a movement infusion when low on health and then walk past a monster, you're basically gambling that it won't get another turn at the worst possible moment.
Maybe your character sheet should show you how much energy an action costs, while the log tells you how much energy you have left after accomplishing an action? But that wouldn't solve the monsters-with-enhanced-speed problem.
Come to think of it, I still don't know what happens when a player with 300% global speed is fighting a monster with 300% global speed. Do they alternate or does each one go three times in a row?
Re: Problems with Speed
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.
Re: Problems with Speed
Yeah, that would be ideal, but I'm stumped as to how to present that info in the player effeciently. I also don't think it's as big as a problem if you can't predict your enemies' actions that exactly - I agree it would be nice to know, but for me it's ok if you don't.Parcae2 wrote:The problem is that that wouldn't tell you how quickly you're moving relative to your opponents, which is what matters. It also wouldn't tell you if you have 1 free movement actions left or 10.
What this would do is to make the relationship between your actions and your cooldowns and other effects transparent, which at the moment is also quite obscure.
It would have to tell you how many ticks until your next action to be useful, depending on what kind of action you take (move, attack, spell, mind - all can have different speeds). If it tells you after your action, it's too late to be useful - it'll be old news by the time you choose your next action.Parcae2 wrote: A notification in the game log (foo has 1 free action/movement/attack next turn) strikes me as the best way to get around that,
[snip]
Maybe your character sheet should show you how much energy an action costs, while the log tells you how much energy you have left after accomplishing an action? But that wouldn't solve the monsters-with-enhanced-speed problem.
Since a standard tick is 100 energy, and acting costs 1000, they'd alternate. They'd get 300 energy per tick, so they'd each act every 3-4 ticks. (If I understood the system correctly, that is. Far from sure about that). Where it would get weird is with speeds over 1000% - as I understand it, you can act at most once per tick, so once you'd get over 1000 energy per tick, you'd only accumulate more energy and have a few extra ticks of high speed after your speed boost wears off. 1000% is sort of the speed of light.Parcae2 wrote: Come to think of it, I still don't know what happens when a player with 300% global speed is fighting a monster with 300% global speed. Do they alternate or does each one go three times in a row?
Ghoul never existed, this never happened!
Re: Problems with Speed
I think displaying the player's and every monster's energy and exact cooldowns would be the easiest solution.
Die early, die often.
Re: Problems with Speed
I assume cooldowns and buff durations only reduce on the global turns?
Then it would be good to know when you are at the start of a turn with more than usual energy as something like a movement infusion would be considerably more powerful then.
Maybe cooldowns and buffs/debuffs should be separate actors so their duration is exact?
Then it would be good to know when you are at the start of a turn with more than usual energy as something like a movement infusion would be considerably more powerful then.
Maybe cooldowns and buffs/debuffs should be separate actors so their duration is exact?