Whirlwind Breakpoints
#41
Tub:

I think the issue here is that some aspects of Hammerman's formula, by its nature, can be very difficult to test directly in game. It is entirely possible that everything you have observed in testing is in agreement with Hammerman's formula in fact. If I understand you correctly, you are obtaining WIAS-WSM breakpoints by counting how many times you can hit per WW. The inherent problem of this approach is that a unit of WW may have a definitive time span, and some breakpoints may be impossible to test as a result of that. Looking at your data for example, we have...

1): 10 to 12 frame breakpoint for 1hs not observed at -20/-19
2): 8 to 10 frame breakpoint for 2ht not observed at -18/-17
3): 12 to 14 frame breakpoint for 2ht not observed at +5/+6

If your measurements were absolutely correct, and a unit of WW has a definitive time span, it can assume several values without contradicting your data at all. These are 22, 23, 24, 28, 32, 38, 44, and there would be even more possibilities here if you did not test WIAS-WSM values in 1 point intervals. We can safely discard the lower values here by experience, but the higher ones cannot be ignored. Maybe someone can measure the number of frames in a single WW and see if it coincides with any of these values? We can also narrow down the choices here with more extensive testing and by accounting for those breakpoints which can be observed. The chance that there may be a cap on hits per WW (not hits per monster) can further complicate things however.

As far as double attacks while dual wielding in WW is concerned, that should be relatively easy to test by having a Barbarian WW through a dense pack of monsters with life leech on two identical weapons, then repeating that test after removing or replacing one weapon. For speed tests with dual wielding, use two different weapons instead (e.g. War Hammer vs. Phase Blade). It might be helpful to have a Necromancer spam the screen with Bone Wall and ensure maximum contact as well.
Reply
#42
Hammerman,May 21 2003, 04:49 PM Wrote:Yes, it does attack with both weapon (except the first time). However, you won't be able to hit the same target with both weapons.
Ok, just to clarify:

The first of the two "freebie" (frame 4) attacks is only with one weapon (the left?), but the second "freebie" (frame 8) attack and all subsequent attacks are with both if possible.

You only get both attacks off at once if there are at least two monsters within range at that moment, and the attacks will always target two different monsters. Otherwise - assuming identical weapons - you might as well only have one of the two equipped.

So my questions are:

1. What if there is one monster in range of both weapons, and one in range of just one? Or maybe both monsters are in range of only one of the two weapons? In other words, how does it handle differing ranges between the two weapons?

2. If it is the first attack, or if there isn't a second monster in range, how does the game determine which weapon to use?

Also, just out of curiosity, Hammerman, where have you learned all this technical information about Whirlwind from?

- Dagni
Reply
#43
Hi ,
1) Every 4 frames Whirlwind finishing function checks if you should make an attack. Even if there are no valid targets.
If you should make an attack, then it calls another function that checks if a valid target exists for the current weapon. if there are more than one valid target this function chooses the monster with the ID (PtUnit +08) next to the last target

So Range is per weapon basis.

If there are no valid target for the current weapon, there is no test for the second one even if it has a greater range

2) As Hammerman says, " If dual weilding, it changes which weapon to use each successful attack"

Hammerman probably dissasembled the WhirlWind finishing function in D2Game.dll

I describe this function on a french forum, if you know french i can give you the link
Reply
#44
A question for Hammerman or Myrdinn,

When the game is checking which a1_frames to use does it look it up by checking if the weapon is being used two-handed (checking the 2handedwclass field of weapons.txt) or does it just use the wclass field from wepons.txt reguardless? If it is the later case then all swords will always be using the 1hs a1_frames no matter how they are equiped. This is what seems to be the case from what the testers are claiming and would not surprise me at all from some of the other things that have been coded into the game before.

Tub, you left out some of the details on what you did for the testing. Did you modifiy the the Whirlwind skill to provide a 0% damage adjustment? If not, how much damage boost was derived from the skill? What weapons did you use for knowing the ranges on them?

However, assuming that you did set the WW skill to do 0% damage and using your following description:
Quote:What happened here ? If there was a cap between -20 and -19 on swords, the wendigo should have died a couple of ww's earlier. But it didn't. You might argue that 42 instead of 43 ww's per wendigo is faster, but the next cap jumped to 33-34 ww's, then 25, and past the cap at 34 I needed 17 ww's for a kill. 43 to 42 is nothing.

You were a little vauge but I take it that at the slowest tested speeds you were taking 42 or 43 WW passes to kill a wendigo (breakpoint not pinned down as this is below the normal range one could get to).
Then for the -10 to +7 range it was taking 33 to 34 passes.
For the +8 to +33 range you were requiring 25 passes.
And for the fastest range (+34 and up) you were getting 17 WW needed.

The number that you are giving are working out to about the following:
Lowest range ~235 damage per pass or 2.3 hits per pass (odd amount to be getting but see final part for why it could be expected)*
For -10 to +7 (8 frame) this would be ~300 damage or 3 hits per pass.
For +8 to +33 (6 frame) this would be ~400 damage or 4 hits per pass.
For +34 and up (4 frame) this would be ~590 damage or 6 hits per pass.

*monster hit point recovery cannot be set to absolute zero, they will still be recovering a minimal percentage per frame of time. At 10,000 hit points and the amount of time that would be required to 40+ passes may have made it necessary to do 2 or 3 extra passes to make up for what they were recovering.

The last rate of 6 hits per pass at the fastest rate of attacks (4 frames) Suggest that during your testing the character was in range of the target for a period of time close to (or a little over) 24 frames of time. Now if we chart out for the various frame speeds when to expect the attacks to be made we can see what to expect for the number of hits to see in an interval of around 24 frames.


frame_____16_____14_____12_____10_____8______6______4
4_________xx_____xx_____xx_____xx_____xx_____xx_____xx
8_________xx_____xx_____xx_____xx_____xx_____xx_____xx
12________--_____--_____--_____--_____--_____--_____xx
16________--_____--_____--_____--_____xx_____xx_____xx
20________--_____--_____xx_____xx_____--_____xx_____xx
24________xx_____xx_____--_____--_____xx_____--_____xx
28________--_____--_____--_____xx_____--_____xx_____xx
32________--_____--_____xx_____--_____xx_____xx_____xx


XX denotes when an attack is checked.
table help from Jer at AB &$$@@@!!! invision boards!

Now the question how much lead distance was used to make a 'pass' and was it very consistent (doubtful as there was not a reason to think it was necessary).

Lets look at the expected number of hits from 3 cases.
first: all WW passes get the 4 through 24 frames checks.
frames....hits
16...........3
14...........3
12...........3
10...........3
8.............4
6.............4
4.............6

At 8 through 28 frames
frames....hits
16...........2
14...........2
12...........2
10...........3
8.............3
6.............4
4.............6

At 12 through 32 frames
frames....hits
16...........1
14...........1
12...........2
10...........2
8.............3
6.............4
4.............6

From the looks of this it appears the most of the tests ended up using the second case with some of the first case thrown in on some passes. For the highest 2 speeds this would make no difference and only a minor amount of difference at the 3rd speed. At the lowest speeds the difference would have been more more pronounced and would explain why the average ended up between the 2 expected values.

You can also get an idea of what to expect if someone were to using some of the slowest weapons on a WW that lasts longer than the typical attack against one or 2 monsters close together. You can also see what will happen when doing the Dance of Death with a single foe. Since you are using several very short WW runs, you can expect to usually be hitting the 4 and 8 frame counts which are automatic checks even for a very slow weapon. This lets the DoD simulate working at the highest speeds with most any weapon.
Reply
#45
tub,

You're questions (or doubts) seem to be mostly targetet at dual weilding speeds... perhaps I did not explain that well enough.

Quote:In most cases this speed really was your left hand weapon speed! Any explanation for this ?

You were doing tests on a single target, correct? The sequence should go something like this (after 2 first "free" attacks):

default weapon = left
calculate next delay (based on default weapon)
find target in range
attack
switch weapons (default weapon = right)
we're dual weilding, so find a new target
oh, its the same target, skip the attack
switch weapons (default weapon = left)

see? when the next attack sequence starts, the default weapon will be the left one. And so on (as long as there's only one target). Hopefully this answers your questions.

myrdinn,

Quote:1) Every 4 frames Whirlwind finishing function checks if you should make an attack. Even if there are no valid targets.
If you should make an attack, then it calls another function that checks if a valid target exists for the current weapon. if there are more than one valid target this function chooses the monster with the ID (PtUnit +08) next to the last target

