Equipment optimiser for frogcomposband characters

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • schatz
    Scout
    • Jun 2014
    • 37

    Equipment optimiser for frogcomposband characters

    TLDR version

    https://optimiser.riverwaterhill.com is a website that takes in a HTML character dump from frogcomposband and tries to figure out what combination of equipment your character should wear given a set of constraints set by you.

    -----------------------------

    Still interested? keep reading.

    After uploading a HTML character dump, you can start defining constraints. There are currently 4 kinds of constraints:
    1. Item inclusions - equipment slot and associated equipment that must be included in the solution. For instance, you can define that the Jewel of Judgement must be included because you like its utility of clairvoyance and recall.
    2. Item exclusions - items matching a certain name to be excluded from consideration. For instance, monk characters should not be wearing heavy armour so you can specify 'Metal Brigandine', 'Bar Chain Mail' and the like to be excluded.
    3. Slot constraints - number and type of slots available for a character. For instance, weapon == 0 but left_arm == 1 for an unarmed, shield-carrying monk. Or ring == 6 for a monster character like Beholder.
    4. Attribute constraints - what attributes you would like the solution of equipment set to provide. For instance, you can specify that you would like to have at least speed 20, melee damage of +10 or above, telepathy, etc. from the equipment set. That is specified as Sp >= 20, Melee_Dmg >= 10, ~Tele >= 1.


    Once you are done specifying the constraints, click on the 'Save' button and you will be presented with a listing of the constraints as well as a solution, if any. If the solution is not satisfactory, you can continue to add/remove/update the set of constraints. Sometimes the system will not be able to provide a solution and it will say "Status: infeasible". This happens when the available set of equipment is really not able to achieve the given set of constraints or when you have accidentally added contradicting constraints, e.g. St >= 4 and St <= 3.

    See the attached screen capture for my monk character as an example.

    This website is a work in progress so feel free to give feedback, comments, report bugs.
    Attached Files
    Last edited by schatz; October 2, 2019, 04:18.
  • werecobalt
    Rookie
    • Jun 2019
    • 19

    #2
    Hi Schatz!

    I talked about if there is an automatic gear shuffling tool the other day on angband.live and today I see this! This is really cool.

    But I have problem registering. It doesn't send confirmation mail to my mailbox. I checked the spambox and it was empty too. I use yahoo mail.

    Comment

    • schatz
      Scout
      • Jun 2014
      • 37

      #3
      Originally posted by werecobalt
      But I have problem registering. It doesn't send confirmation mail to my mailbox. I checked the spambox and it was empty too. I use yahoo mail.
      Sent you a private message with the contents of the email. The yahoo mail servers are blocking the mailgun server I was using for this app. Let me know if you did not receive the private message.

      Comment

      • CyclopsSlayer
        Swordsman
        • Feb 2009
        • 389

        #4
        Just a heads up, the email says to click the link, but it sends an incomplete URL Easy enough to fix, just preface with an http, but...

        ://optimiser.riverwaterhill.com/accounts/activate/...

        Comment

        • werecobalt
          Rookie
          • Jun 2019
          • 19

          #5
          Thanks Schatz, and CyclopsSlayer! I register successfully.

          Comment

          • schatz
            Scout
            • Jun 2014
            • 37

            #6
            Originally posted by CyclopsSlayer
            Just a heads up, the email says to click the link, but it sends an incomplete URL Easy enough to fix, just preface with an http, but...

            ://optimiser.riverwaterhill.com/accounts/activate/...
            Thanks for the bug report. Pushing a fix now.

            Comment

            • ShadowTechnology
              Apprentice
              • Jan 2009
              • 71

              #7
              Very cool. I plan to try it.
              Question: In your example there appears to be one (and only one?) solution. This is probably where you want to end up, but how do you start? If you have a Home full of stuff and start with minimal attribute constrains, you may get a million combinations (literally) that meet your requirements. How is this reported? Later, as you are approaching "the best" kit, you may get a more reasonable number of solutions that meet you requirements (e.g. 3 solutions, or 10). Will it present all of these for the player of choose from?
              Or possibly it attempts to do that for you, and presents it's estimate of the one best solution from among those that meet your minimal requirements?

              Comment

              • schatz
                Scout
                • Jun 2014
                • 37

                #8
                Originally posted by ShadowTechnology
                Or possibly it attempts to do that for you, and presents it's estimate of the one best solution from among those that meet your minimal requirements?
                Yes, that's what it does. It looks at all possible combinations that meet the minimal requirements. For each of these combinations, it naively does a sum of the attribute pluses and minuses of each equipment set and the equipment set with the highest sum is selected and presented as the solution.

                That's usually not optimal at the start since the solution will favor equipment that gives the highest pluses and minuses, e.g. Rings of Archery, which might not be what you want. So you start adding more item exclusions and attribute constraints. For instance it was giving me too much stealth previously so I ended up specifying Sl <= 8 or increase other requirements like Sp until it gives you something that looks more reasonable.

                Comment

                • schatz
                  Scout
                  • Jun 2014
                  • 37

                  #9
                  Switching away from mailgun to AWS SES to send emails in order to resolve issues with sending email to yahoo.com email addresses.

                  Now waiting for AWS to respond to my request to move my account out from their sandbox. Meanwhile new account registration and password resets will not work. Will update here when the transition completes successfully.

                  Comment

                  • schatz
                    Scout
                    • Jun 2014
                    • 37

                    #10
                    Completed transition to new mail sending service. Account registration and reset account password email should work now.

                    Comment

                    • ShadowTechnology
                      Apprentice
                      • Jan 2009
                      • 71

                      #11
                      Originally posted by schatz
                      Yes, that's what it does. It looks at all possible combinations that meet the minimal requirements. For each of these combinations, it naively does a sum of the attribute pluses and minuses of each equipment set and the equipment set with the highest sum is selected and presented as the solution.

                      That's usually not optimal at the start since the solution will favor equipment that gives the highest pluses and minuses, e.g. Rings of Archery, which might not be what you want. So you start adding more item exclusions and attribute constraints. For instance it was giving me too much stealth previously so I ended up specifying Sl <= 8 or increase other requirements like Sp until it gives you something that looks more reasonable.
                      I like it! It's not hard to figure out and it's very quick compared to manually scanning hundreds of wieldable items and testing combinations for "holes". My active character is CL50 but only at DL76 at this time. His home is a cluttered mess, but most of the attributes he wants in his kit are represented at least once. I expect the next 24 levels to yield even more artifacts (half randarts in this case) with even longer strings of abilities and bonuses attached to them. This is the part of the game where I usually get bogged down and spend as much time optimizing gear as I do exploring the dungeon.

                      I wanted to force @ to use a melee weapon 2-handed. I set Left Hand = 0 and this seems to have worked in that shields were no longer showing up in the mix. But I'm not sure whether the advantages of wielding 2-handed are being applied when selecting "the best" of those combinations that meet the minimal requirements. Am I doing this right?

                      Related question: Can I set it to only consider dual wielding combos (a melee weapon in each hand)?

                      Comment

                      • schatz
                        Scout
                        • Jun 2014
                        • 37

                        #12
                        Yes, that's precisely why I wrote this tool. It's meant for late stage of the game when there's just too many items in the Home inventory to go through to pick out the stuff to fit what I want. By the way, you can also look at the list of items the parser generated from the character dump file to look at items with a particular attribute, e.g. the list of all equipment with Sp attribute.

                        Originally posted by ShadowTechnology
                        I wanted to force @ to use a melee weapon 2-handed. I set Left Hand = 0 and this seems to have worked in that shields were no longer showing up in the mix. But I'm not sure whether the advantages of wielding 2-handed are being applied when selecting "the best" of those combinations that meet the minimal requirements. Am I doing this right?

                        Related question: Can I set it to only consider dual wielding combos (a melee weapon in each hand)?
                        The solver is not aware of such things as what bonus you get with pure 2-handed wielding vs 1-hand and shield. That said, that's what I would do to get 2-handed wielding.

                        For dual wielding, set weapon == 2 and left_hand == 0. Alternatively you can just remove the left_hand slot constraint altogether leaving only weapon == 2. Let me know if that doesn't work for you.

                        Comment

                        • Kruzifixxion
                          Rookie
                          • Feb 2019
                          • 6

                          #13
                          yesterday it was working fine for me but today it keeps saying infeasible no matter what even if im just trying to do 1 pip of acid for my constraints

                          Comment

                          • Kruzifixxion
                            Rookie
                            • Feb 2019
                            • 6

                            #14
                            I think maybe you should be able to delete character from the character list instead of the character page itself because my char just server error (500) so Im not able to delete it or add it again to try to figure out whats wrong

                            Even on a new acct it tell me the char already exists and to update it

                            Comment

                            • schatz
                              Scout
                              • Jun 2014
                              • 37

                              #15
                              Originally posted by Kruzifixxion
                              yesterday it was working fine for me but today it keeps saying infeasible no matter what even if im just trying to do 1 pip of acid for my constraints
                              I just had a look at the html dump file. The reason it says infeasible is two-fold:

                              1. There is a slot constraint of light == 1 but the parser was somehow ignoring the non-randart Feanorian lamp that the character is carrying and there are no other light items in your inventory or Home inventory.

                              2. The attribute constraint of Ac == 1 is the only attribute constraint that was set. For some reason that I don't currently understand, the solver requires that at least one of the attribute constraint to be '>=' or '<='. If all the attribute constraints are '==' in nature, the solver will fail. I am catching the failure now and added a message as follows:
                              Status: infeasible - please specify at least one Attribute Constraint as ">=" or "<=".
                              If all the Attribute Constraints are "==", the solver will fail to find a solution.

                              Just pushed the fix. Thanks for reporting the bug!

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