Simulationcraft for Sage/Sorcerer - Printable Version
+- SWTOR Mechanics Forums (http://mmo-mechanics.com/swtor/forums)
+-- Forum: Class Discussion (/forum-7.html)
+--- Forum: Sith Inquisitor and Jedi Consular (/forum-9.html)
+--- Thread: Simulationcraft for Sage/Sorcerer (/thread-648.html)
Simulationcraft for Sage/Sorcerer - Caltiom - 01-18-2012 07:02 PM
I'm happy to finally introduce the simulator I've been working in its own thread.
SimulationCraft for SW:TOR is a spin-off of the popular SimulationCraft for World of Warcraft program, and it offers more or less the same tools to do highly sophisticated theorycrafting, to find out about the best gear combinations and action priority list for your character.
You can find everything at http://code.google.com/p/simulationcraft-swtor/ including regular pre-compiled downloads with the latest updates, a wiki with lots of documentation, a ticket system, a list of all code changes and all the source code.
The download version contains a graphical user interface version, with some sample profiles provided and invites you to just start playing around with it. You can now enter Torhead talent links to the talents= option, which makes it easy to play around with different setups and in the end you might share your findings about best results with the community here.
Admittedly there may still be a lot of inaccuracies and even bugs in the program, that's why peer review and a constructive criticism is very important. The good point is that in a simulator, each part of the actual class module is absolutely non-complex, and everyone can verify the code and what certain actions, buffs, etc. do without any previous coding knowledge. We also try to have a good code-style with a lot of whitespace, and in a open source project simplicity and maintanability always trumps. So feel free to have a look at sc_jedi_consular.cpp and also follow the changes at http://code.google.com/p/simulationcraft-swtor/source/list
There is as mentioned more information in the wiki. Currently it contains only general information about SimulationCraft without too much details about the SW:TOR version, but it is always worthwhile to read. I reccommend the Features Page and FormulationVsSimulation.
Oh and you can always find some sample reports, updated from time to time, at http://www.simulationcraft.org at the bottom.
Edit: For all the new users I'm confident to say that at this point the Sage/Sorcerer module in SimulationCraft is highly accurate, everything is throroughly tested and verified by the community.
RE: Simulationcraft for Sage/Sorcerer - lostdummy - 01-19-2012 01:33 AM
It is always good to have simulator for DPS, since so many things are way easier to simulate than model with formulas. And also some things are too complex to solve by formulas, so even in my 'formula based' Excel I resorted to iterative calculations for some things - which is basically convergence programming rather than deterministic formulas. In addition, it is always good to have several sources to compare results.
As for checking numbers, I was surprised how close those DPS numbers were to my Excel results - especially when I remember differences that I had in my WoW excel and results from simcraft . But it is also possible that number of errors both in sim and excel can cancel each other and we end up with similar results ;p
I tried to compare numbers with Excel, since I noticed that you also based fight on 300sec and used same 'BiS' gear profile (only with addition stim/adrenals). One thing I noticed is that DPE numbers from simulator ( for example from Madness Sorc at http://www.simulationcraft.org/swtor/101/Sage_Sorcerer_101-2.html ) are higher than numbers I got in Excel, even for spells without much proc damage buffs, like FL.
Considering that it was long time since I last programmed on simcraft, I'm not certain what is included in DPE - is it average damage of spell, ie per one use ? And does it include everything like crits, proc buffs etc?
Also, what is boss damage reduction % used in simulation? Is it 50% or some different value?
Best way to compare spell damage values, and test if numbers are ok, is if you could have value showing 'Actual Damage' or 'Actual Tick Damage' - numbers that player with defined stats and talents would see as tick damage numbers when using FL in game (meaning without proc buffs and crits etc). In my excel those are 'Actual Dmg' columns, and I actually tested/compared those values with real ingame results for several different gear stats and confirmed that formulas are valid.
Another difference I noticed is in value of Alacrity , and also in number of used FL during fight (which seems to be related) - when I divide your time spent on FL (198.8 ) with number of used FL (66.9) i get cast speed of about 2.97sec in your simulation.
Now in stats you show 'Spell haste' at 9.43%, and by using 3sec*(1-9.43%) formula based cast time is 2.72 sec. Even if that is increased by lag of 0.1sec, it is still 2.82 sec, so I'm not certain where difference comes from - but it could explain difference in value of Alacrity stat.
Anyway, nice work - and in time with 'peer review' as you put it, it will only get better ;p
RE: Simulationcraft for Sage/Sorcerer - pingpong - 01-19-2012 02:11 AM
This looks fantastic so far! I've always been a big supporter of SimCraft in WoW and now I've moved games it's wonderful to see SimCraft is doing too.
It seems that Presence of Mind / Wrath isn't a buff that's supported currently which makes it tricky to evaluate some of the hybrid options.
Great work so far and I really look forward to seeing this develop further.
RE: Simulationcraft for Sage/Sorcerer - Caltiom - 01-19-2012 02:18 AM
Yes simulations especially shine when combat is determined by a lot of random procs instead of a more static behaviour. I wouldn't be surprised if SW:TOR goes the way of WoW with time, and increases the amount of things you have to react to during combat, thus making deterministic calculations harder and harder.
DPE means Damage per Execute, including crits, modifiers, etc., just the average simulated damage per spell execution.
50% armor reduction is used, or 44.4% with the 20% armor reduction debuff ( You can check the armor of the Fluffy Pillow target, keep in mind that it is level 53. ). Unfortunately that's only in the reports on simulationcraft.org, the 101-2 download still uses too high target armor values ( a bug already fixed in the repository ).
I don't think I'll be able to provide such a level of pre-combat damage information on each spell, that would be quite a lot of work to implement. On the other hand there is the debug log which reveals most of the values used for damage calculation.
The default lag for channeled spells is 250ms, which might be a bit high. But considering you can't refresh it by itself ( unlike a ShadowPriest in WoW, who can now refresh a Mind Flay by another Mind Flay without loosing the last tick, only increase mana consumption a bit ) and you don't want to skip the last tick, it might be justified. Of course you can always specify your own value.
The whole lag system is something which might need adjustment/improvement, especially because pre-queuing is even more present in swtor than in wow. There is a trade-off between choosing your next spell as early as possible to reduce latency problems, and being able to do better decisions if you do them at the latest possible moment.
And maybe I could point out that many things like abilities and buffs in the report can be expanded to show even more detailed information, including base damage and coefficients.
Edit: A lot of things aren't yet separated between Jedi Sage and Sith Sorcerer, and you may only find the Republic one ( as I play there ). For the talents that shouldn't be a big problem as you can import Sorcerer links without a problem. Buffs are the main thing not yet separated, something I want to do in the next weeks.
But until then I can see Presence of Mind without a problem on Madness/Balance profiles.
Edit2: Yes there are some WoW leftovers, but you might understand that at some point I had to choose between making everything more correct/perfect, and just releasing what is currently available. The major aim of this thread is to get more people working on the project and to establish a anchor in the theorycrafting community while the game is still young. You could call it PR, to be honest.
I'm sure all those improvements will be implemented eventually, at best by many different people. Just send me a mail, I'll give you commit access and you can work on whatever you like. That includes implementing other classes, which is the long-term goal of course.
RE: Simulationcraft for Sage/Sorcerer - frmorrison - 01-19-2012 04:02 AM
I was surprised to see the results so close to the Excel spreadsheet.
I would reduce lag to 200 ms, since there is a pretty nice spell queue system in swtor.
There is a Warlock on the first screen, a Sorcerer may appear better. http://www.swtoritem.com/images/thumb/3/30/Sith_Inquisitor_Sorcerer.png/250px-Sith_Inquisitor_Sorcerer.png
For the Sorcerer's output on Madness, it shows some incorrect buff names. Presence of Mind should be Wrath, power_potion should be power_adrenal. Mark of Power shows the republic name as well (force_valor_mark_of_power).
I noticed a bug, I imported Madness then simulated, then imported Lightning but it didn't change the profile. I can close and reopen and then import Lightning and everything works.
For the fight style, I am not sure a normal user would understand Patchwerk, Helter Skelter, and Ultraxion. Should it be instead something like stand still, lots of movement, little movement?
There are many WoW references in there that could be removed (however, removing the code may mess something else up). Perhaps just hide the UI element?
RE: Simulationcraft for Sage/Sorcerer - Shifft - 01-19-2012 04:21 AM
Are chain lightning / telekinetic wave implemented yet? I can't get them to cast although everything else seems to work. Great job in general with the sim.
RE: Simulationcraft for Sage/Sorcerer - pingpong - 01-19-2012 08:15 AM
Ah, that would explain the issue I mentioned above with with PoM/Wrath. I was trying to cast Chain Lightning / Telekinetic Wave based on the buff being up and assumed it was the buff rather than the spell itself that was causing the issue.
RE: Simulationcraft for Sage/Sorcerer - Kaedis - 01-19-2012 09:59 AM
Awesome work, Caltiom. It is still very much on my to-do list to check the source code and delve into the project in general. Unfortunately the chaos of the semester starting has put nearly everything for SWTOR on the back burner.
RE: Simulationcraft for Sage/Sorcerer - lostdummy - 01-19-2012 10:52 PM
As easier step before checking code, I tried to compare numbers from DPS Excel with numbers posted for simulated Madness build:
If any significant difference appears between excel and simulation, it would suggest some error in one of them (or both).
There are several 'steps' that could be compared, although not all numbers for all steps are available in simulation results:
1) basic spell data - this is basic comparison, not influenced by dynamic procs, rotations and timings, only by basic spell data and talents, and is natural 1st step to check if spell damage numbers, durations, ticks etc are correct
2) DPE , or actual average spell damage - including effect of procs on spell damage, thus also influenced by rotation, and other spells used
3) Spell frequency - how often is spell used, influenced by timings, rotation, talents that affect CD/cast times etc
4) total DPS for given gear/build
Before I could compare directly, I had to add few things to excel to model same environment as simulation. Namely, I added:
- support for spell Latency. Set by default to 100ms for normal spells, and 200ms for channeled
- raid buffs: Rakata Adrenal and Stim Will/Power buffs, and boss armor -20% debuff
- column that show "DPE" as average actual damage of each spell
When I did that, end result was that Excel reported higher damage/DPS than Simulation results.
Checking above points:
#3 (spell frequency) was practically same as in simulation (when Latency was used)
#2 (DPE) did show ~2% difference for DPE on all spells, except huge 20% higher damage for Creeping Terror DPE in Excel compared to Sim.
#1 (basic damage) is hard to compare since simulation does not show it, but seeing as CT was clear suspect, I checked its basic spell data on simulation - and noticed that it use 6 ticks.
When I changed in Excel for CT to use 6 ticks, CT damage came in same range as all other spells (ie 2% higher on Excel than on SimC).
Next I compared talents and noticed that SimC do not use 3% crit talent, and also it use just 1 point in "Disturb Mind" (Exanguinate) - which was not consistent with Affliction data showing 21sec duration. Assuming that one is error in sim showing used talents, I just changed Excel talents for Madness to use 0/3 in Seeping Darkness, and it resulted in almost perfect match with SimC data - both in total DPS (#4) which was at 0.3% diff from excel, and in DPE of each spell.
Summary of things I think needs to be checked for SimC:
1) does CT use 6 or 7 ticks, ie does it start with tick immediatelly? I do not have that spell, but by checking ingame tooltip, it is consistent with 7 ticks using base lvl 40. It would be good if someone who has CT confirm 6 or 7.
2) why talents show 1 point in Exanguinate, and Affliction is 21sec long?
3) this is not error, but why no points in Seeping Darkness for Madness build? they seem to increase DPS a bit
4) why is uptime of Rakata Adrenal just 5%? It should be 10%, since it can be used twice on any 300sec fight (btw, while comparing numbers, i limited in excel to 5% too)
5) why is Haste scale factor negative?
Last one indicate too high variations in sim results, ie too high error margin - since I do not know about any game mechanics that would penalize having more haste.
But in general, I expected more differences ;p It remains of course to check more complex Balance build, but I left that for later since there is no sample data posted on site.
RE: Simulationcraft for Sage/Sorcerer - Caltiom - 01-20-2012 12:04 AM
Thanks a lot for all your work, that's very valuable.
1. Sever Force/Creeping Terror: If it indeed has 7 ticks, one directly happening when casted, then I'll change that. It will still show the number of base ticks still as 6, but with tick_zero=true ( Similar to Telekinetic Throw/Force Lightning ).
2. SimC supports the chaining of spells, I think there is still a small 37ms lag by default, but not 100ms. I'll change channel lag from 250ms to 200ms so we can better compare results.
3. Potion Uptime: I changed it to allow unlimited uses of potions during combat ( there was a check allowing only 1 potion per combat, we all know where that comes from ). Good catch.
4. Negative Alacrity Values for the Balance Report: Have a look at the error number compared to the scale factor, you clearly can't say the true scale factor is negative. But it should be slighty higher because Telekinetic Throw/Force Lightning benefits from it, I'll investigate.
6. I can't find any problem with Disturb Mind/Exanguinate, the simulationcraft.org shows 2 points and affliction is cast around every 24s. If there are problems with your own profiles, please share the talent link you used.
5. The default profiles are surely far from perfect. Feel free to just post better talent links or action priority lists and I'll implement it right away. ( Or profile maintaining is a great way for non-coders to start helping out, that's how I joined the SimCraft team myself ). Personally I just have not yet tested everything that extensively, which talent setup would be the best, etc. There is never enough time
Generally I'm not so astonished that the numbers match each other that good, and might even better after some more work. One factor is clearly that the whole action lists/gameplay is not yet that extremly complex ( I'm convinced that will gradualy change ), and on the other hand the whole model of the class ( I mean both simulation and spreadsheets, the general knowledge here in the community about the class ) is fairly simple right now, the main reason is surely that there aren't any combat logs & combat log analyzers ( addons or third party tools ) currently available. Once there are such strange things as Ignite rolling/munching in WoW, I'm sure there will be much bigger differences with different theorycrafting tools.