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

Your login from any MMO-Mechanics forum or site will work here.

Hello There, Guest! Register

Post Reply 
Marauder Sim
07-16-2012, 10:21 PM (This post was last modified: 07-23-2012 11:37 PM by Keetsune.)
Post: #1
Marauder Sim
I finished alpha version of my DPS sim for marauders. First of all i did it for my own purposes so you can find for urself lack of skills that u want to put in rotation. It's not count berserk usages & gore debuff yet.

Here how it's look:

[Image: dpssim1.jpg]

1. It is ur tallents from skill tree.
2. It is misc condition of ur character like classes bufs, legacy unlocks, juyo form stacks.
3. It is base stats of ur character with stim if u use it.

1, 2 & 3 must be set to calculate 5 & 6 with "Calc Stats" button.

6. Here u can see the basic damage of ur abilities same as u can see in game in their tooltips. And also u can see average final damage on operation bosses, this damage is calculated based on all ur stats(include juyo form stacks & all talents) & operation bosses armor(5814) + defense (10%).

7. It's is ur internet connection issues. U can pick "latency" value in right corner of the screen in the game near minimap. About spike freezes i'll explain later.

8. It's is how often u use certain ability in ur rotation. If u not using ability in rotation just leave "0".

7 & 8 must be set to calculate 9 with "Calc DPS" button.

By default programm start with field filled with my own marauder stats.

Now i explain detailed about 7 & 8:

Here http://swtor.askmrrobot.com/combatlog/ca...=3,t=2,b=1 my recent practice test on Operations Training Target MK-5. Now about that info:

1. Duration: 670. This is'nt real duration coz after u stop hiting dummy u are not leaving combat immediately. To get realy duration of combat us should opent logs(that contain this combat) in notepad and find this lines:

[03:04:07.027] [@Keetsune] [@Keetsune] [Ravage {1261367470325760}] [Event {836045448945472}: AbilityActivate {836045448945479}] ()
[03:04:07.027] [@Keetsune] [@Keetsune] [Ravage {1261367470325760}] [ApplyEffect {836045448945477}: Unshakable {1261367470326274}] ()
[03:04:07.420] [@Keetsune] [@Keetsune] [Hungering {1261152721960960}] [ApplyEffect {836045448945477}: Heal {836045448945500}] (394)
[03:04:07.420] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Bleeding (Physical) {1259666663276824}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (1233* internal {836045448940876}) <1233>
[03:04:07.421] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Ravage {1261367470325760}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (1219 energy {836045448940874}) <1219>
[03:04:07.421] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Ravage {1261367470325760}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (370* energy {836045448940874}) <370>
[03:04:07.817] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Ravage {1261367470325760}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (1256 energy {836045448940874}) <1256>
[03:04:07.817] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Ravage {1261367470325760}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (385* energy {836045448940874}) <385>
[03:04:10.021] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Bleeding (Physical) {1259666663276824}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (898 internal {836045448940876}) <898>
[03:04:10.022] [@Keetsune] [@Keetsune] [Deadly Saber {1259666663276544}] [RemoveEffect {836045448945478}: Deadly Saber {1259666663276544}] ()
[03:04:10.022] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Ravage {1261367470325760}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (4359* energy {836045448940874}) <4359>
[03:04:10.023] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Ravage {1261367470325760}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (629 energy {836045448940874}) <629>
[03:04:10.119] [@Keetsune] [@Keetsune] [Ravage {1261367470325760}] [RemoveEffect {836045448945478}: Unshakable {1261367470326274}] ()
[03:04:13.121] [@Keetsune] [@Keetsune] [Hungering {1261152721960960}] [ApplyEffect {836045448945477}: Heal {836045448945500}] (394)
[03:04:13.122] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Bleeding (Physical) {1259666663276824}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (1850* internal {836045448940876}) <1850>
[03:04:16.125] [@Keetsune] [@Keetsune] [Hungering {1261152721960960}] [ApplyEffect {836045448945477}: Heal {836045448945500}] (394)
[03:04:16.126] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Bleeding (Physical) {1259666663276824}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (1850* internal {836045448940876}) <1850>
[03:04:16.126] [@Keetsune] [Operations Training Target MK-5 {2816265890562048}:1981000006683] [Deadly Saber {1259666663276544}] [RemoveEffect {836045448945478}: Bleeding (Physical) {1259666663276824}] ()
[03:04:17.351] [@Keetsune] [@Keetsune] [Annihilate {808123866546176}] [RemoveEffect {836045448945478}: Annihilator {808123866546433}] ()
[03:04:22.168] [@Keetsune] [@Keetsune] [] [Event {836045448945472}: ExitCombat {836045448945490}] ()
[03:04:22.170] [@Keetsune] [@Keetsune] [Sprint {810670782152704}] [ApplyEffect {836045448945477}: Sprint {810670782152704}] ()
[03:04:25.065] [@Keetsune] [@Keetsune] [Juyo Form {807745909424128}] [RemoveEffect {836045448945478}: Juyo Form {807745909424389}] ()
[03:05:04.752] [@Keetsune] [@Keetsune] [Fury {2515454971084800}] [RemoveEffect {836045448945478}: Fury {2515454971084800}] ()

I marked with red color the part of this code which is important to us. We should get the time when "ExitCombat" event appear and time when last ability( which have global cooldonw) does last damage. Then we should substract that values:

22-10=12 sec;

Now we get duration from askmrrobot result and substacrt this value:

670-12=658sec - this is exact combat duration.

2. Now we need to get frequency of each skill from rotation:

