Ich habe bei ihm angefragt ob ich die Executable bekomme.
Asayre;3699160 hat geschrieben:I actually finished programming a combat simulator. I wrote in Matlab and @Panth141 tried it out for a while. The rough idea I used is to create a priority cast list like
Shooting Star -> Blockade of Fire -> Force Pulse
And then put things on a periodic cast so you would only cast Blockade of Fire every 8 seconds. The interface is not well designed but works.
Skill coefficients are readily available. My error in damage calculation is usually within 5 points.I have a basic stat page. Some of my inputs are a bit odd, I admit but its what I'm used to from my spreadsheets.The second tab allows you to put your abilities in a priority. The script tries to pick the first castable skill from the list. Once it's cast the ability is not allowed to be cast for time, t_Period. The execute time, t_Execute, is the global cooldown. There is an option to LA weave with that skill or not. min health and max health are used to control when an ability can be casted. So I would put max health = 0.2 to start casting Mages Wrath at 20% for example. I haven't implemented SD yet for reasons that will soon become obvious but my intention was that would pick a number from a standard deviation to add to t_Period to simulate errors in rotation.
To the right there are periodic buffs and debuffs. In the example picture, a magicka potion (with Major Sorcery) is drank every 45 seconds starting at 0 seconds. The bottom is just target stats and where to save files.The third tab outputs a single damage parse. You have a damage log and a damage summary. There are some buttons to open up graphs that plots your stats.The final tab aggregates all the simulations and calculates statistics. Again there are some buttons to make plots of stats.I'm pretty happy with it so far. I can simulate most commonly encountered DPS abilities. An excel spreadsheet of abilities I can simulate right now can be found here.
So I've been thinking of what I want to simulate and just messing around with convergence and simulation time. Below is a quick summary of my convergence and time test so farSlimecraw simulations take about 7 seconds each while Bloodspawn takes around 39. Time taken should be linear to target health. Convergence is achieved in only 10 simulations! That surprised me a lot. But as expected, standard deviation scales as sqrt( Health) thus the standard deviation of Bloodspawn is ~ sqrt(5) smaller than Slimecraw.
In the images of my combat simulator above you might notice that for that particular simulation I predict a mean DPS of 40254 with a SD of 492. That's 1.2% which is a bit on the large side since some of the effects of interest are smaller than that. And those simulations initially took around 15 minutes. But then I use parallel computing in matlab and got them down to 6 ish minutes. I would ideally want a SD of 200 (at 40k DPS) so I would need the target health to be around 50 million which means each simulation would take 30 ish minutes. I was hoping to run simulations in the 5 - 15 minutes duration. (I don't like waiting ...) So this is why I haven't messed around with adding a standard deviation to t_Period. As an aside, I'm using a Core i5-3570k.
Slightly back on topic, I have two options for simulating Moondancer, which are already implemented, one is a smart synergiser which only synergises when you don't have the spell damage buff and another random synergiser which as the name suggest synergises every synergy. The number of available synergies is dictated by a periodic buff called 'Synergy' (panel 2)
So overall I find that while the simulation is nice, in order to get a nice low SD the simulation time has to be quite long. Perhaps I have to just deal with it and accept that things will take long and create batch simulation files before I sleep or something.
If you want to use the simulator feel free to PM me, I can compile it into a Windows executable. I don't have a Mac with Matlab so I can't compile to a Mac environment.
SD - standard deviation
And for those who want some graphical representation of the results from the 4th panel. It's an older simulation thus the lower numbers but it shows a histogram of total DPS for 100 simulations and histograms for the top 9 damage dealing abilities. The top right shows the name and percentage contribution.