• Visit Rebornbuddy
  • [work in progress] Singular + SimcraftImpl all-in-one CR

    Discussion in 'All in One' started by aash, Aug 31, 2015.

    1. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      Singular + SimcraftImpl all-in-one CR

      [div=border-radius: 5px; border: solid 1px #dddddd; background-color: #E6FFE6; padding: 10px; margin: 10px]Updates
      — September 10, 2015 —
      I've got an intermediate result. Simcraft Impl is functioning now inside the Singular as a combat behavior provider. I have made some tesing on my Combat Rogue setup and it is consistently beat original Singular DPS by 10-15%. I've updated the installation guide so see the instruction there. A lot of work still has to be done. So stay tuned! :)
      [/div]
      [div=border-radius: 5px; border: solid 1px #dddddd; background-color: #FFF7DE; padding: 10px; margin: 10px]DPS Benchmarks
      [table]
      [tr]
      [td]Class/Spec[/td]
      [td]Item level[/td]
      [td]Singular DPS[/td]
      [td]Singular(*) DPS[/td]
      [/tr]
      [tr]
      [td]Rogue/Combat[/td]
      [td]612[/td]
      [td]9367[/td]
      [td]11210[/td]
      [/tr]
      [tr]
      [td]Hunter/Beast Mastery[/td]
      [td]680[/td]
      [td]~17000[/td]
      [td]~28000[/td][/tr][/table]
      Singular(*) DPS — is a singuar with simcraft implemented combat.
      [/div]

      Hello Buddies.
      I'm starting development of new Combat Routine which will take the best out of Singular and SimcraftImpl. Before the first release I will post the news about the course of development.

      Motivation
      Singular`s combat handling is just not good enough for everyday life. Seem that there's no other supporters of Singular routine except Bobby53 (and me! :)). Class specific code is hard to maintain/develop.
      Singular got strong architecture. I think we can build a better CR around the Singular core.
      SimcraftImpl is a powerful frontend for combat Composite generation. It is based on SimulationCraft intermediate language which models wow combat for every possible class/spec. It is resemble the FightThisWay routine but it is far more usable and powerful.

      ToDo list
      • [DONE]Refactor SimcraftImpl code base.
        Right now it is a BotBase which is not suitable for easy integration into the other projects (Singular in my case). I going to make some sort of a class library from it. The library will provide a Composite which implement combat behavior and means to configure how it is generated. Need to think out what kind of configuration is needed.
      • Provide a way to share code across several bots/plugins/routines.
        Honorbuddy platform does not provide a way to share the code across it's extension sites(bots/plugins/routines), so I should invent some trick here. It is not necessary for the project, I would just copy-paste all the dependencies, but I corius person and I like the idea of reusable code base.
      How-to install / use
      • Download the sources from Singular github repository (Download ZIP button on the right side of the screen). Actually it is a branch, so be careful that you are downloading proper zip package.
      • Replace the original Singular routine in your honorbuddy installation with the new one.
      • In order to use SimcraftImpl combat behaviors you should make a quick configuration: go to Class Config (in the hb window) -> find General options group -> there will be new "Override tags" option -> change it from "singular" to "simcraftimpl".
      • Be sure that you do not have Simcraft Impl botbase installed. If you are do have it, then delete it. And also dont forget to clear assembly cache: delete all files inside CompiledAssemblies folder.
      • Simcraft Impl has to be configured too, see the required configuration on the original thread. Mainly you should copy *.simc files from the archive to the "Simcraft Profiles" directory of your honorbuddy installation. If you got any problems reply this thread with thorough description and the log file.
      Credits
       

      Attached Files:

      Last edited: Sep 10, 2015
    2. ernie007

      ernie007 New Member

      Joined:
      Jun 16, 2015
      Messages:
      35
      Likes Received:
      1
      Trophy Points:
      0
      Hi,

      This look promising.
       
    3. charliex

      charliex Member

      Joined:
      Jun 25, 2012
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      Looks like an amazing idea Aash, cant wait to see it in action
       
    4. b4rbi3s

      b4rbi3s New Member

      Joined:
      Mar 27, 2012
      Messages:
      162
      Likes Received:
      1
      Trophy Points:
      0
      Looking forward to try it!
      Lmk if you need some for testing, i have one of each char :)
       
    5. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      Got an update, see the main topic.
       
    6. Lbniese

      Lbniese Active Member Buddy Store Developer

      Joined:
      Feb 13, 2011
      Messages:
      972
      Likes Received:
      25
      Trophy Points:
      28
      "Testing before the pre-release" means that it isn't on the repository? :)
       
    7. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      Yes, I wanna be sure you will have positive experience with it :).
       
    8. bobby53

      bobby53 New Member

      Joined:
      Jan 15, 2010
      Messages:
      4,040
      Likes Received:
      178
      Trophy Points:
      0
      Since it is based upon the Singular framework, be sure to change the following:

      - Change top-level of all namespaces to something other than Singular
      - Change the value returned by SingularRoutine.Name so differentiated from Singular

      Good luck with your efforts! -Bobby53
       
    9. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      Hello Bobby53, glad to see you :)
      can you explain why?

      I would like to take part in further Singular development. So I'm thinking would it be possible to include SimcraftImpl Composite generator into the Singular as a module? So Singular will provide one additional way of implementing Composite Behaviors with simc intermediate language. If you like I would explain the idea in more detail.
      This work is just a proof-of-concept. I wanted to make sure that Singular and SimcraftImpl can live together.
      Thank you, — aash.
       
    10. bl4ck

      bl4ck Member

      Joined:
      Aug 18, 2011
      Messages:
      976
      Likes Received:
      6
      Trophy Points:
      18
      hbrelog now singular awesome.....
       
    11. bl4ck

      bl4ck Member

      Joined:
      Aug 18, 2011
      Messages:
      976
      Likes Received:
      6
      Trophy Points:
      18
      I noticed bot not use trinket and after when i press key "A" i got ingame msg AOE disabled and bot stop move.
       
      Last edited: Sep 10, 2015
    12. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      The problem with trinket is because you use default profile. But if you want to maximize DPS output you should simulate your character with Simulation Craft utility to produce optimal *.simc script.
      A is the default key bind for toggling AOE behavior in the Simcraft Impl. So you got that message. There's no configuration window right now so you should change it by hand. Go to the <honoruddy>\Settings\<realm>\<character>\ folder and find SimCSettings.xml there.
      Change by hand the following lines to whatever you want, lets say if you want bind AOE, Cooldowns, Execution toggle to Ctrl + Shift + [...]:
      Code:
        <Cooldowns>
          <key>C</key>
          <mod>Control Shift</mod>
        </Cooldowns>
        <Aoe>
          <key>A</key>
          <mod>Control Shift</mod>
        </Aoe>
        <Burst>
          <key>B</key>
          <mod>Control Shift</mod>
        </Burst>
        <Execution>
          <key>X</key>
          <mod>Control Shift</mod>
        </Execution>
      
       
      Last edited: Sep 10, 2015
    13. Myminime

      Myminime New Member

      Joined:
      Oct 8, 2012
      Messages:
      268
      Likes Received:
      0
      Trophy Points:
      0
      Aash, you are awesome!! I go to test, is great idea ;)
       
    14. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      Actually awesome people here are Bobby53 and Kane49_2. Because they are the authors. I've just compiled it together. But anyways thank you.
       
    15. 17N

      17N New Member

      Joined:
      Jan 24, 2014
      Messages:
      278
      Likes Received:
      2
      Trophy Points:
      0
      which classes does this support?
       
    16. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      @17N
      Potentially every class/spec. But you should have a *.simc script for it.
       
    17. shineey

      shineey Member

      Joined:
      Nov 14, 2014
      Messages:
      133
      Likes Received:
      0
      Trophy Points:
      16
      If I may suggest something, could you please use one of the edited SimcraftImpl iterations towards the end of the thread that has the Cooldown/AoE status change broadcast to an overlay instead of into the in-game chat? I believe that was a contributor to some people getting banned since Enyo used to do that. For the time-being, I am going to edit it myself, but it would be nice to have that changed for everyone, since it looks a bit nicer and it is potentially safer as well. Other than that, so far it looks pretty awesome! Can't wait for a settings menu that will work with the SimcraftImpl portion of the CR!
       
    18. shineey

      shineey Member

      Joined:
      Nov 14, 2014
      Messages:
      133
      Likes Received:
      0
      Trophy Points:
      16
      Noticed something that may be a bug.

      Currently using your routine to level up a character with Kick's. Leveled up and singular needed to rebuild. Then it "Changed profile to Empty Profile" and was still running the profile, but was stalled out not doing anything.
       
    19. aash

      aash Member

      Joined:
      Oct 14, 2014
      Messages:
      179
      Likes Received:
      9
      Trophy Points:
      18
      Thank you, I will look into that. BTW logs would be helpful.

      Good suggestion! I agree that such broadcasts should not be made via in-game facilities.
       
      Last edited: Sep 15, 2015
    20. shineey

      shineey Member

      Joined:
      Nov 14, 2014
      Messages:
      133
      Likes Received:
      0
      Trophy Points:
      16
      Next time I try to level with it and experience the issue I will post logs for sure! I did have a question that I thought about at work as well: are you planning on adding implementation for actions/conditions that SimcraftImpl currently does not support, such as 'pool_energy' and conditions that tanks use? I know that the Kane had no intentions of implementing tanking methods and left the game before finishing out several actions and conditions that some casters and ferals/subtlety used.
       

    Share This Page