Annihilate: 68
Ravage: 23
Vicious Slash: 71
Assault: 76
Rupture: 64
Battering Assault: 40
Force Charge: 45
Deadly Saber: to calculate it u should divide hits on 5. 260/5 = 52

Now we can check duration:

(Annihilate+Vicious Slash+Assault+Rupture+Battering Assault+Force Charge)*1.5+3*Ravage

(68+71+76+64+40+45)*1.5+3*23=615sec.

As u can see it's less than our real combat duration, that because of latency & freezes/spikes. Okay lets use my latency(100):

(68+71+76+64+40+45)*(1.5+0.1)+(3+0.1)*23=653,7sec

We are close! Ther rest inaccuracy is only about freezes/spikes. As u can see in this combat i had almost no freezes/spikes. But lets calculate it:

658/653,7=1,0065779409515068074040079547193

We are interested only in digits after comma. We should round it till two digits after the comma, in our situations is 0.01. Now multiply it by 100: 0.01*100=1%. That is our spike/freezes value.


Now we have all info for our clalcuations let's see results:

[Image: dpssim2.jpg]

Duration: 660
Total Damage: 1226180
DPS: 1857

Compare to practice:

Duration: 658
Total Damage: 1171134
DPS: 1780

Now about difference. U think why simulator show higher DPS than in practice, thats because simlator calculate damage with ideal crit chance & hit chance, while in such an low fight duration it can be higer or lower. In example in my parctice result:

Vicious Slash crit 35% times, while it's real crit chance 46%

Let's i explain other thing:

Deadly Saber crit chance 52% it's almost accurate to it's real crit chance 53%, BUT! It's bleed damage hit 5 times, 1 time with 1 stack, 1 time with 2 stack & 3 time with 3 stack. 53% crit it's about 5 times of 10. 10 hits = 2 usages of Deadly Saber that mean 2 time with 1 stack, 2 time with 2 stack & 6 time with 3 stack. Lets take two expamle how it's can crit with real 53% chance;

1. 1 stack crit 2 times, 2 stack crit 2 times, 3 stack crit 1 times: about 1880,6 aditional damage coz of crits
2. 3 stack crit 5 times: about 4701,5 aditional damage coz of crits.

As u can understand with same crit chance with one skill we can have different results.

My simulator shows only average DPS. On practice it can be higher or lower.

Enojoy.

Changes log:

0.0.0.4

-Added expertise in calculation
-Now you can change Armor & Defense of target, by default 5814 & 10 for operation bosses.

0.0.0.3:

-Average damage for attacking skills now shows for unarmored targets.
-Added support for hybrid build.

0.0.0.2:

-Fixed damage calculation inaccuracy, it had armor reduction by accuracy above 100%, but seems accuracy after 100% only affect target Defense but not Armor.
-Added alternative method of DPS calculation:
1) RAW - calculation by formula.
2) SIM - brute force.

Last version:
Code:
https://rapidshare.com/files/189022859/SWTOR DPS simulator.zip


Attached File(s)
.zip  SWTOR DPS simulator.zip (Size: 56.59 KB / Downloads: 72)
Find all posts by this user
Quote this message in a reply
07-17-2012, 01:15 PM
Post: #2
RE: Marauder Sim
Splitting this into a new thread.

Even Angels must kill from time to time...
Find all posts by this user
Quote this message in a reply
07-19-2012, 02:15 AM (This post was last modified: 07-19-2012 06:13 PM by Keetsune.)
Post: #3
RE: Marauder Sim
Here the updated version:
Code:
https://rapidshare.com/files/834305978/SWTOR DPS simulator.zip

Changes:

-Fixed damage calculation inaccuracy, it had armor reduction by accuracy above 100%, but seems accuracy after 100% only affect target Defense but not Armor.
-Added alternative method of DPS calculation:
1) RAW - calculation by formula.
2) SIM - brute force.
Find all posts by this user
Quote this message in a reply
07-20-2012, 10:39 PM
Post: #4
RE: Marauder Sim
Version 0.0.0.3:

Code:
https://rapidshare.com/files/87764059/SWTOR DPS simulator.zip

Changes:

-Average damage for attacking skills now shows for unarmored targets.
-Added support for hybrid build. How it's work:

I example lets take my recent fight with hybrid build: http://swtor.askmrrobot.com/combatlog/91...10,t=2,b=1 - everything the same as for pure ani build but now we have some skills that ignoring target armor. To separate them i added second colunm in my PDS sim for skill usages, now it have two column "No armor ignoring" & "Ignore armor". Lets return to my fight, i always use "ravage"+"vicious slash" after first gore usage & 3x"vicious slash" after second, that mean for 2 gore usages i use 4x"Vicious slash" & 1x"Ravage" with armor ignore. In my fight i used gore 39 times, now i divide on 2 : 39/2=19,5 - first i use integer part 19*4=76("vicious slash") 1*19=19("ravage"), fractional part mean that i used only first part of two gore usages, in first part i'm using "Ravage"+"Vicious Slash" so i should add 1 to both in my previous result. 76+1=77, 19+1=20. Now i pick total "Vicious slash" usages from my combat 111 and substract armor ignoring usages : 111-77=34 this is how often i used "Vicious Slash" without armor ignore. Same for "ravage" total usages 20, armor ignoring 20, 20-20=0 usages wihtout armor ignore.

Let's see results:

[Image: dpssim5.jpg]
Find all posts by this user
Quote this message in a reply
07-23-2012, 11:35 PM
Post: #5
RE: Marauder Sim
Version 0.0.0.4
Code:
https://rapidshare.com/files/189022859/SWTOR DPS simulator.zip
Changes:

-Added expertise in calculation
-Now you can change Armor & Defense of target, by default 5814 & 10 for operation bosses.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)