Not sure if you realised it or not... but the range within wich the game selects targets is not based on the weapon. It finds targets within a 5 tile unit radius (note the push 5 before the call), and then proceeds to attack the target. If the attack failed (eg because the monster was out of weapon range), it still switches weapons.

(btw, why dont you post at the Keep?)
Reply
#46
Ruvanal,May 22 2003, 10:52 PM Wrote:A question for Hammerman or Myrdinn,

When the game is checking which a1_frames to use does it look it up by checking if the weapon is being used two-handed (checking the 2handedwclass field of weapons.txt) or does it just use the wclass field from wepons.txt reguardless?
It'll always use the wclass field.
Reply
#47
so it ignores twohandedwclass param. how logical... <_< i wonder why the favoritism towards swords.

can i simulate something two targets for a definitive clarification? using what you wrote:

scenario 1
default weapon = left
calculate next delay (based on default weapon)
found target 1 in range
attack target 1

switch weapons (default weapon = right)
calculate next delay (based on default weapon)
found target 2 in range
attack target 2

switch weapons (default weapon = left)
calculate next delay (based on default weapon)
found target-x in range
attack target-x

etc, etc...

scenario 2
default weapon = left
calculate next delay (based on default weapon)
found target 1 in range
attack target 1
switch weapons (weapon = right)
found target 2 in range
attack target 2

switch weapons (default weapon = right)
calculate next delay (based on default weapon = right)
found target-x in range
attack target-x
switch weapons (weapon = left)
found target-x in range
attack target-x

etc, etc...

which scenario is the correct one?

thanks!
Reply
#48
I think the "favortism to swords" is because this formula checks directly to the weapon. Sure it doesnt have to be this way, but it was probably slightly easier to have it this way.
Reply
#49
The scenario 2 is the correct one :) Assuming there are always 2 targets. Else the sequence is

"calculate next delay (based on default weapon)
found target-x in range
attack target-x
Switch Weapon"
For 1 target in range


Thanks Hammerman for the precision.
Ok i will post the WhirlWind Finishing Function description at the keep.
At least what i understand of this function ;)
Reply
#50
thank you, myrdinn. no wonder my dual wield whirlers always kill faster.

which forum are you going to post at the keep? code-editing?

losc
Reply
#51
You're Welcome.
And Yes Code-Editing Forum.
Reply
#52
One other question, perhaps one rather hard to measure

If you continuously whirl by keeping the mouse button held down and moving the mouse around the monsters it seems to me that you start your whirlwind more often than if you single click across a pack and then single click back

In fact I'm quite sure of this because I generally prefer the first technique but use the second when I'm low on mana/mana leech

There is a clear improvement in whirls per mana which must mean that in a continuous whirl you are starting and re-starting the sequence more often

Is that logical?

Now if that is true then it has the following implications once your damage and mana steal can support the technique

1) You spend more time at the front end of the sequence. This gives you the 2 automatic delay 4 hits at the beginning

2) At the front end of the sequence ias is irrelevant (delay 4 and delay 8 regardless of WIAS, no?)

3) Big slow heavy damage weapons make a certain sense with this technique - lance barbs are viable perhaps. Or better dual wielding base speed 20 weapons barbs - although the lance will be better at the Delay 4 hit


Does this tie in with anyone's analysis/observations?

Has anyone noticed different performance with different patterns? (ie circles, figures of 8, zig-zag whirls)?
Reply
#53
myrdinn,May 22 2003, 11:48 AM Wrote:1) Every 4 frames Whirlwind finishing function checks if you should make an attack.
Does this mean attacks are only possible on the 4th, 8th, 12th, 16th, etc. frames starting from the begining of ww's activation, or is the 4-frames between checks only valid for the first 2 freebie attacks (i.e. the first 8 frames) and then it checks every frame after that using the 'real delay' number? To clarify my question, if you have a weapon with a 'real delay' of 6, which sequence of frames do you make attacks on:

A. 4,8,14,20,26,..
B. 4,8,16,24,..
C. something else

A would make sense, given that real delay of 6 corresponds to an empirical breakpoint, and B would look identical to real delay of 8, but A seems to go against the 4-frame check.


Something else I'd like to clarify as well. When dual wielding, which weapon attacks first? I'm guessing it's the weapon on the left when looking at your inventory screen (that is, the weapon in your characters right hand). Just saying 'leftweapon' is amibiguous (to me at least-there could be a convention I'm unaware of).

Thanks to all the code readers who are pulling this info out :D . This thread explains so much, especially with regards to dual wielding's quirks. I think it even explains Blizzard's claim that dual wielding increases your attacks by 50%, even though that's only technically accurate in the first 8 frames of ww and against 2 or more opponents :blink: .
Reply
#54
Dagni:
Quote:You only get both attacks off at once if there are at least two monsters within range at that moment, and the attacks will always target two different monsters. Otherwise - assuming identical weapons - you might as well only have one of the two equipped.
no - as I posted before, if you pick 2 identical weapons you'll kill a single target twice as fast as with weapon/shield-combination. I didn't test dual wielding against multiple monsters, so no further information on that from me.

@Ruvanal:
Quote:Tub, you left out some of the details on what you did for the testing. Did you modifiy the the Whirlwind skill to provide a 0% damage adjustment? If not, how much damage boost was derived from the skill? What weapons did you use for knowing the ranges on them?
No, I didn't modify the ww skill, but the skill-level was always the same.
The weapons were modded, just a little fill on the range and damage-columns, and different speed-values inserted. I cannot tell you what range it was right now, but it was the same for all weapons.

I didn't build my tests to get the average hits per ww on that poor Wendigo, I just wanted to see where the caps are. Why ? Because my question was less "how does ww work?" but more "what weapons should my barb use?".

Quote:You were a little vauge but I take it that..
exactly.

Quote:Now the question how much lead distance was used to make a 'pass' and was it very consistent (doubtful as there was not a reason to think it was necessary).
I did leave some room between me and the wendigos. Not because I expected some lead attacks, but because I didn't want to accidently start a WW "inside" the wendigo.

Well, do you suggest I should do the tests again, this time using longer range weapons and more distance to the wendigo when starting ? The missing caps should be measurable that way, right ?


@Hammerman:
thanks, yours and Loschonorg's posts made it clear. Fits into my data so far, but I'll do some more tests for sure.


@pbrain:
please be VERY careful when talking about left/right slots and left/right hands. If you don't fulfil the str and dex-requirements of both weapons with invested str/dex, helmet and amulet alone, your weapons may end up in other hands than you expect. If you're interested in that matter, I can post more info, but that's not the topic here.


greetings,
Tub
m00
Reply
#55
Quote:QUOTE&nbsp;
Now the question how much lead distance was used to make a 'pass' and was it very consistent (doubtful as there was not a reason to think it was necessary).

I did leave some room between me and the wendigos. Not because I expected some lead attacks, but because I didn't want to accidently start a WW "inside" the wendigo.

Which is why I was assuming that you had left some starting distance in the first place. But at the same time why would you consistently leave a large starting distance to get past the initial 4 and 8 frame check points if you did not know that they existed?

[color]Well, do you suggest I should do the tests again, this time using longer range weapons and more distance to the wendigo when starting ? The missing caps should be measurable that way, right ?[/color]

That was an earlier though of mine until Hammerman listed this:
Quote:Not sure if you realised it or not... but the range within wich the game selects targets is not based on the weapon. It finds targets within a 5 tile unit radius (note the push 5 before the call), and then proceeds to attack the target. If the attack failed (eg because the monster was out of weapon range), it still switches weapons.

This to me indicates that no matter what the weapon range is in the MPQ files that game is going to use a 5 tile unit radius for the game checks. You might check for that, but it does match my in game experience with which monster do seem to be getting hit (distance from character, no matter the weapon in hand).

If you want, you could try looking for those other low speed breaks by making sure that you are far enough from the target so that you will not get the 4 and 8 frame checks into the hit count. Off hand I do not think that most player will really care that much as it is not a desirable speed range to be working off of in the first place. To that point here is the charts that I listed earlier extended out to a larger frame count range.

1hs (will cover all barbarian one handed attacks and all swords one or two handed use)
frame
delay___WIAS-WSM
16______-39 and lower
14______-38 to -31
12______-30 to -20
10______-19 to -11
8_______-10 to +7
6_______+8 to +33
4_______+34 and higher


