It has came to my attention that bait producing buckets got nerfed recently to halve the decay time on bait produced. Purportedly this was to help reduce the overload on the servers by reducing the number of bait floating around constantly. This got me thinking about the inefficiency of having a bunch of unused items sitting around in various kits, horns, buckets, jars, racks, pots, boxes, vases, satchels, palettes, and what-have-you. Instead of having these items ready, sitting available, for the owner at all times and wasting precious item space on the servers; why not have the items produced when someone gets the produce-able item from the producer?
Example:
Jumpy buys a bait bucket. It has 50/50 pieces of bait which Jumpy can 'create' any time the bucket is 'full' by getting the bait from the bucket like normal. Jumpy takes the 50 bait from his bucket, generating bait items with item#'s at that moment. Every Achaean day the bait allowed to be produced is increased by a set amount, so 15/50, but no actual item is made until someone gets it from the producer item.
From my understanding this could greatly reduce the number of unused items floating about. By only having items actively created when desired and available, there wouldn't be thousands of bait languishing to decay repeatedly in buckets, hundreds if not thousands of letters awaiting similar treatment, and so much more.
There are a couple things to consider with this: Firstly, there would have to be a way for 'random' generators to still generate randomly and items with lids would still need to work with their lids normally. Secondly, if this was implemented, it would essentially change the producer items like bait buckets from container items that produce and store to non-container items that produce (albeit in a new way) but don't store. This could either be addressed by automatically pushing gold to the owners inventory -before- implementing a change, or leaving them as containers with a single space, or more for items that make sense, but the produced items don't get placed there automatically. This would allow those who use their producers to store their gold to not lose it or to be able to continue to store their gold in the producer.
As a side-note this would also save Jumpy from being short when he needs to write five letters at the top or half of the month. I know of at least three people who are frustrated their stationery kits don't -always- have five letters available if they haven't taken any out.
Finally, there are a few of us who have customized our producers to make unique items. We would obviously want to ensure either these are left untouched or are upgraded to this system keeping the unique items intact. Custom horns of plenty, upgraded bait buckets, things like that.
P.S.- I am not a coder in any sense of the word, I have no idea how easy or difficult this would be to implement. I just see the inherent advantage of reducing the load on the servers.
~
You close your eyes momentarily and extend the range of your vision, seeking out the presence of Drugs.
Though too far away to accurately perceive details, you see that Drugs is in Mhaldor.
Comments
Whether there are enough bait buckets, with enough bait in them, for the difference to actually have a noticeable effect is another question entirely.
Results of disembowel testing | Knight limb counter | GMCP AB files
(The Midnight Crew): Micaelis says, "Lynara coded periods out of his DNA."
Single long value (longs are numbers with higher max values than integers, generally used for things like dates since 65535 isn't very many hours) on each artie that represents a day. I'll call this value "lastItemDay".
A method to get the current day in the form of a long. Let's say there's such a method, getCurrentDay().
A method to get the max capacity of an item in days worth of item generation. For a bait bucket, that'd be either 3 (slight nerf, max capacity 45) or 4 (slight buff, max capacity 60). You can just get it by taking the container's capacity and dividing it by the number generated per day tick (50/15 in this case) if you want to take the smaller value. I'll call this "getGenerationDays()"
Whenever you touch (or get, whatever you hook it into), the following happens (in pseudocode):
if (getCurrentDay() - lastItemDay > 0) {
}
Essentially, what this is doing is on activation looking at the last day that an item was taken out of the container. If the last time was at least one day ago, then it should have some items in it, so you generate them. Now the trick: instead of setting the last day to right now, you set it to a time in the past related to the capacity of the item and to the last time you took something out. Still using a bait bucket for an example, if it was more than 3 days ago (Achaea days), then it would be full (at 45 fish). So, if you take something out, you should still have 2 more days worth of stuff to take out. Thus, you set the last time to today - 3 + 1, or today - 2. Now, if the last time you took something out was 2 days ago, then you just want to take out one of those days' worth of items. So, in that case, you'd set the last time to just one more day.
It sounds complicated, but it's a pretty tiny operation that only needs a single value to represent the last day, on each artie that generates items. It uses much of the current functionality, but does change the max capacities a little. Small price to pay honestly, and can be tweaked if it's a problem.
Anyway, this is all wildly presumptuous because honestly, I have not seen Achaea's code, and it could use something entirely different for pretty much everything! Either way, my point remains that it's possible to do with just one value, in a very small way that's not on a main tick like the day rollover, and can be done on demand. Whether that fits into their methods of doing things or not is something I can't answer, but I imagine it's something that could be improved. Only Achaea's developers truly know whether or not that's something they'd even consider. Why I even bothered to write this up I'll never know!
But I am not sure this would make a difference say the people that reflex to take everything out of all their item generators at every day tick, and then just hold one to them. I know for me I wait til my bucket is full and put it right in one of my tanks but, on the flip side, I have pretty much nothing to do with the thousands of ammo I pull out of my racks, no way to store it. I just litter the decks of 5 sea striders with it.