Jump to content

Recommended Posts

Posted (edited)

From what we know, Obsidian are going to make the inner mechanics of Attack Speed system more transparent and intuitive. Plus things like speed, armor and other recovery-affecting stuff will also start influencing reloading_duration. Source:

 

 

Transcript #5:

Q: Will it be more fun to play gun wielding characters? Pillars of Eternity many of the fights were over before I could shoot twice.

JS: Good news: you can shoot twice right away now. Because you can dual-wield pistols. So, there's that.

KA: And we got a cowboy hat now.

JS: And apparently you've got a cowboy hat. Also, we're going to look more and speeding up reload process. Because reload was one of the very few things that, other than one enchant and a few others things, it was very rarely affected by anything, so it didn't speed up very much.

So, yes, we're trying to make that more fun.

 

Transcript #6:

Q: Speed enchant is considered by Pillars 1 equally good for all weapons while being much less powerful for weapons with reload animations. Is Deadfire going to address this issue?

JS: Yes. We're trying to make weapons with reloads—meaning Crossbows, Arbalests, and the various guns—integrate a little bit better into the whole speed economy, so that things that speed up attacks and Recovery are also going to speed up reloads, in general.

That's something we've been looking at more recently to make it flow naturally. Making Recovery the things that — instead of having a recovery buffer that goes into the reload, having the reload itself be affected by the Recovery value. Heavy armor makes reloading take longer; light armor makes it go by faster. Stuff like that. We're trying to make it seem like it works like the other mechanics.

 

 

 

This made me thinking how exactly could the speed system be improved:

1. the game should clearly communicate all phases of action cycle and stick to the same terminology everywhere.

2. tooltips should specify the correct phase that is getting affected. For example in PoE1, speed tooltip reads "+20% Attack Speed", when in fact it reduces recovery.

3. if the tooltip reads "+20%" then.. it should be +20% (at least in the absense of other effects). And I think this can be achieved even if we don't touch the attack duration. Example:

 

ELFwZsm.png

Link to spreadsheet.

 

Pros of this approach:

- player can calculate in mind how much will his attack rate get increased from taking x talent or using y buff.

- reloading weapons are now fully affected by speed, armor and other recovery-affecting effects.

- armor penalty is heavier now, in line with the tooltip values.

- reduced gain snowballing when approaching zero-recovery. But this is compensated by the fact that other speed categories are now as important as AttackSpeedMult, and will have higher impact when pushing for the last mile.

- flexibility. You can easily change recovery_factor without breaking anything; relative speedup will be the same. You can also make attack_duration getting decreased when recovery becomes negative (i.e. remove the hard-cap), without fear of getting to extreme 0 attack-duration.

 

Formulas:

 

speed_modifier = (1 * multiplication of negative effects) / (1 * multiplication of positive effects)

 

recovery_duration = attack_duration * [(1 + recovery_factor) * speed_modifier - 1]

recovery_duration = max(0, recovery_duration)

reloading_duration = base_reloading_duration * speed_modifier

 

where 

recovery_factor = 0.833 (when casting or dual-wielding)

recovery_factor = 0.833 * 2 = 1.666 (when wielding single weapon)

 

- recovery_factor is the proportion between base_attack_duration and base_recovery_duration.

- it can be 1 and 2; 0.5 and 1; it can be whatever; (note: it will be easier to compute stuff in mind if it is integer)

- I have chosen 0.833 just to be closer to PoE1 base values

 

 


P.S. Few questions regarding terminology:

skNcIiU.png

 

- how would you name the blue phase? In PoE1 it was named "attack" or "totalAnimation" (if in code). But this also refers to buffing/casting animation and potion consuming.

- how would you name the green part?

- how would you name the yellow phase?: "recovery time" or "recovery duration"? We can't just use the term "recovery", because it will lead to duration <> speed confusion.

 

As for "D" - it is the delay between issuing an action and the actual start of related animation. (it could be named "animation latency", "pre-action delay" or "idle-animation exit time" (if it is related to this)

 

Edited by MaxQuest
  • Like 2
  • 3 weeks later...
Posted

Hallo MaxQuest

I have 2 questions:

 

- In your formula "speed_modifier = (1 * multiplication of negative effects) / (1 * multiplication of positive effects)"

I assume the value in the brackets is 1 if there is no positive and/or no negative effect.

If there is no effect and you multiply 1 with nothing, you will get problems.

 

- In PoE1 only dex influences everything, all other things influence only recovery or reloading.

Dex increases attack speed by 3% per point.

Does it mean a char with 43 (or more) dex would attack infinitely fast and causes infinite damage?

(33 * 3 = 99; so it reduces the duration of attack/recovery/reload by 99%)

Or does it mean that a char with 100% (33,333...dex) attacks twice as fast? (attack duration is halved)

 

In other words: does "+X% attack speed" mean you do X% more attack in a fixed time or does it mean the duration of an action is reduced by X%?

Whenever I see %, I ask % of what.

 

off topic:

I do long distance running. I almost every context, speed is measured in distance/time (like km/h). Only runners use time/distance (like minutes/km). As a scientist this is driving me crazy sometimes.

Posted (edited)

- In your formula "speed_modifier = (1 * multiplication of negative effects) / (1 * multiplication of positive effects)"

I assume the value in the brackets is 1 if there is no positive and/or no negative effect.

If there is no effect and you multiply 1 with nothing, you will get problems.

Yeap, it is 1.

 

Imagine as if there were two internal variables both initiated with a value of 1:

possitiveSpeedEffectsCoef

negativeSpeedEffectsCoef

 

Now you are affected by a buff that increases your recovery speed by 20%, in this case in code you multiply possitiveSpeedEffectsCoef by 1.20. And if that buff would decrease recovery speed, than negativeSpeedEffectsCoef would get multiplied by 1.20 instead.

 

Now guess why it is better to have two variables, instead of just one :)

 

- In PoE1 only dex influences everything, all other things influence only recovery or reloading.

Dex increases attack speed by 3% per point.

Does it mean a char with 43 (or more) dex would attack infinitely fast and causes infinite damage?

(33 * 3 = 99; so it reduces the duration of attack/recovery/reload by 99%)

Or does it mean that a char with 100% (33,333...dex) attacks twice as fast? (attack duration is halved)

 

In other words: does "+X% attack speed" mean you do X% more attack in a fixed time or does it mean the duration of an action is reduced by X%?

Whenever I see %, I ask % of what.

I understand your confusion.

 

Regarding DEX:

- 2nd variant: you would be attacking twice as fast. I.e. your attack, recovery and reloading durations will be halved.

 

Regarding "+X% attack speed":

- stuff that states this in their PoE1 tooltip, affects only recovery phase.

- 1st variant: recovery duration can be reduced to zero

 

off topic:

I do long distance running. I almost every context, speed is measured in distance/time (like km/h). Only runners use time/distance (like minutes/km). As a scientist this is driving me crazy sometimes.

I will help you regain sanity  :grin:

km/h - is speed

minutes/km - is not speed. It's pace, also sometimes called tempo.

Edited by MaxQuest
Posted

Thanks so far.

Two more questions:

 

- With the rule set of POE1, lets assume you have 43,3 dex (attack, recovery and reload half as long) AND you have equipment that would make your recovery time half as long (if dex was zero). Would you have no recovery ( dex + equipment bonus added), 25% recovery (equipment halves the time that is determined by dex) or vice versa 25% (dex halves the time determined by equipment).

 

- In your suggested system, speed modifiers still affect only recovery time. The difference to the old system is: In the old system X% speed meant X% of the base recovery time is cut and in the new system the +X% speed refers to the whole action cycle. Assuming dex still has a similar effect in POE2, how would dex influence the table above?

 

Your new system is more consistent than the old one, but if dex still effects everything (including the duration of the attack itself) while all other things effect only recovery and reload, things may remain complicated.

Posted (edited)

- With the rule set of POE1, lets assume you have 43,3 dex (attack, recovery and reload half as long) AND you have equipment that would make your recovery time half as long (if dex was zero). Would you have no recovery ( dex + equipment bonus added), 25% recovery (equipment halves the time that is determined by dex) or vice versa 25% (dex halves the time determined by equipment).

You would have: [half as long] attack duration, [quarter as long] recovery and [half as long] reloading duration.

 

- In your suggested system, speed modifiers still affect only recovery time. The difference to the old system is: In the old system X% speed meant X% of the base recovery time is cut and in the new system the +X% speed refers to the whole action cycle.

Not quite)

 

In PoE1 system:

- "+x% attack speed" stuff affects only recovery duration. Plus we cannot really say if "base recovery duration" or "current recovery duration" are affected, because if target is under the influence of only one such effect then both are true, and if multiple - neither are true (because of the complicated way it is calculated, to the point when there is no longer direct proportion between effects and actual speedUp).

 

In proposed system:

- "+x% attack speed" generally yes - could be said to affect the whole action cycle, as you can see by [speedUp] column.

..

- although actually it affects only recovery AND reloading. You probably have noticed the trick I do use, e.g: when I calculate the new value for recovery I calculate the duration of green phase, and than compute what the recovery should be to accommodate this result. In such a way attack duration is kept intact just like in PoE1. But the end values of action cycle are proportional to the product of current speed effects.

 

skNcIiU.png

 

 

Assuming dex still has a similar effect in POE2, how would dex influence the table above?

Assuming DEX is computed as it is in PoE1, and taking your example from above, it would be:

- POE1: [half as long] attack duration, [quarter as long] recovery and [half as long] reloading duration.

- Prop: [half as long] attack duration, [quarter as long] recovery and [quarter as long] reloading duration.

 

 

Your new system is more consistent than the old one, but if dex still effects everything (including the duration of the attack itself) while all other things effect only recovery and reload, things may remain complicated.

Tbh, I like that DEX does affect all phases. Still thinking how it would be better to apply it though. At the end, multiplicatively; or make it directly affect the speed modifier (as one of positive or negative effects).

 

In any case, I think it would make sense to adjust the DEX effect when it's value is less than 10, specifically:

PoE1:

20 DEX => 1/1.30 = 0.769

18 DEX => 1/1.24 = 0.806

15 DEX => 1/1.15 = 0.869

10 DEX => 1/1.00 = 1

 5 DEX => 1/0.85 = 1.176

 2 DEX => 1/0.76 = 1.315

 0 DEX => 1/0.70 = 1.428

 

Proposed:

20 DEX => 1/1.30 = 0.769

18 DEX => 1/1.24 = 0.806

15 DEX => 1/1.15 = 0.869

10 DEX => 1/1.00 = 1

 5 DEX => 1.15/1 = 1.15

 2 DEX => 1.24/1 = 1.24

 0 DEX => 1.30/1 = 1.30

 

In this case something like Gauntlets of Swift Action would exactly compensate for the malus from having 5 DEX in comparison to having 10.

Edited by MaxQuest
Posted

Thanks again

 

So with your new system it is still possible to get zero recovery (and even zero reloading time in theory), but it is harder to achieve than in the old system.

 

In both systems each point of dex will always have the same usefulness. It speeds up your action cycle by 3%. If you have reduced the recovery time to zero, your action cycle consists only of the attack itself.

Posted

So with your new system it is still possible to get zero recovery (and even zero reloading time in theory), but it is harder to achieve than in the old system.

- yeap, it's possible to achieve zero recovery

- no, you can't achieve zero reloading. I would expect that stacking all reloading decreasing stuff would decrease it by x4-x6 at most.

- yeap, it's harder to achieve zero recovery (especially when using single weapon); on the other hand there will be more effect variants to achieve it as effects from other categories than AttackSpeedMult become as important.

- how hard or easy is to achieve zero recovery can be adjusted by modifying recovery_factor value.

 

In both systems each point of dex will always have the same usefulness. It speeds up your action cycle by 3%. If you have reduced the recovery time to zero, your action cycle consists only of the attack itself.

Generally - yes.
Posted

Yes it will be interesting to see how inner mechanics of Attack Speed system would work in Deadfire, so the ideal balance formula could be gained (armor / weapon)

Also it's interesting how stats will influence overall dps.

I'm fond to max out Perception for hits and crits but high Strength is always pleasant too.

And I wonder if OBS will rework stun system, cause PoE I is kinda lame, if they leave it as it is - Con will be underdog stat again.

Done this with Moon Godlike Wizard

q22yrpP.png

Perebor steam

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...