Revising Shop Stockrooms (delicate subject)

by Estarra

Back to Common Grounds.

Estarra2011-11-06 23:17:30
As you know, we've been trying to track down lag and figure out the best ways to address it. A big culprit is the number of replicas in the game, especially those stored in stockrooms. Almost every IRE game has a limit of 255 items that can be placed in a stockroom. Early on, I decided to go a different route and allow stockrooms to hold many more items. The reason I did that was because I was looking at it from a player perspective and wanted to cater to shopkeepers, especially because an early design decision was that almost everything would be player-made rather rely on on game-run shops.

Alas, that decision has come back to bite me. We have got to turn a new direction and get the database bloat under control (unless you like lag).

While I have a few ideas, I wanted to let you know what is going on and get a feel for what you may think be the best way to tackle this issue. I know whatever we do will be painful and I hate that we have to do it, but it's really not something we can turn a blind eye to.

BTW, there are almost 200k items in shops currently. We want to get that below 80k (at least).
Ixion2011-11-06 23:27:02
What's the average stockroom item size? Maybe just reduce the max to 300? 500?
Calixa2011-11-06 23:32:13
It could be, in a way, beneficial to the game that one shop cannot sell everything, so players build up a specialized shop portfolio. I also think the way this is bought to us very transparently is waaaaaay better than saying "sorry guys, your shop now has a limit, everything else gets deleted, bai".

Ixion kinda beat me to it, but would it be possible to, with increments, lower the number of items, and monitor how it affects lag? If lowering it to halfway between what it is now, and what other IRE games have, solves the problem for the time being, it could be good to do that and have a grace period before it gets lowered further (assuming that the game is growing and thus at some point a wall will be hit again).
Anisu2011-11-06 23:36:33
Lower capacity of stock rooms, we don't need 20 supermalls. Look at the org that has the most shops in its territory and make that the max for all orgs. Sadly there is no fair way to limit manse shops though. Possibly invent a stock decay to prevent people from hording things. If possible consolidate more item in rift like mechanics, though that in the end might be to much work.
Ssaliss2011-11-06 23:37:36
There are both pros and cons to limiting stockroom size. For one, some trades are far more item-prolific than others (for instance, stocking ten of each enchantment would go over the limit of 255 items, while stocking 200 of each fill would only take up 64 items, and herbs don't take up anything at all with the shoprifts). It would, however, reduce the number of "megamarts" which stock everything they can get their hands on.

Possibilities? Hmm. One solution is to give one stockroom to each of the bins, and limit bins to 255 items each. That would reduce the items-per-room and would still limit shops to 2040 items in total (I think? Seven bins and one non-bin), and if an aethershop wants to expand beyond that, they'd have to buy a dingbat-bin. As an added side-effect, it might even make it possible for many shopkeepers sharing a shop, without getting in eachothers ways. Might cause other problems though, with several stockrooms connected to a single shop (at the very least, it'd probably require a major rewrite).
Xenthos2011-11-06 23:37:57
Estarra:

As you know, we've been trying to track down lag and figure out the best ways to address it. A big culprit is the number of replicas in the game, especially those stored in stockrooms. Almost every IRE game has a limit of 255 items that can be placed in a stockroom. Early on, I decided to go a different route and allow stockrooms to hold many more items. The reason I did that was because I was looking at it from a player perspective and wanted to cater to shopkeepers, especially because an early design decision was that almost everything would be player-made rather rely on on game-run shops.

Alas, that decision has come back to bite me. We have got to turn a new direction and get the database bloat under control (unless you like lag).

While I have a few ideas, I wanted to let you know what is going on and get a feel for what you may think be the best way to tackle this issue. I know whatever we do will be painful and I hate that we have to do it, but it's really not something we can turn a blind eye to.

BTW, there are almost 200k items in shops currently. We want to get that below 80k (at least).

Can we make more things riftable?

For example, flowers are really common, and I have probably around 2000 of the things floating around by now. I like having access to them, I like having a supply, and I have most of them up for sale.

Origamis also, possibly.

Being able to take the stuff that can be made in the thousands and 'destroy' it as an actual item (but only leaving a reference to it, so it can be re-created when someone actually wants it) would probably help a lot.

This is probably more complicated than other rift-things just because they can have varying patterns and types, but if you can make something of the sort for these, it could even be expanded; stuff for sale in a shop could actually always be destroyed as an item and only exist as a reference (to re-create on sale). Then cap the item limit of not-for-sale items that are left as non-decay.

Seems like it would be a big project, but potentially would resolve the problem entirely.
Anisu2011-11-06 23:44:19
The problem of making things like origami, flowers, rings and whats not inrifteable is that the rift ability loses item specific info like decay. Hence it can be abused to make items unbreakable. Unless of course we make it that tradeskills can make an item for someone to use immediatly, or make stock boxes that can be rifteable.

something like: fashion stock, the box would have a 1 month decay time and just becomes a rift item when placed in a bin.

Though to much coding no doubt
Xenthos2011-11-06 23:44:36
Keep in mind that some people, like myself, paid 1000 credits to have a place to put things to avoid decay on them. My manse shop is inaccessible and doesn't actually sell anything.

I'm pretty sure I am not the only one.

But I think the biggest quantity of things I have in the manse shop are some flowers that I have long since stopped adding to.
Unknown2011-11-06 23:45:14
What kinds of items clutter stockrooms the most? With the recent esteem change, needles shouldn't be it anymore. Is there some sort of item that everyone clutters their stockrooms with?
Ssaliss2011-11-06 23:45:20
Expanding a bit on Xenthos' idea... How feasible would it be to let a jeweller, for instance, put cut gems in the rift and then put designs on sale, and the items would be created (and the rift reduced) as designs were bought? That would remove the entire need to stock several of the same item. It might be a bit limiting with a shoprift of 2000 in those cases though.
Estarra2011-11-06 23:46:15
Some things can be riftable, some things can't but we really don't want to make items riftable indiscriminately. Note that making something riftable actually destroys (i.e., wipes) the item and is recreated when it is taken out of the rift so most things created that hold any individuality (i.e., anything crafted) is impossible to rift.

Anyway, part of the problem is the mindset that it is okay to have 2000 flowers! There is no reason to have 2000 flowers. If every player had that many, we would be in a grave state indeed. So that would be exactly the type of thing we would like to see people to getting rid of.
Unknown2011-11-06 23:48:56
Ouch. The dreaded base 2 numeric system and database speed strike again!

One possibility--while painful for some, might be possible. Perhaps if a person doesn't log into the manse for a while the manse's shop becomes "inactive" and doesn't allow people to use it until the owner returns. I'm not sure if that would solve the problem, but if there's a lower priority storage option for "inactive" content, that might be the way to go. How many shops are still owned by people who haven't logged in for a few years?

The only other more painful option is to add slow decay to shops--is it realistic for food to be in "suspended animation" just because it's in a stockroom? Maybe that would make people be more careful about stockrooms...if people really want to keep a painting or figurine, pay for a permanent customization in credits or something like a sketch seal. Having that might improve the player economy as well.

Maybe it's time to add decay time to herbs as well. I dunno.
Rivius2011-11-06 23:49:27
Maybe do more changes like the needle/figurine change? Eg. Consolidate groups of flowers into one item. Bouquettes that are easily storable as one item but then you can pick out individual ones, and there's no limit (or a very large one) on how many can be in a bouquette. That sort of thing.

EDIT: Like maybe a skill in artisan that spruces flowers up, makes a bouquette of them and then gives them all the same decay time (so flowers of the same type are basically the same item), and can't be picked from unless being sold (to prevent decay abuse). Or something more refined than that.
Estarra2011-11-06 23:49:28
Anisu:

The problem of making things like origami, flowers, rings and whats not inrifteable is that the rift ability loses item specific info like decay. Hence it can be abused to make items unbreakable. Unless of course we make it that tradeskills can make an item for someone to use immediatly, or make stock boxes that can be rifteable.

something like: fashion stock, the box would have a 1 month decay time and just becomes a rift item when placed in a bin.

Though to much coding no doubt


Right, things with decay times shouldn't (as a rule) be riftable.
Xenthos2011-11-06 23:50:15
It looks like 550 or so of my manse shop objects are flowers, and 291 are honeycakes (left over from the days when we needed honeycakes to keep the Fae quiet). There are even some blackened ones remaining.

286 are vials, pretty much entirely from Ironbeard, most of them with things still in them (so I can refill from them at a later date or move them to a keg if at some point I want to).

Those 3 item types (flowers, vials, and honeycakes) take up 1127 of the 1486 items I've got in there.

It does seem like it might be possible to focus on the things that are more common first and just address them.
Estarra2011-11-06 23:51:02
Ssaliss:

Expanding a bit on Xenthos' idea... How feasible would it be to let a jeweller, for instance, put cut gems in the rift and then put designs on sale, and the items would be created (and the rift reduced) as designs were bought? That would remove the entire need to stock several of the same item. It might be a bit limiting with a shoprift of 2000 in those cases though.


It's an intriguing idea. It would take a whole lot of coding (and keep in mind shop code is legacy code that has been hacked a lot to customize parts to Lusternia).

EDIT: Keep in mind that even if we were to code this, it would only be possible to create items with normal commodities and not some of the strange commodities we have (like merians, etc.).
Xenthos2011-11-06 23:53:00
Estarra:

Some things can be riftable, some things can't but we really don't want to make items riftable indiscriminately. Note that making something riftable actually destroys (i.e., wipes) the item and is recreated when it is taken out of the rift so most things created that hold any individuality (i.e., anything crafted) is impossible to rift.

Anyway, part of the problem is the mindset that it is okay to have 2000 flowers! There is no reason to have 2000 flowers. If every player had that many, we would be in a grave state indeed. So that would be exactly the type of thing we would like to see people to getting rid of.

Hey, they're (mostly) all for sale! Excepting irises, black roses, and red roses. I would have a lot more if I wasn't selling the things. :(
Anisu2011-11-06 23:58:48
Estarra:


It's an intriguing idea. It would take a whole lot of coding (and keep in mind shop code is legacy code that has been hacked a lot to customize parts to Lusternia).

EDIT: Keep in mind that even if we were to code this, it would only be possible to create items with normal commodities and not some of the strange commodities we have (like merians, etc.).

the biggest problem I actually see with this is that people will cycle all tradeskills to sell all designs and then settle on a resource skill like herbalist or jeweler. Or do you mean for people to declare a shop to a trade, in which case trades like cook will have rather unprofiteable shops.
Unknown2011-11-06 23:59:13
For the short term, perhaps a special "save the database" promotion (though we won't call it that), which would help buy time while things get re-coded.

Tell the shopowners to agree to give up stuff and get some gold--not as much as you would have gotten from the sale but something for your pain and suffering.

I was actually thinking of calling my little party a celebration of Scrapsgiving--but I found out that happens in real-world March time (since this celebration is more or less a disguised Thanksgiving party for the players). I wasn't around for that so I don't really know the details of that holiday. Maybe however, get the gnomes to do a real Scrapsgiving, where if you liquidate many of your shop assets, you get some gold in return. Gold is not like Dingbats/Credits/Curios, it wouldn't interfere with IRE promotions, and it's a way to clean up the crap. Get the players to have fun with it.

If you need a "stick" rather than a carrot--you could also have an inventory tax--the more you have in a stockroom the more you have to pay fees for upkeep or something like that.

Anybody want to have me go into their stockrooms with the broom? :P

More seriously, I really think you need to add some sort of decay even in stockrooms, as I suspect the lack of decay lets people use this as a permanent storage device, which doesn't seem to be an officially supported intent for the game.
Xenthos2011-11-07 00:05:51
Phred:

More seriously, I really think you need to add some sort of decay even in stockrooms, as I suspect the lack of decay lets people use this as a permanent storage device, which doesn't seem to be an officially supported intent for the game.

This is, to me, a huge draw to the manse shop and why it is priced at what it is at.

There's no need to 'suspect' it, I posted a bit earlier that I and others use it for that exact purpose. :P