2ht or stf (covers all the barbarian two handed weapons except for swords)
frame
delay___WIAS-WSM
16______-27 and lower
14______-26 to -18
12______-17 to -5
10______-4 to +5
8_______+6 to +26
6_______+27 to +58
4_______+59 and higher

*Note: you normally will be able to get lower than -20 in the game unless dealing with game modified weapon speeds.


frame_____16_____14_____12_____10_____8______6______4
4_________xx_____xx_____xx_____xx_____xx_____xx_____xx
8_________xx_____xx_____xx_____xx_____xx_____xx_____xx
12________-______-______-______-______-______-______xx
16________-______-______-______-______xx_____xx_____xx
20________-______-______xx_____xx_____-______xx_____xx
24________xx_____xx_____-______-______xx_____-______xx
28________-______-______-______xx_____-______xx_____xx
32________-______-______xx_____-______xx_____xx_____xx
36________-______xx_____-______-______-______-______xx
40________xx_____-______-______xx_____xx_____xx_____xx
44________-______-______xx_____-______-______xx_____xx
48________-______-______-______xx_____xx_____-______xx
52________-______xx_____-______-______-______xx_____xx
56________xx_____-______xx_____-______xx_____xx_____xx


You still may not be able to tease out the lowest speeds due to there being very little difference in when they should be hitting during a 24 frame interval in the section that I have listed here.

Rivo over at AB as done a nice graphic listing of the range for character to target.
http://www.theamazonbasin.com/d2/forums/in...ST&f=54&t=26279

Of course these speed difference effects may come into play in v1.10 if there are items that will allow other classes to Whirlwind also. If barbs can turn into a WereWolf why not let some other classes do a barb trick? (Whirlwind Werebear -> Tazmanian Devil?)

edit: hit send instead of preview various corrections.
Reply
#56
A detail of dual wielding didn't seem to very clear to me, so I'll ask this explicitly:

Are the two free hits of a WW attack sequence affected by dual wielding such that you attack four times, or do you just attack twice with each of your weapons?

If the answer is no, WW dances would be counter-productive for players who dual wield fast swords.
Reply
#57
if i didn't understand wrongly, dual wielding lets you have the chance to attack with both weapons after each delay.

hence my saying that blizzard was wrong to say dual wielded whirlwind attacks 50% more. if its me, i'd say its 100% more effective!

losc
Reply
#58
We don't know who will have the last laugh yet so I wouldn't be so quick to conclusions. The dual wield bonus only approaches 100% if you're in a very long WW. For most people doing the WW dance, they may in fact only be getting a 50% bonus or less, depending on exactly what triggers and resets the WW sequence.
Reply
#59
It seems to me that Hammerman has clearly stated that you get both attacks at the delay 4 and delay 8 when dual wielding

Quote:When dual weilding, the game will switch between default weapon each attack. so the first delay will be based on the weapon in the left hand (from the players perspective), second delay based on weapon in right hand, etc. And you will ofcourse attack with both weapons each attack
(Hammerman, above)

So as long as you can keep tight on the monsters so that no attacks fail for being out of weapon range dual wielding slow high damage weapons should beat other methods. In fact it is not clear that colossus blades (easier to hit the breakpoints) beat colossus swords (slower, higher damage, lower stat requirements). It would depend on an as yet unknown factor: how far into the whirlwind does the first whirlwind stop and a new whirlwind take over?

What's more it may be possible to deliberately "break" a whirlwind so that you reset it

Now does anyone have any thoughts on whether a back and forward "zigzag" whirl pattern might interrupt your whirls, making you start new ones more often than a classic "dance of death" circle round the monster?

I suppose if someone's noticed that one particular technique is rather mana-hungry then that is the technique that can optimise damage (attractive since the mana hungriness becomes a non-issue at higher levels with better gear)

Do any testers feel like trying a 10000 mana, no mana leech Barb through different patterns and timing how long it takes to run out? :)
Reply
#60
Hammerman's "the first delay" may very well be referring to the first calculated delay, in which case it would not include the two free hits. We won't know how to interpret that unless he explains it himself.
Reply


Forum Jump:


Users browsing this thread: 6 Guest(s)