• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Dämonenjäger ♂ ♀ [GUIDE] Scharfschütze DPS berechnen!

Alles was mit DämonenjägerInnen zu tun hat

Apollodor

New member
Registriert
25 Februar 2005
Beiträge
29
Punkte Reaktionen
0
Einführung

Hallo zusammen,

viele von euch dürften sich wie ich schon gefragt haben, wieviel DPS denn nun Scharfschütze wirklich bringt. Da ich in diskreter Wahrscheinlichkeitsrechnung nicht so versiert bin, habe ich das ganze einfach mal mit Monte Carlo Simulationen approximiert (d.h. ich habe einfach einen Haufen Angriffe unter verschiedenen Bedingungen laufen lassen und geschaut wie sich die Crit-Chance entwickelt).


Die Daten

Die Daten umfassen Angriffsgeschwindigkeiten von 0.5 bis 4 Angriffen pro Sekunde und Basis-Crit-Chancen (ohne Scharfschütze) von 5 bis 30%. Es wird angenommen, dass der erste Schuss ein garantierter Crit ist (Scharfschütze hat bis 100% hochgetickt). Das ganze sieht dann so aus:

critchancegain.jpg


Wie man sehen kann bringt Scharfschütze am meisten mit tiefer Basis-Crit-Chance und tiefer Angriffsgeschwindigkeit.


Schadensberechnung

Wieviel DPS kriegt man aber jetzt da raus? Die Daten bekommt ihr hier:

Dann entfernt ihr erstmal das Scharfschütze-Talent (zum Beispiel Grübeln reinpacken, bestes Talent ever) und schaut euch Angriffsgeschwindigkeit und Crit-Chance an. Sucht in der Tabelle euren Wert für die Crit-Chance durch Scharfschütze raus, und benutzt folgende Formel (Danke an Amokkitten :) ):

Relative DPS Erhöhung = (1 + (ACC+SB)*CB) / (1 + ACC*CB)​

Wobei ACC die alte Crit-Chance, SB die Chance aus der Tabelle und CB der Crit-Damage-Bonus ist.

Beispiel

xxxDarkShadowKillerLegolasGimliLoLxxx hat eine Zweihand-Armbrust mit Angriffsgeschwindigkeit 1.1 und ohne Scharfschütze 20% Crit-Chance. Das ganze mit einem Bonus von +210%. Laut Tabelle gibt Scharfschütze eine CritChanceErhöhung von 0.048, also bringt Scharfschütze (mit der Formel von oben) (1 + (0.2+0.111)*2) / (1 + 0.2*2) = 1.158, und somit 15.8% DPS. Scharfschütze ist also in diesem Fall wahrscheinlich etwas besser als Ruhige Hand oder Auslese.


Bemerkungen

Zu beachten ist, dass diese Berechnungen das Talent Scharfschütze eher unterschätzen, da davon ausgegangen wird, dass immer kontinuierlich geschossen werden kann, was ja oft nicht der Fall ist. Das heisst die Angriffsgeschwindigkeit wird normalerweise künstlich gedrückt. Zudem wird nicht berücksichtigt, dass man beim Pullen meistens fast 100% Crit-Chance hat.


Technisches

Für die die's interessiert hier noch die Monte Carlo Simulation in Pseudo-Code (ich hab für jeden Datenpunkt den Durchschnitt von 10000 Iterationen verwendet):

Code:
LastCritTime = 0;
LastResetTime = -100;   // Alternativ = 0, ohne garantierten crit am Anfang!
isCrit = 0;
for i = 1:nAttacksMax
    Time = i / AttackSpeed;

    CritChanceGain = floor(Time - LastResetTime) * 0.03;
    CritChance = min(BaseCritChance + CritChanceGain, 1);

    if NOT(isCrit)
        iRand = rand[0,1];
        isCrit = iRand < CritChance;

        if isCrit
            LastCritTime = Time;
        end

    elseif (Time - LastCritTime > 1)
        isCrit = 0;
        LastResetTime = LastCritTime + 1;
    end

end

Danke für's lesen und viel Spass :)
 
sehr interessant, danke fürs mühe machen!

bist du an der eth? :D

edit: ich hatte mal folgende idee. würde sicherlich mehr mühe machen, aber wäre weit aussagekräftiger: du filmst einige zeit deines gameplays gameplay und notierst daten über dauerfeuer/ruhe perioden. daraus kann man dann direkt deinen verursachten schaden pro stunde oder vl pro minute mitteln, wobei man da die verwendung von scharfschütze simulieren kann.
 
du hast PM betreffend eth!

BtT: ich werde das von mir vorgeschlagene später mal testen, wenn ich das dumme fraps zum laufen kriege. dein ansatz unterschätzt sharpshooter glaube ich sehr stark, er bietet die wirklich unterste schranke. mich würde interessieren, wie stark!
 
Ist schon eine Annäherung aber noch nicht ganz vollständig. Zum einen berechnest du den Crit bonus als ob er kontinuierlich steigen würde (er tickt aber nur einmal die Sekunde um 3% rauf) und zum anderen berücksichtigst du nicht das sich der Bonus erst 1 Sekunde nach dem ersten Crit zurücksetzt, nicht sofort.

Edit: Wäre auch noch interessant das ganze bis zu 3,5 APS zu skalieren, weil man als Hunter auf ziemlich hohe APS kommen kann.
(Theoretisch könnte mans auch nochmal für 6-18 APS gebrauchen, das wäre dann für Sharpshooter + Rapidfire, aber ich glaube das kann man auch ohne extra Grafik als sinnfrei abtun. :lol: )

Edit2: Die Rechnung für DPS erhöhung geht so auch noch nicht ganz, da die alten DPS schon den Crit bonus beinhalten. I.e. wenn der Crit um 5% erhöht wird (und der Bonus der einfachheit halber 100% ist) macht das keine vollen 5% der vorherigen DPS drauf, man muss erst von den Vorherigen DPS den vorherigen Crit Bonus abziehen, und dann rechnen.
Beispiel:
105 DPS, Crit Chance 5% Bonus 100%
Wenn jetzt Sharpshooter die Chance um 5% erhöht, errechnet sich daraus ein DPS bonus von 5%, aber nicht 5% von 105 da dort schon der vorherige Crit drin ist, sondern 5% von 100. Also 105 auf 110, nciht 105 auf 110,25
 
Hab mich grad etwas über den Einbruch bei strikt 1.5 A/s gewundert.

Ich schiesse bei 0.00s, 0.66, 1.33 und 2s. Betrachtet man nun 1.49 vs 1.51: Entweder erfolgt der 4. Schuss noch kurz vor den 2s, oder kurz danach. Sprich so wenig IAS mehr oder weniger machen da satte 3% Chance aus.
Dies entnehme ich als neue Info, die ich noch nicht bedacht habe. 1.49 wird wohl - ohne es genauer zu betrachten - klar mehr Schaden machen als 1.51 A/s.

Diesen Einbruch würde man wohl auch u.a. bei 2A/s sehr gut sehen. Ob 1.99 oder 2.01 dürfte ein doller unterschied sein, da entweder gerade nochmal aufgeladen werden kann nach 2,4,6,8... Schüssen oder ob eben schon davor getroffen wird.
Interessant, dass aber z.b. bei 1.33A/s nur ein ganz schwacher Einbruch zu sehen ist. Schliesslich kann ich da kurz vor oder nach 3 Sekunden / 4 Schüssen nochmal eine Stufe mehr aufladen oder eben nicht. Verwunderlich. Dasselbe bei 1.66A/s.

Es wäre echt super, den Graph bis hoch nach 3.5A/s zur Verfügung zu haben.

Man muss aber, wie du bereits gesagt hast, vorisichtig in der Interpretation sein. Es klingt am Ende ja fast so, als solle man möglichst wenig IAS und möglichst wenig Crit Chance mitnehmen ;)

Desweiteren berücksichtigst du nicht, dass SS erst nach einer Sekunde resettet nach erfolgtem Krit. Das könntest du noch in das Bemerkungskapitel rein nehmen.
Ein weiterer Faktor ist die Zeit, die der Pfeil bis zum Monster braucht. Die variiert stark und macht gerade diese 1.49 vs 1.51 A/s Gedanken etwas unrealistisch. Wenn das Monster auf mich zuläuft scheint die Attack Speed für das Monster ja schliesslich höher, als sie ist. (Hey, damit könnt ma ja fast den Dopplereffekt mal sehr anschaulich für Gamer erklären).
 
(Hey, damit könnt ma ja fast den Dopplereffekt mal sehr anschaulich für Gamer erklären).

lol'd

ja da wirds kompliziert ^^
es ist auch sinnvoll den crit zu "stacken", also langsame projektile abfeuern und dann schnelle hinterher, sodass sie etwa gleichzeitig ankommen (zB NT und HA)
 
Stimmt, das mit der einen Sekunde ist noch nicht drin. Werde wohl heute über Nacht das dingen nochmal laufen lassen mit verbesserter Formel und bis auf 3.5 ApS hoch :)

Die DPS-Formel ist auch nur eine Annäherung (macht das ganze auch ein wenig einfacher). Ich werd mir das ganze aber nochmal durch den Kopf gehen lassen ;)
 
Stimmt, das mit der einen Sekunde ist noch nicht drin. Werde wohl heute über Nacht das dingen nochmal laufen lassen mit verbesserter Formel und bis auf 3.5 ApS hoch :)

Die DPS-Formel ist auch nur eine Annäherung (macht das ganze auch ein wenig einfacher). Ich werd mir das ganze aber nochmal durch den Kopf gehen lassen ;)
Die Berechnung für die Damage Steigerung durch Sharpshooter wäre:
(1+(ACC+SB)*CB)/(1+ACC*CB)
Wobei ACC= alte Crit Chance, SB = Sharpshooter Bonus und CB = Damage Bonus durch Crit.
Das gibt die Damage Steigerung, (Für % schreibweise * 100 nehmen) Dann einfach mit den DPS wie angezeigt (ohne Sharpshooter) Multiplizieren um den Wert zu kriegen der Durch Sharpshooter erreicht wird.

Beispiel:
100 DPS ohne alles, 5% Crit Chance, 100% Bonus (ergibt 105 angezeigt DPS) Bonus durch Sharpshooter 5%

(1+(0,05+0,05)*1)/(1+0,05*1) = 1,0476
D.H. Sharpshooter gibt eine Steigerung von 4,7%.
Bei 105 vorher angezeigten DPS: 1,0476*105 = 110
 
Also ist die Kombination aus den Passiven Scharfschütze, Ruhige Hand und Bogenschießen in Verbindung mit einer (langsamen) 2H Armbrust + Köcher, mit einem Equip welches auf erhöhten Crit-DMG ausgelegt ist zu empfehlen?
 
Die Berechnung für die Damage Steigerung durch Sharpshooter wäre:
(1+(ACC+SB)*CB)/(1+ACC*CB)
Wobei ACC= alte Crit Chance, SB = Sharpshooter Bonus und CB = Damage Bonus durch Crit.
Das gibt die Damage Steigerung, (Für % schreibweise * 100 nehmen) Dann einfach mit den DPS wie angezeigt (ohne Sharpshooter) Multiplizieren um den Wert zu kriegen der Durch Sharpshooter erreicht wird.

Beispiel:
100 DPS ohne alles, 5% Crit Chance, 100% Bonus (ergibt 105 angezeigt DPS) Bonus durch Sharpshooter 5%

(1+(0,05+0,05)*1)/(1+0,05*1) = 1,0476
D.H. Sharpshooter gibt eine Steigerung von 4,7%.
Bei 105 vorher angezeigten DPS: 1,0476*105 = 110


Vielen Dank für den Input, hab das gleich mal reingemacht, zusammen mit dem Reset erst nach einer Sekunde. Jetzt sollte alles soweit korrekt sein. Übrigens: Dass der crit nur zur vollen Sekunde steigt hatte ich schon drin, das macht das floor(Time - LastCritTime) im code (floor = abrunden auf ganze Zahl).
 
ich glaub deinem neuen .txt ist irgendwas widerfahren oO
 
danke. ich nehme an, in den doppelten base crit zahlen verstecken sich 0.005 werte?

ich frage mich gerade, warum der neue code durchwegs eine senkung der gained critchance liefert gegenüber dem alten code...
 
Also ist die Kombination aus den Passiven Scharfschütze, Ruhige Hand und Bogenschießen in Verbindung mit einer (langsamen) 2H Armbrust + Köcher, mit einem Equip welches auf erhöhten Crit-DMG ausgelegt ist zu empfehlen?
Lässt sich nicht so ohne weiteres sagen, da müsste man schon das ganze Equip und die skills kennen um die alternativen passivs zu beurteilen.

Im allgemeinen lässt sich immerhin sagen das Sharpshooter besser wird je langsamer die Waffe, je geringer die vorhandene Crit Chance und je höher der vorhandene Crit Bonus, aber es ist ist sehr unwahrscheinlich das man dort Werte hat die Sharpshooter besser machen als Steady Aim oder Archery.
Das imo wahrscheinlichste Scenario is wohl das man sich übrelegt welches das dritte Schadenspassiv bei einem Max/Max Build sein sollte, Cull the Weak oder Sharpshooter. Aber auch hier gilt dann das Cull the Weak fast immer besser ist. (Ausser natürlich man hat kein Slow)

Die 1-sekunden Mechanik ist eigentlich ganz interessant auf dem Papier, aber in der Realität leider nicht so. Damit man davon wirklich profitiert muss die Chance schon sehr hoch getickt sein, i.e. wenn der erste Crit bei 30% ausgelöst wird, muss man schon über 3APS sein damit während der Sekunde vorm Reset überhaupt noch ein weiterer Crit kommt. Und 100% werden sehr selten erreicht, selbst wenn man eine Basis Crit Chance von 30 hat, sind das immer noch 24 Sekunden ohne zu schiessen bevor's auf 100% ist. Beim Kiten mag sich das so anfühlen, ist aber bei weitem nicht der Fall (das wäre fast als ob man mit Rain of Vengeance kitet) und selbst zwischen zwei Monstergruppen liegen meist nur 5-10 sekunden. Man kann also die Reset Sekunde nutzen, aber nur wenn man absichtlich sehr langsam spielt.

Addendum:
Wie schnell man beim Kiten realistisch feuert lässt sich sehr praktisch mit Hatred bestimmen.

i.e.: Wenn man Tentakel benutzt, und beim Kiten Hatred schneller verbraucht als es regeneriert hat man effektive APS von 0,4 + Spike am Anfang wenn man mit vollem Hatred startet. Mit Bat Companion sind's 0,7 mit +regen Items muss man's entsprechend anpassen.
 
Vielen Dank für den Input, hab das gleich mal reingemacht, zusammen mit dem Reset erst nach einer Sekunde. Jetzt sollte alles soweit korrekt sein. Übrigens: Dass der crit nur zur vollen Sekunde steigt hatte ich schon drin, das macht das floor(Time - LastCritTime) im code (floor = abrunden auf ganze Zahl).
Ah, stimmt, und ich hätte das bei genauem überlegen auch an den Stufen in der Grafik erkennen müssen.
 
Hmm... Verständnisfrage zum Code:

Nehmen wir an, eine Weile lang gab es keinen Crit:
> isCrit==0
Nun wird ein Crit ausgelöst, daher setzen wir
> isCrit=1;
> LastCritTime = Time;
Unter der Annahme von >1aps, wird im nächsten Schleifendurchlauf gesetzt
> CritChanceGain = 0
Das ist aber nicht zutreffend - wir haben noch den alten Bonus und müssen auswürfeln, ob ein Crit geschieht. Wo passiert das? Hier muss noch die alte LastCritTime genommen werden. Aus dem Grund würde ich für 1.05 aps auch eher einen größeren Bonus erwarten als mit 0.95: Man hat den Bonus nach einem erfolgreichen Crit noch für einen zweiten Schuss. Nicht viel, aber genug um diese seltsamen Stufen nicht so zu erwarten.

Anderer, kleinerer Punkt:
elseif (Time - LastCritTime > 1)
isCrit = 0;
LastCrimtTime = Time;
LastCritTime (m ist ein Vertipper?)) wird hier auf den Zeitpunkt des Schusses gesetzt - dürfte aber eine Sekunde nach dem letzten Crit sein, was etwas vorher geschehen kann.



Frage zum Skill selbst: Wird die Erhöhung immer in festen Sekundenschritten gemacht (Serverzeit oder sowas), oder in Sekunden nach dem Zurücksetzen der Chance? Falls letzteres, würde ich mal einen analytischen Ansatz versuchen.
 
Hmm... Verständnisfrage zum Code:

Nehmen wir an, eine Weile lang gab es keinen Crit:
> isCrit==0
Nun wird ein Crit ausgelöst, daher setzen wir
> isCrit=1;
> LastCritTime = Time;
Unter der Annahme von >1aps, wird im nächsten Schleifendurchlauf gesetzt
> CritChanceGain = 0
Das ist aber nicht zutreffend - wir haben noch den alten Bonus und müssen auswürfeln, ob ein Crit geschieht. Wo passiert das? Hier muss noch die alte LastCritTime genommen werden. Aus dem Grund würde ich für 1.05 aps auch eher einen größeren Bonus erwarten als mit 0.95: Man hat den Bonus nach einem erfolgreichen Crit noch für einen zweiten Schuss. Nicht viel, aber genug um diese seltsamen Stufen nicht so zu erwarten.

Anderer, kleinerer Punkt:

LastCritTime (m ist ein Vertipper?)) wird hier auf den Zeitpunkt des Schusses gesetzt - dürfte aber eine Sekunde nach dem letzten Crit sein, was etwas vorher geschehen kann.



Frage zum Skill selbst: Wird die Erhöhung immer in festen Sekundenschritten gemacht (Serverzeit oder sowas), oder in Sekunden nach dem Zurücksetzen der Chance? Falls letzteres, würde ich mal einen analytischen Ansatz versuchen.

Ohje, du hast völlig recht... Darum waren die Critchancen auch plötzlich niedriger mit der einen Sekunde ohne reset. Mensch bin ich doof :) Da brauch ich zwei verschiedene Zeiten. Ich lad die neuen Resultate hoch sobald ich sie habe.

Das m war ein typo :)

Wie der Skill selbst genau funktioniert weiss ich auch nicht, allzugross dürfte der Fehler aber nicht mehr sein nach all den Korrekturen ;) Eine analytische Lösung habe ich schon probiert, war mir aber zu mühsam (da schreib ich lieber 50 Zeilen Code, auch wenn ich offensichtlich zu dumm bin dafür :D ).
 
Damit man davon wirklich profitiert muss die Chance schon sehr hoch getickt sein, i.e. wenn der erste Crit bei 30% ausgelöst wird, muss man schon über 3APS sein damit während der Sekunde vorm Reset überhaupt noch ein weiterer Crit kommt.

Das ist natürlich falsch.
So funktioniert die Wahrscheinlichkeit nun mal nicht, vereinfacht gesagt steigt die Wahrscheinlichkeit eines weiteren kritischen Treffers von etwa 20% auf etwa 50% überschlagsmäßg gerechnet.

Rein DPS mässig bei 100% mehr schaden also von
2.4 DPS auf 3 DPS bzw um grob 25%
 
Zurück
Oben