MMO News and theorycrafting for advanced MMO gamers. News and articles that relate to your gameplay. World of Warcraft, SWTOR, Guild Wars 2, Rift, TERA, Eve Online, Star Wars the Old Republic, Diablo3, The Secret World and all Western AAA MMOs
|
Gunnery/Arsenal DPS, Simulator, A new approach
|
|
02-24-2012, 09:00 AM
(This post was last modified: 03-04-2012 07:49 AM by Qed.)
Post: #1
|
|||
|
|||
|
Gunnery/Arsenal DPS, Simulator, A new approach
After staring intently at Buarl's spreadsheet and Firingrate's sheet, I wanted to try a different approach to theorycrafting DPS and stat weights, simulation! Instead of imposing a model for our rotation and calculating averages, I simulate a single fight for a longass times (~100 days or so goes pretty quickly), using skill-by-skill logic for when to fire each shot.
The result is ... interesting. First, the code (python, for those who don't recognize it): Code: import math(apologies for the massive ugliness) Because there is some randomness inherent in our rotation, we need a long fight to get a good sample, even though we force each attack to do average damage (though we allow for random crits). As such, it's easier to get stat weights with +10 or +100 rather than +1 of a given stat. At the moment, accuracy is not implemented here, so this will be a measure of the sample-to-sample variation in our dps, rather than a measurement of weight. Lots of of other things aren't implemented either, like the class buffs. Still, we get 'Effective Power' ratings that are... not insane compared to the more developed approaches: Code: baselineTurning this into stat weights: (Averaged over +10, ~10% statistical uncertainty) power 1 crit 0.894645499 surge 0.398864736 alac 0.523007047 (Averaged over +100 ~1% statistical uncertainty) power 1 crit 0.860689907 surge 0.219110282 alac 0.423456357 I'm hoping that this will be useful to crosscheck some of the other DPS calculator methods. At the very least, a simulator allows one, in principal, to test interesting parts of one's approach, like de-prioritizing grav round when Curtain of Fire is on cooldown, or dealing with a situation where one needs to delay Demo Round or HI bolt because all of one's long cooldown abilities are available at the same time. |
|||
|
02-24-2012, 09:52 AM
(This post was last modified: 02-24-2012 09:55 AM by bural.)
Post: #2
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
Ohh very nice, we're definitely pushing forward now!
For comparison purposes, is it possible for you to print out characteristics such as damage breakdown, time between TV procs and time between Barrage procs? Also, have you factored in armor somewhere? Can't seem to spot it. Generally, I find the fairly large percentual dps gap between our 3 models disturbing (lolol pun). I'd be very interested to hear what you come up with regarding Quote:to test interesting parts of one's approach, like de-prioritizing grav round when Curtain of Fire is on cooldown Additionally, it'd be interesting to see how alternating Grav Round and Hammer Shot (to the extent possible under an optimal dps rotation) affects Terminal Velocity proc frequency i.e. how many resources it returns over a given time period. Finally, how does HSM/Demo Round affect sustained dps in your model if you don't factor in the Heat Signature/Grav Vortex bug? Bural's Arsenal DPS spreadsheet |
|||
|
02-24-2012, 10:04 AM
(This post was last modified: 02-24-2012 10:08 AM by Qed.)
Post: #3
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
No armor, no accuracy at the moment. I should rewrite this as something reasonably object oriented before I implement them, or this will get really ugly.
I did do some quick test to see how this priority system affects the 'effective' cooldown of various abilities (ie: how many seconds inbetween full autos, on average), using this rotation. The results are: Code: Hammer Shots cooldown: 4.94534625773Unsurprisingly, in the real world, we can't quite fire HI and demolition round on cooldown using a strict priority system. The really ugly thing with this prioity system is situations like this: Code: Curtain of Fire will proc on...Firing grav round procs Curtain of fire, YES! ... and we've dipped under the ammo regen barrier, time to hammer shot back up ... two GCD's later, we can *finally* use the Full Auto that's procced. What a waste. What I'm writing up presently is a slightly better rotation that saves ammo, except to avoid capping when curtain of fire is on cooldown, in hopes that I can increase the number of full autos I fire. For the moment, I've just assumed one stack of grav round. I can comment out HSM to see if it's actually worth using. I'd really like to clean this up so that one can just implement the logic for a rotation priority, without having to copy the math around, something like: Code: if ammo <10 and fa_cd < 0:That should make it easy to check an 'optimal' rotation. |
|||
|
02-24-2012, 10:16 AM
(This post was last modified: 02-24-2012 10:20 AM by bural.)
Post: #4
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
Very very nice!
Quote:Firing grav round procs Curtain of fire, YES!I take it ammo regen barrier means 7.2 ammo or whereever the interval cuts off for troopers. Surely the priority queue shouldn't prioritize Hammer Shot over FA ever as FA is net generating ammo over it's casttime. I'd imagine accounting for this would bring your effective FA cooldown in same ballpark as mine around 11.2 secs. If ammo regen barrior = 0 ammo, then forget what I wrote. Bural's Arsenal DPS spreadsheet |
|||
|
02-24-2012, 10:27 AM
(This post was last modified: 02-24-2012 10:42 AM by Qed.)
Post: #5
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
Regarding HSM/Demo Round, using 10 day tests:
Simple Priority Rotation: Code: python tsim_cl.py 0 0 0 0 0 0 0 0 0Avoid Grav Shot during CoF Cooldown Code: python tsim_cl.py 0 0 0 0 0 0 0 0 0Avoid Grav Shot during CoF Cooldown, ignore Demo Round while CoF can proc Code: python tsim_cl.py 0 0 0 0 0 0 0 0 0(02-24-2012 10:16 AM)bural Wrote: I take it ammo regen barrier means 7.2 ammo or whereever the interval cuts off for troopers. Surely the priority queue shouldn't prioritize Hammer Shot over FA ever as FA is net generating ammo over it's casttime. I'd imagine accounting for this would bring your effective FA cooldown in same ballpark as mine around 11.2 secs. So, the logic here is that you will do hammer shot over full auto if the act of casting full auto would bring you under 7.2 ammo, even if that full auto will regrow some of that ammo during the duration. This makes some sense as, if you're sitting juuust at the ammo breakpoint and you drop down 2 below it, you're not actually going to regen as much during the duration of full-auto since, for some of that duration you'll be in shitty-ammo-regen-land. I think this is exactly what you're saying, rereading the quote. |
|||
|
02-24-2012, 11:15 AM
(This post was last modified: 02-24-2012 11:18 AM by Qed.)
Post: #6
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
One last edit, if anyone wants to use this to calculate weights themselves, you can do it with the following additional script:
Code: import ostwo last edits i guess... if we want to compare numbers across spreadsheets, we really need a canonical set of stats to start from. Certainly, I have been using my own personal stats (and then various iterations on them), to test the results, which might be half the explanation for different weights. |
|||
|
02-24-2012, 05:59 PM
Post: #7
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
I am not going to try to help with the coding here as I am not very good on things like that. But I cant help noticing that according to this simulation the values of power, crit, alacrity and surge fits quite well into the results I got from firingrates. It should lend some value into the fact that surge is not that good.
If you could get accuracy up there we could maybe stop this insane belief in it's superiority once and for all. |
|||
|
02-24-2012, 06:28 PM
(This post was last modified: 02-24-2012 06:43 PM by Qed.)
Post: #8
|
|||
|
|||
RE: Gunnery/Arsenal DPS, Simulator, A new approach
(02-24-2012 05:59 PM)Krix Wrote: I am not going to try to help with the coding here as I am not very good on things like that. But I cant help noticing that according to this simulation the values of power, crit, alacrity and surge fits quite well into the results I got from firingrates. It should lend some value into the fact that surge is not that good. Actually, I edited the original post to include hit. What I have is: If you push yourself below the hitcap, the bonus from hit is fairly big. Once you push past the special-attack-hitcap, it's shit though. With my stats earlier today, but ~95% special attack hit vs bosses: Code: acc : 1.13941912858Pushing up to 99.5% hit vs bosses (with a delta of 30 to check weights, which pushes well over 100%), with a few other twiddled stats from gear acquisitions tonight (less surge, more crit, less power, more hit): Code: acc : 0.0161504745679 |
|||
|
02-24-2012, 07:17 PM
Post: #9
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
Some very interesting numbers indeed. I'm surprised by how bad Surge is, even after the nerf. What is the crit chance you used for the calculations?
Aldare - Guildmaster | JUDGE | Basilisk Droid EU
Visit us at http://www.judge-guild.net and check our recruitment post here. |
|||
|
02-24-2012, 07:35 PM
Post: #10
|
|||
|
|||
|
RE: Gunnery/Arsenal DPS, Simulator, A new approach
Qed, how have you calculated in accuracy with regards to ranged and technical attacks and normal and special attacks?
if you read my post here: http://sithwarrior.com/forums/Thread-Ars...m?page=27. How does that post fit into your simulator? I would be happy if someone proved that accuracy works in a different way but for now I am quite confident that is how accuracy works. Providing benefit to only 3 of our single target abilitys in pve. |
|||
|
« Next Oldest | Next Newest »
|