Page 1 of 2 1 2 LastLast
Results 1 to 10 of 11

Thread: CONSUME.ash - A diet handler script

  1. #1
    Senior Member soolar's Avatar
    Join Date
    May 2015
    Posts
    103

    Default CONSUME.ash - A diet handler script

    Instructions and details can be found at the github page here: https://github.com/soolar/CONSUME.ash

    Preferred place for feedback is on the github issue tracker, but if you don't have an account and don't want to sign up for some reason, I'll still check this thread fairly regularly, or you can kmail me @ soolar the second (#2463557)

  2. #2
    Developer fronobulax's Avatar
    Join Date
    Feb 2009
    Location
    Central Virginia, USA
    Posts
    4,342

    Default

    Interesting. Thank you. I am unlikely to get a github account since the only reason I have to do so now would be to comment but if I get one I will comment there and I will not expect a lot of response here.

    Demanding "superior capital letters" is cute, once, but I see no reason to make that a requirement. You could, for example call to_upper_case on the input and we would both be happy.

    Is there any anecdotal data comparing your consumption results to eatDrink or vcon?

    How do you decide what to consume? Are you using an algorithm that can be mathematically proven to be optimal or something that works "pretty good"?

    I'm still not sure I understand how to compute VOA for meat farming according to your instructions but I also think using actual results would be good enough. Using gross profit is definitely wrong but net profit is probably right. If you take the difference between meat on hand at the end of farming, meat on hand at the beginning and divide by the number of adventures the result will account for meat spent on buffs and just about any other player controlled variable. Maybe you are aiming your instructions at someone who has no actual, personal meat farming data yet?

    I had a little spleen left. CONSUME told me homeopathic mint tea. EatDrink told me nasty snuff. Superficially it looks like the adventures are the same but the tea was cheaper. That sounds like a good reason to investigate further. Thank you.

  3. #3
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,715

    Default

    Instructions and details can be found at the github page here: https://github.com/soolar/CONSUME.ash
    Originally Posted by soolar View Post
    Interesting. I'll have to study this.

    I confess to being amused by this:

    Next, let's look at the drops from the Robortender, from giving it a Feliz Navidad. Frankly, I have absolutely no idea how much MPA this adds. Candy is worth a decent bit though since the advent of Sweet Synthesis. Going by a brief grepping of my log files, it looks like the robort drops candy roughly... a quarter of the time? Let's go with that. Candy can be worth anywhere from 400 to 3000 meat, give or take.
    And many other examples of "look at the asking price in the Mall for item drops and add that into MPA".

    A lot of that seems like advice for "how to optimize my outfit and buffs", which is cool, but I don't think I agree with the general philosophy of "if I can sell items in the mall for big bucks, they count for MPA". I'll have to ponder.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  4. #4
    Senior Member Crowther's Avatar
    Join Date
    Nov 2006
    Posts
    1,468

    Default

    Certainly using your marginal MPA from the end of the day is better than using your mean MPA, but it is not optimal either. The optimal value is usually lower. Using your final MPA means you are making near zero profit for your ending adventures. Fewer adventures with more meat coming in could provide more profit. Hitting optimal is actually a very hard problem.

  5. #5
    Senior Member soolar's Avatar
    Join Date
    May 2015
    Posts
    103

    Default

    The biggest selling point I think my script has when compared to eatdrink or vcon is considering the spleen gained back from hobopolis consumables, which to my understanding neither of those do. I'm not 100% sure about that for vcon since I haven't experimented with it much, but I've used eatdrink for a long time and it has never used sliders or pickle juice for me, which this script finds as optimal for my valueOfAdventure.

    It's not strictly optimal per se, especially because it tries to fill an organ all at once when possible, so if blood drive stickers are optimal it will usually eat one of them, a voodoo snuff, and a size 2 spleen item instead of eating a blood sticker, emptying spleen, and repeating.

    It is still under very active development though, so it's getting better all the time!

    As for how I decide what's "optimal," it probably is closer to pretty good than objectively perfect, the name is mostly just a cute acronym one of my friends came up with for CONSUME. To be kind of brief, it takes the valueOfAdventure * average adventure yield - price of item, then factors in the value of any organ cleanings in the same way, and sorts by this net value of a consumable divided by space taken. It then tries to fill up with whatever's best that fits.

  6. #6
    Developer fronobulax's Avatar
    Join Date
    Feb 2009
    Location
    Central Virginia, USA
    Posts
    4,342

    Default

    Certainly using your marginal MPA from the end of the day is better than using your mean MPA, but it is not optimal either. The optimal value is usually lower. Using your final MPA means you are making near zero profit for your ending adventures. Fewer adventures with more meat coming in could provide more profit. Hitting optimal is actually a very hard problem.
    Originally Posted by Crowther View Post
    Since you are using the word optimal, what are you trying to optimize? Adventures generated by consumption? Average cost of generated adventures? Something else?

    Meat per Adventure is really nothing more than a weighting factor so adventures can be compared in some meaningful way to the cost of items that produce them. If you were motivated enough you could assume a fixed set of mall prices and compute the MPA that yielded the largest number of adventures. I suspect you could recast the problem so that MPA was a variable with constraints and not even need to estimate it.

    I ran some sensitivity analysis using EatDrink in simulate mode several years ago. I did my best to fix mall prices and then looked at adventures produced as a function of MPA. At that time it turned out that there were three regions in MPA between 0 and 10000 that yielded different adventures and consumption. So instead of worrying about a specific value of MPA you could just choose High, Medium or Low.

    Since the assumption of a constant MPA is a concern, the right way to do this would be to determine how many turns each MPA could be generated for and recast the problem with a variable weight. But if "the problem" is still as insensitive to MPA as it was then, this might not be worth the effort unless the possible MPAs were in different regions.

    I guess I'm saying that while it might be fun to worry about the specific value of MPA it probably won't make as much difference as people think it might.

    :-)
    You just vehemently agreed with me
    Originally Posted by Veracity View Post
    I agree with frono.
    Originally Posted by Veracity View Post

  7. #7
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,715

    Default

    vcon doesn't calculate adventure yields of spleen items yet. I'll make it do that.

    vcon is a package which doesn't actually consume items for you; it just calculates which are the most cost effective per size given the value of MPA you feed it, based on expected adventure yield and mall price.

    It is up to the user of that package to decide how to use that info. I.e., do what CONSUME or EatDrink do. The main (only?) user so far is VeracityMeatFarm, which eats to capacity, drinks to capacity, and uses spleen for sweet synthesis and/or numberology. If there is left over spleen, I suppose it could seek extra adventures, given the change to vcon I will make soon.

    Cleaning your spleen with Hobopolis consumables is an advanced strategy which I have not implemented. Haven't looked yet, but I assume your script spleens up for sweet synthesis and then spleen cleans & respleens for adventures. Or something. If you do that, impressive!

  8. #8
    Developer fronobulax's Avatar
    Join Date
    Feb 2009
    Location
    Central Virginia, USA
    Posts
    4,342

    Default

    I apologize for the verbal shorthand. When I say "vcon" I am really thinking of something wrapped around it that is using the information to do the consumption. VMF has does that and it could be copied or imported.

  9. #9
    Senior Member soolar's Avatar
    Join Date
    May 2015
    Posts
    103

    Default

    Actually, the script just gets a full diet, then goes backwards from the end (because presumably the least valuable things will be at the end) and replaces a size x spleen item with enough spleen items to fill up x-1 space and a synthesis call, then keeps working backwards like that until there's synthesis turns >= the average adventure yield.

    As for how it handles organ cleaning, it just goes through filling organs in the order of spleen, stomach, liver, and any time it runs in to something that cleans out some space in another organ, it ups how much space it has available in that organ, unless that would put it over the max, in which case it pauses what it's doing to go fill that organ up instead.

  10. #10
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,715

    Default

    Clever.

    Revision 120 of vcon calculates adventure profitability for spleen toxins, in the same way it does for foods and boozes, but doesn't consider just "superior" items, since Jick's idea of a "superior" spleen toxin seemingly has nothing to do with adventure yield.

Posting Permissions

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