Item Search
     
BG-Wiki Search
+ Reply to Thread
Page 1 of 6 1 2 3 ... LastLast
Results 1 to 20 of 102
  1. #1
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Ranged Delay, Snapshot, and Stuff

    There are some old tests on Ranged Delay that have been lost as far as I can tell, but recent changes to Windower (LuaCore) have given us the opportunity to investigate this topic with higher accuracy than was previously possible.

    Methods:
    I have written a Lua plugin that analyzes incoming "action packets" for their category messages. Category 12 messages indicate the initiation (or interruption/failure) of a ranged attack and Category 2 messages indicate completion. I record the time between each of these packets arriving. Thus, the variance should look like this:
    Category 12: I send the message, the server receives it and acknowledges that I have tried to shoot, sending me a message to that effect. This value should be Server Initiation Time + Server-Client delay.
    Category 2: The server decides I have shot. This value should be Server Completion Time + Server-Client delay.

    Both measurements are obscured by the Server-Client delay, which should be variable but equal on average between the cases. Thus, I expect to get a range of results but the average of them should be the true delay on the server.

    I use this plugin and a RA spamming script to throw stuff at Hpemdes for hours with fSTR=-1, then I analyze the resulting data.


    Results:
    This is a histogram of ranged attack times collected as a 99 SMN with no sub and only -STR gear (Hoard Ring, Malflame Ring, Acerbic Sash) using Mamoolbane:
    Spoiler: show

    Mean is 2.7578 seconds :: 106 Delay per second
    Mode is 2.8555 seconds :: 103 Delay per second

    First off, three things to note:
    1) I am using a Chakram rather than a weapon that actually has ammo. It is unclear exactly how ranged delay is calculated, so it is unclear whether this is important.
    2) I would not have expected nearly so large a distribution. The minimum value is 20% less than the maximum value with no Rapid Shot or Snapshot or anything. What the hell is that?
    3) Because there is such a large distribution, it is unclear how anyone ever have determined snapshot values down to single percent values using a lower resolution technique (frame counting).

    Tests to be done:

    * Ranger 99 with Snapshot merits. - Rapid Shot proc rate for 99 RNG and Snapshot Merits
    * Ranger 99 without Snapshot merits. - See the change from losing 10 Snapshot, which will allow us to determine the base trait potency at 99 and confirm that 1% Snapshot is -1% Ranged Delay.
    * Ranger 99 with Velocity Shot. - Determine the real potency of Velocity Shot.
    * Ranger 99 with Ranged Weapon/Ammo. - Figure out how Ammo delay factors in now.
    * Corsair 99. - Determine Rapid Shot potency at 99.
    * Equipment tests - Going to be much easier to do ones without STR than with it.
    * RNG AF3+2 body - Going to be a hard test to do

  2. #2
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    This is a histogram collected as 99 RNG with no sub, only -STR gear, with 0 Snapshot merits using Mamoolbane:

    Spoiler: show

    Mean is 2.4836 seconds :: 10% less than Control
    Mode is 2.8594 seconds :: The same as Control, approximately

    Conclusions:
    * Rapid Shot job trait on 99RNG reduces ranged delay by an average of 10%.


    This is a histogram collected as a 99 RNG with no sub and only -STR gear, with 5 Snapshot merits (10 Snapshot) using Mamoolbane:
    Spoiler: show

    Mean is 2.2038 seconds :: 20% less than the control Mean
    Mode is 2.4141 seconds :: 15% less than the control Mode

    Things to note:
    * It is probably not safe to assume that the Mode peaks represent the same frequency spike, as there is considerable aliasing being caused by the various servers/protocols between Lakshmi and I.
    * The mean shows that Rangers without Velocity Shot still shoot about 20% faster than a control character due to Snapshot merits and Rapid Shot.
    * I am going to let this one continue running for a few more hours to expand the Rapid Shot distribution (low end) and hopefully update this post with the real mechanics.

  3. #3
    Impossiblu
    Join Date
    Mar 2010
    Posts
    10,362
    BG Level
    9
    FFXIV Character
    Prothescar Centursa
    FFXIV Server
    Balmung
    FFXI Server
    Valefor

    Ranged delay has two parts:

    1) when you pull out weapon, this ends when you shoot
    2) when you put away your weapon and can't shoot again, this part lasts for one second (used to be two, but when they changed ranged delay before this is what they changed)


    Ranged delay is still 60/s, just like melee, but the delay listed on weapons includes the second part of ranged delay. The 1 (before, 2) second, which used to be 120 delay, so if you want an accurate delay for the first part, you need to subtract 120 from delay.


    Using the Mamoolbane in the first test, we get 294 - 120 = 174 delay. 174/60 = 2.9 which is close enough to your values. (blame the rest on lag or crappy programming)

    For the second test, we get (294*0.9) = 264 to account for Snapshot merits, then we reduce it by 120 = 144 which comes out to 2.4 seconds, which is the most common value in that sample.


    So 1% Snapshot = 1% delay, to nobody's surprise

  4. #4
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    That seems unlikely for a variety of reasons, but the tests that I'm doing will sort it out if it's true.

  5. #5
    Impossiblu
    Join Date
    Mar 2010
    Posts
    10,362
    BG Level
    9
    FFXIV Character
    Prothescar Centursa
    FFXIV Server
    Balmung
    FFXI Server
    Valefor

    Such as?

  6. #6
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Well, first background:
    1) Ranged Delay has two phases, you're right. First you send a "I want to shoot the monster" packet and the server sends you back one that's equivalent to a "readies" message for TP moves or a "casting" message for spells, but it doesn't display a message because SE didn't design it that way. If I wanted to in battlemod, I could have "Jimmy starts aiming" message every time you initiate a ranged attack, but I don't because it'd be annoying. This phase lasts until you shoot. I have the most precise measurement of this phase that is possible for clients.

    2) After you shoot, there's some animation delay before you can shoot again like with JAs or Spells. Its duration apparently used to depend on ammo delay, but doesn't anymore. You do not get another packet to tell you when this phase ends, so I can't measure it nearly as exactly.


    Now, why it is probably not right:
    * First, because you're proposing one of the many models that happen to fit the only two data points we have. Unless you have more data, it's very premature and unsupported. Unsupported models are unlikely to be correct.

    * The model works for my Chakram the way that you have it proposed (approximately), but the original testing was done at level 75 and came up with 110 delay per second. Also, we know that it was done using weapons that had ammo, because it specifically included ammo delay. If someone did testing with a ranged weapon like Obow (432 delay) and a typical bolt (192 delay) with your system, it would have been 5.2 seconds per shot. That would have made them estimate ranged delay around 83 delay/sec (if they didn't include ammo in the calculation) or 120 (if they did). Instead they calculated 110 delay/sec, which is suspiciously close to what I got. In fact, if they did testing with virtually any non-chakram weapon that was commonly used at 75, they would have had dramatically higher ranged delay than me and the slope would have come out closer to yours because the offset is less significant. Furthermore, when SE made the ranged delay changes they probably did not increase ranged delay (decreasing delay/second), so it is unlikely that the system has changed towards what you are proposing since then.

    * I have frame-counted trying to calculate Snapshot. All the variability in the above histogram still exists when framecounting and it sucks. There's pretty much no way that anyone could have come up with a precise model for this without reading the packets, and even now I'm not entirely confident that I'll be able to tell what Rapid Shot's mechanism is without tens of thousands of tosses. I need to figure out how the major peaks are being caused so that I can correct for aliasing. For instance, why are there 4-5 major peak clusters in my control case?

  7. #7
    Impossiblu
    Join Date
    Mar 2010
    Posts
    10,362
    BG Level
    9
    FFXIV Character
    Prothescar Centursa
    FFXIV Server
    Balmung
    FFXI Server
    Valefor

    THey wouldn't have had to change anything about delay/s for the change that they made. Regardless, I look forward to seeing the results of your tests.

  8. #8
    Ridill
    Join Date
    Apr 2011
    Posts
    23,736
    BG Level
    10
    FFXI Server
    Bahamut

    Ditto. Once I get thru my back log of stuff to test myself I'll help if I can. Really wondering just how far we can take snapshot. Rng has so much potential but so little is known about it

  9. #9
    Flowery Twats
    Join Date
    Jul 2008
    Posts
    3,583
    BG Level
    7

    Quote Originally Posted by Byrthnoth View Post
    After you shoot, there's some animation delay before you can shoot again like with JAs or Spells. Its duration apparently used to depend on ammo delay, but doesn't anymore.
    I always thought that delay was static and that ammo delay affected nothing except TP return? I don't remember there being a significant difference in the "reloading" phase between bows and guns (90delay arrow, 240delay bullet). Not that it matters anymore.

  10. #10
    Melee Summoner
    Join Date
    Dec 2010
    Posts
    47
    BG Level
    1
    FFXI Server
    Leviathan

    If you want to share your lua script so we're using the same measurements, I'd be more than happy to assist with some of the testing when I'm able. Just let me know what would be the most helpful in the way of contributions and I'll see what I can do about it.

  11. #11
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Sure thing:
    Code:
    timeit = require 'timeit'
    
    function event_addon_command(...)
        if ... == 'reset' then
            Max = 0
            Min = 999
            DelayArray = {}
            add_to_chat(5,'Max and Min Reset.')
        elseif ... == 'display' then
            add_to_chat(5,'Max: '..Max..' and Min: '..Min)
            local trans_tab = {}
            for i,v in pairs(DelayArray) do
                if trans_tab[v] then
                    trans_tab[v] = trans_tab[v]+1
                else
                    trans_tab[v] = 1
                end
            end
            local a = {}
            for n in pairs(trans_tab) do table.insert(a, n) end
            table.sort(a)
            for i,n in ipairs(a) do
                add_to_chat(5,trans_tab[n]..' '..n)
            end
        end
    end
    
    function event_load()
        Max = 0
        Min = 999
        DelayArray = {}
    end
    
    function event_unload()
    end
    
    function event_action(act)
        local j = 0
        if act['category'] == 12 and act['param'] == 24931 then
            ttime = timeit.new()
            ttime:start()
        elseif act['category'] == 12 and act['param'] == 28787 then
            j = ttime:stop()
            add_to_chat(5,j..' Interrupted.')
        elseif act['category'] == 2 then
            j = ttime:stop()
            DelayArray[#DelayArray+1] = j
            if j > Max then
                Max = j
                add_to_chat(5,j..' Completed. New Max!')
            elseif j < Min then
                Min = j
                add_to_chat(5,j..' Completed. New Min!')
            else
                add_to_chat(5,j..' Completed.')
            end
        end
    end

  12. #12
    Cerberus
    Join Date
    Sep 2011
    Posts
    496
    BG Level
    4
    FFXIV Character
    Sakura Ephemera
    FFXIV Server
    Brynhildr
    FFXI Server
    Bismarck

    Cool stuff. I'm definitely interested in this as well. I always miss the good topics in this part of the forum.

    Pretty sure 1 snapshot = -2% delay, just because it says exactly that in the merit menu, but it could be a bad translation. I've tried testing this in the past, and the best way I've found to do it is to shoot > move char > time when the message (your shot was interrupted) appears. Then I can compare that time to equipment like ACP body (snapshot +5; or any body with a literal snapshot number) and determine its relative boost to snapshot. If you can determine the boost of equipment with a literal "snapshot +#" enhancement, then you can just compare numbers from that point.

  13. #13
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Here are some preliminary results from 0% Snapshot with a Relic Gun and Spartan Bullets. I call them preliminary because it takes ten freaking years to collect data with a 999 delay Relic gun. I think this will end up being the most interesting test so far, though:
    Spoiler: show


    Mean is 7.7540 seconds
    Mode is 8.6016 seconds

    Things to note:
    * You can see the periodic distribution of shot delays that was not apparent in the (higher sample size) Mamoolbane test. It seems safe to assume that these were caused by Rapid Shot. The lowest recorded delays are around half of the mode (4.38 vs. 8.6), which was approximately the case in the above Mamoolbane 0 Snapshot control. Furthermore, the groupings seem to be periodic with a period of approximately 0.4 to 0.5 seconds. It is possible that Rapid Shot just subtracts a fixed amount of time from your firing time down to a maximum of half the initial duration.
    * There are 1524 points above 8.3 seconds and 896 points below for a total of 2420 shots. This would indicate about a 37% Rapid Shot proc rate. I am 5/5 merits, so this would indicate a ~32% base +/-2% (assuming correct classification, so maybe larger). Not very pretty, but maybe more accurate than previous tests.
    * Mean is 10% less than the mode. It was 5% less in the summoner control and 14% less in the Ranger no-snapshot control and 9% less in the Ranger 10 snapshot case. I'm not really sure what to make of this.

    Mamoolbane is a 294 delay throwing weapon, while Relic Gun is a 999 delay weapon with Spartan Bullets (240 delay) as ammo. It is unclear how Bullet delay factors into the process, but there are basically two high probability options:
    1) Bullet delay does not affect the time between initiating a shot and firing.
    2) Bullet delay does affect the time between initiating a shot and firing.
    These will be addressed more directly in future tests using Relic Bow and D1 arrows (lower delay ammunition), but they will be just treated separately for the moment. There are currently two models for Delay proposed in this thread. I proposed that it's just ( y = m*x ) like meleee weapons and Prothescar proposed that it was ( y = m*x + b ), specifically with m = 60 and b = -120 for Mamoolbane.

    We likely have either a 999 Delay or 1239 delay weapon, though we can't say for sure that we don't have something else until we do the test. These would be the delays if ( y = m*x ):
    * 999/8.6 = 116 delay/second
    * 1239/8.6 = 144 delay/second
    Neither of these are the 103 delay/second we would have predicted from Mamoolbane.

    To test the two interpretations of Prothescar's model:
    * (999-120)/8.6 = 102 delay/second
    * (999-240)/8.6 = 88 delay/second
    Neither are particularly close to 60, so the specific values proposed don't work. ( y = m*x + b ) is still a valid model, though, it just needs different constants that perhaps vary with ammunition type.


    I will continue this test (slowlyyyy) until a Yovra kills me for my impudence or the Hpemde decides to attack me despite shooting for 0 damage. Hopefully a larger sample size will make the periodic rapid shot junk a little more clear.

    Edit:
    After thinking about it, this is mildly reminiscent of my earlier melee Delay findings, but it shows a much larger range.

  14. #14
    Salvage Bans
    Join Date
    Sep 2008
    Posts
    995
    BG Level
    5
    FFXI Server
    Asura

    Using your ranged attack thing for windower 4, would something like 5min shooting with no snapshot then 5min with w/e snapshot gear on a job with no rapid shot/snapshot trait work to find out %? Or is it not spamming shoot fast enough?

  15. #15
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    How fast you shoot doesn't matter for it. I don't really know how long you'd need to quantify snapshot amounts, but I'd bet it's longer than 5 minutes. The above parses were ~8 hours each.

    You could probably get a rough estimation with something like 30 shots in each case, as long as you don't have Rapid Shot trait/gear?

  16. #16
    Salvage Bans
    Join Date
    Sep 2008
    Posts
    995
    BG Level
    5
    FFXI Server
    Asura

    Okay, I'm down to help with this for gear that are used on job like sam thf dnc etc if needed. Pretty much everything beside rng af3+2 head/body and impulse belt seems to be usable by more than rng or cor.

    edit: I'm not sure why how fast it shoot doesn't matter, so you'll prolly have to tell me what to do then.

  17. #17
    Claustrum. Really?
    Join Date
    Nov 2007
    Posts
    3,806
    BG Level
    7
    FFXIV Character
    Kaith Laqueus
    FFXIV Server
    Ragnarok
    FFXI Server
    Asura

    Are we likely to be able to tell the difference between Nahtirah Trousers and Mustela Brais or Blood Finger Gauntlets and Manibozho Gloves?

    Impression I get is that it isn't accurate enough to make a decent judgment unless there's a large difference between them? Or am I misinterpreting?

  18. #18
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Smaller differences will be harder to see, but you should be able to see the difference given a large enough sample size.

    The reason how fast you shoot doesn't matter is because that's not what Snapshot affects. Snapshot affects the time between using "/ra <t>" and actually firing. The addon linked above records the delay between these things. Doing /ra <t> and afking for 30 seconds isn't going to affect when you actually shoot, so it doesn't matter if you afk for 30 seconds, 9 seconds, or 2 hours.

  19. #19
    Ridill
    Join Date
    Apr 2011
    Posts
    23,736
    BG Level
    10
    FFXI Server
    Bahamut

    Are you able to see when you are able to attempt shoot again?

  20. #20
    BG Content
    Join Date
    Jul 2007
    Posts
    21,105
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Nope, which is unfortunate.

+ Reply to Thread
Page 1 of 6 1 2 3 ... LastLast