sarc
Mitglied
- Registriert
- 26 November 2011
- Beiträge
- 269
*** UPDATE ***
Zum ersten Version hat sich mittlerweile einiges getan, inklusive der Ausrichtung. Der Calculator dient nun mehr dazu, schnell verschiedene Waffenkombinationen zu vergleichen. Eine Beschreibung der aktuellen Features gibt es in Posts 10 und 11.
Wie hier schon angekündigt wollt ich mal wieder etwas JS ausprobieren und kein völlig sinnloses Projekt angehen, also hab ich mich mal an nen DPS Calculator gesetzt. Für die Berechnung hab ich mich an diesem hervorragenden Video orientiert. An der Stelle möcht ich dann auch direkt erwähnen, dass der Autor ebenfalls nen Calculator geschrieben hat und es ist denke ich das mindeste, den auch zu verlinken. Ich hoffe, das ist hier erlaubt...
Mein Calculator unterscheidet sich hauptsächlich dadurch, dass er Dual wielding (zumindest so halbwegs) unterstützt. Dazu später mehr.
Ich hab mal gammligen Webspace rausgekramt, so dass man sich den ersten Entwurf schon mal anschauen kann. Ich weiß, das Ding ist hässlich wie die Nacht, aber dafür steht ja auch WIP dabei. Die wichtigsten Werte spuckt er schon mal aus, und ich hoffe, es ist halbwegs klar, was in die Felder gehört.
Ich würde mich freuen, wenn das Ding trotzdem jetzt schon mal Leute testen könnten. Gerade der Dual wielding Betrieb interessiert mich. Hier scheint es noch leichte Abweichungen zu Blizzards Berechnungen zu geben, wenn IAS auf der Ausrüstung ist. Blöderweise scheint die Berechnung der APS der einzelnen Waffen richtig zu sein, nur der DPS am Ende weicht in der letzten Nachkommastelle ab (allerdings doch zu stark für Rundungsfehler). Es würd mir helfen, wenn das Leute, die sehr viel IAS auf ihrer Ausrüstung haben, mal testen könnten. Dann bitte ne Auflistung dessen, was vorhanden war, und die Werte die mein Calc ausspuckt im Vergleich zur Ingame-Anzeige posten.
Außerdem konnt ich den jetzt nur im IE und Firefox testen. Andere (und ältere) Browser wären ebenfalls gern gesehen.
Nachdem JS anscheinend doch so ein bisschen was dazugelernt hat seit ich es das letzte Mal benutzt hab (gut, das is auch fast 10 Jahre her...) hat das durchaus auch Spaß gemacht. Hätt also durchaus Lust, da noch weiterzubauen. Dinge, die ich auf jeden Fall noch umsetzen will (weil ich die selber praktisch fänd:
Daneben gibts noch einiges, das man umsetzen müsste, das aber nicht so viel Spaß machen würd. Sprich, den Aufwand würd ich nur betreiben, wenn Leute außer mir Interesse an so nem Calculator hätten und den nutzen würden. Ich würd den bei Interesse dann auch PlanetDiablo zur Verfügung stellen.
Wenns darüber hinaus noch Vorschläge gibt bin ich da natürlich für alles offen.
So, und dann noch ein paar Kommentare:
Für Theorycrafter
Fürs Dual Wielding wird davon ausgegangen, dass noch zusätzlich 15% IAS vorhanden sind (gleich behandelt wie IAS auf der Ausrüstung, nicht wie IAS auf der Waffe!). Zusätzlicher numerischer attack speed bonus auf einer Waffe wirkt sich dabei auch auf die andere aus (siehe hier, kann man aber auch einfach selber ausprobieren). Die Berechnung des DPS einer einzelnen Waffe mit allen Itemboni (ohne zusätzlichen Schaden durch das Primärattribut oder Critical Hits) ist avg_dmg*aps. Für zwei Waffen ist das nicht ganz so einfach, hier muss berücksichtigt werden, dass die Waffen unterschiedlich schnell sind. Ich habs berechnet, indem der summierte avg_dmg (was der durchschnittliche Schaden ist, wenn beide Waffen 1x zuschlagen) mit der Summe der Zeiten, die für diese Schlagfolge gebraucht wird, multipliziert wird: dps = (avg_dmg1 + avg_dmg2) * (1/aps1 + 1/aps2). Das sollte eigentlich hinkommen...
Falls jemand Fehler in meinen Überlegungen findet und mir damit beim debuggen helfen kann: Vielen Dank schon mal!
Für Coder
Ich freu mich auch, wenn erfahrene JS-Coder in meinen Code gucken. Falls es da Sachen gibt, die sich eleganter lösen lassen (oder einem absolute No-Gos auffallen) freu ich mich über entsprechende Hinweise. Dass die Objektorientierung an ein paar Stellen möglicherweise übertrieben ist weiß ich selber, aber ich wollt explizit OOP, Vererbung und die Grenzen in JS ausprobieren.
Was mir allerdings noch eingefallen ist: Falls PlanetDiablo auch für D3 ne Itemdatenbank aufbaut, wäre ein API, das den Zugriff auf die Einträge erlaubt, ne extrem coole Sache. Aktuell müsste man immer, wenn Blizzard die Eigenschaften der Items ändert, gucken ob man den Calculator anpassen muss. Allen anderen Calculatoren wirds dann vermutlich auch so gehen. Wenn alle auf den gleichen Datenbestand zugreifen wär das etwas einfacher. Also, falls mal irgendjemand deutlich zu viel Langeweile hat...
Zum ersten Version hat sich mittlerweile einiges getan, inklusive der Ausrichtung. Der Calculator dient nun mehr dazu, schnell verschiedene Waffenkombinationen zu vergleichen. Eine Beschreibung der aktuellen Features gibt es in Posts 10 und 11.
Wie hier schon angekündigt wollt ich mal wieder etwas JS ausprobieren und kein völlig sinnloses Projekt angehen, also hab ich mich mal an nen DPS Calculator gesetzt. Für die Berechnung hab ich mich an diesem hervorragenden Video orientiert. An der Stelle möcht ich dann auch direkt erwähnen, dass der Autor ebenfalls nen Calculator geschrieben hat und es ist denke ich das mindeste, den auch zu verlinken. Ich hoffe, das ist hier erlaubt...
Mein Calculator unterscheidet sich hauptsächlich dadurch, dass er Dual wielding (zumindest so halbwegs) unterstützt. Dazu später mehr.
Ich hab mal gammligen Webspace rausgekramt, so dass man sich den ersten Entwurf schon mal anschauen kann. Ich weiß, das Ding ist hässlich wie die Nacht, aber dafür steht ja auch WIP dabei. Die wichtigsten Werte spuckt er schon mal aus, und ich hoffe, es ist halbwegs klar, was in die Felder gehört.
Ich würde mich freuen, wenn das Ding trotzdem jetzt schon mal Leute testen könnten. Gerade der Dual wielding Betrieb interessiert mich. Hier scheint es noch leichte Abweichungen zu Blizzards Berechnungen zu geben, wenn IAS auf der Ausrüstung ist. Blöderweise scheint die Berechnung der APS der einzelnen Waffen richtig zu sein, nur der DPS am Ende weicht in der letzten Nachkommastelle ab (allerdings doch zu stark für Rundungsfehler). Es würd mir helfen, wenn das Leute, die sehr viel IAS auf ihrer Ausrüstung haben, mal testen könnten. Dann bitte ne Auflistung dessen, was vorhanden war, und die Werte die mein Calc ausspuckt im Vergleich zur Ingame-Anzeige posten.
Außerdem konnt ich den jetzt nur im IE und Firefox testen. Andere (und ältere) Browser wären ebenfalls gern gesehen.
Nachdem JS anscheinend doch so ein bisschen was dazugelernt hat seit ich es das letzte Mal benutzt hab (gut, das is auch fast 10 Jahre her...) hat das durchaus auch Spaß gemacht. Hätt also durchaus Lust, da noch weiterzubauen. Dinge, die ich auf jeden Fall noch umsetzen will (weil ich die selber praktisch fänd:
- Mehr Werte (Dmg-Range pro Hit, Standardabweichung des Schadens, was mir sonst noch so einfällt...)
- Vergleich nur primary weapon und dual wielding (wie stark geht der dps hoch)
- Ne Vorschlagsfunktion ("zu dieser Waffe braucht man mindestens x dps damit sich dual wielding lohnt")
- Speicherfunktion für Waffen (dann kann man direkt verschiedenes Zeug vergleichen - vielleicht nicht sinnvoll, aber von der Implementierung spaßig
)
- Umstellung auf jQuery, da wollte ich mich eh einarbeiten, weil das ziemlich praktisch aussieht
Daneben gibts noch einiges, das man umsetzen müsste, das aber nicht so viel Spaß machen würd. Sprich, den Aufwand würd ich nur betreiben, wenn Leute außer mir Interesse an so nem Calculator hätten und den nutzen würden. Ich würd den bei Interesse dann auch PlanetDiablo zur Verfügung stellen.
- Allem voran natürlich n hübsches Design und geordnetere Ausgaben
- Anständige Tooltips zu jedem Eintrag
- Bessere Überprüfung der Eingabe (zum Beispiel, ob man mit den gewählten Waffentypen überhaupt dual wielden kann...), dazu dann auch aussagekräftigere Fehlermeldungen
Wenns darüber hinaus noch Vorschläge gibt bin ich da natürlich für alles offen.

So, und dann noch ein paar Kommentare:
Für Theorycrafter
Fürs Dual Wielding wird davon ausgegangen, dass noch zusätzlich 15% IAS vorhanden sind (gleich behandelt wie IAS auf der Ausrüstung, nicht wie IAS auf der Waffe!). Zusätzlicher numerischer attack speed bonus auf einer Waffe wirkt sich dabei auch auf die andere aus (siehe hier, kann man aber auch einfach selber ausprobieren). Die Berechnung des DPS einer einzelnen Waffe mit allen Itemboni (ohne zusätzlichen Schaden durch das Primärattribut oder Critical Hits) ist avg_dmg*aps. Für zwei Waffen ist das nicht ganz so einfach, hier muss berücksichtigt werden, dass die Waffen unterschiedlich schnell sind. Ich habs berechnet, indem der summierte avg_dmg (was der durchschnittliche Schaden ist, wenn beide Waffen 1x zuschlagen) mit der Summe der Zeiten, die für diese Schlagfolge gebraucht wird, multipliziert wird: dps = (avg_dmg1 + avg_dmg2) * (1/aps1 + 1/aps2). Das sollte eigentlich hinkommen...
Falls jemand Fehler in meinen Überlegungen findet und mir damit beim debuggen helfen kann: Vielen Dank schon mal!
Für Coder
Ich freu mich auch, wenn erfahrene JS-Coder in meinen Code gucken. Falls es da Sachen gibt, die sich eleganter lösen lassen (oder einem absolute No-Gos auffallen) freu ich mich über entsprechende Hinweise. Dass die Objektorientierung an ein paar Stellen möglicherweise übertrieben ist weiß ich selber, aber ich wollt explizit OOP, Vererbung und die Grenzen in JS ausprobieren.

Was mir allerdings noch eingefallen ist: Falls PlanetDiablo auch für D3 ne Itemdatenbank aufbaut, wäre ein API, das den Zugriff auf die Einträge erlaubt, ne extrem coole Sache. Aktuell müsste man immer, wenn Blizzard die Eigenschaften der Items ändert, gucken ob man den Calculator anpassen muss. Allen anderen Calculatoren wirds dann vermutlich auch so gehen. Wenn alle auf den gleichen Datenbestand zugreifen wär das etwas einfacher. Also, falls mal irgendjemand deutlich zu viel Langeweile hat...

Zuletzt bearbeitet: