1. #1

    Simcraft Evolved

    I think Simcraft is a fantastic tool, but it obviously has its limitations. One of the primary issues people have with its output is that the built in APLs are rudimentary and do not reflect the decisions a skilled player would make to maximize DPS. A number of people have commented on this and suggested that a proper APL might be 100's of lines long. This is an task that people clearly are unwilling/unable to undertake.

    But...what if simcraft could do it for us?

    I have NO idea if this is feasible, but what if simcraft that could change its own APL (mutate) and over time increase it's own DPS (evolve). I envision it would be able to do multiple trials and then intelligently modify a command line or their order to increase the DPS output. As for intelligently, there are a number of combinations that would clearly diminish dps and they would be blocked from being chosen (eg. potting with a time to die less time left then its full duration would usually be a dps decrease) thus making the task more manageable.

    I'm not sure if writing this program would be anymore manageable than writing a great APL for the the current specs, but the advantage is that it would be forward compatible with any changes to the class and write a new APL whenever changes occurred.

    Anyway just a thought. Any code heroes out there up to the challenge?

  2. #2
    A problem with doing this is most likely the APL ending up being really hard to comprehend, i.e. tons of small things here and there that makes no sense even for the skilled player. I'm not sure we'd get closer to a result of what a good player can achieve or that we'd even learn much from it because it would just make no sense to try utilize it in practice with it being too complex and affected too much by RNG.

  3. #3
    Quote Originally Posted by Bonkura View Post
    A problem with doing this is most likely the APL ending up being really hard to comprehend, i.e. tons of small things here and there that makes no sense even for the skilled player. I'm not sure we'd get closer to a result of what a good player can achieve or that we'd even learn much from it because it would just make no sense to try utilize it in practice with it being too complex and affected too much by RNG.
    You may in fact be correct about the complexity of the output. But maybe not. In addition, it could tell us what is possible and thus a target for simpler, more user friendly action lists to shoot for. As for being RNG dependent, it would be no more affected by RNG than your real output is affected by RNG. We account for that by running the simulation multiple times and looking at the average output and the max/min output.

  4. #4
    While making a proper APL may be a bit long to do, what you re suggesting is both very hard in design (if not almost impossible to do properly) and very long in coding.

    So... no :/

  5. #5
    I'm sure it's doable but either way I really doubt making a somewhat proper APL to start with and to then keep working on should be that hard. If I was more familiar with how SimCraft works I'd started on it myself long ago. I'm not quite sure what people are so afraid of to keep them away from giving it a go. Too time consuming?

  6. #6
    I don<t know, our most common behavior not already implemented in SimC arent that hard to code to be honest or at least dont look that different from what is already there. Things like trinkets exploitation, better shard management, for affliction dont look that hard to do. But that still requires someone to be familiar with the thing, and thats hard to find.

    And it still requires some time of course.

  7. #7
    Lets say we have only 10 possible actions and we want to find optimal first 40 casts. Thats 10^40 possible combinations, which is way too many.

  8. #8
    Permutating through the action list is completely impossible, there are way too many possibilities.

    As Ridcully pointed out, just ordering a couple of actions results in big numbers. If you then start looking at action conditionals you're completely lost. There are so many possible ones, and they can be combined logically in whatever way you like. Even if you constraint that, it just blows the numbers.


    Rawr provides automatic gear optimization. It can do this because the time required to calculate the dps with formulation methods is very short - probably some microseconds.
    With simulation, the required computing power is immensly greater. You'll need at least 1s even with a very good computer and only 1000 iterations. Having 10 item to choose per Slot on 14 slots with 1 sim/s already results in 3 Million years of simulation.
    So even implementing a gear permutater in SimC would require some sort of pre-filtering using first ilvl ( to get to the ~5-10 items per slot, otherwise you'd have a lot more ) and then using linear approximation ( =scale factors ). Only if you have a few enough permutations, eg. 1000 you can start actually simulating them. You'll probably use another iterative method, first running the sims with 100 iterations and filtering out 900 of the 1000 permutations, then in the next step run with more iterations ( = higher statistical accuracy ) and so on. Just to save resources, instead of directly running everything with 10'000 combat iterations.
    Last edited by Caltiom; 2013-03-03 at 01:14 PM.

  9. #9
    If you know the syntax for Simcraft APLs (which isn't that hard to figure out) you can make the sim do certain things that you might do. For example I believe the LifeTap check is set for 30% mana by default. You can change that to say wait until 10% mana and continue until you are over 90% mana. If you are one of those people that likes to make healers mad by doing that.

    In theory with a little more support on the overrides side of things you could simulate almost any fight in the game.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •