Draft: factories and commodities (new crafting/trading mechanic)
-
Presumably one reaction per tick, with a CD that differs based on reaction type (level?).
Correct.
-
Market stats will be very nice. Easily 90% of my market CPU is just tracking prices.
Please separate buy order stats from sell order stats. A single average + stddev doesn't help much when the market is split (which happens way more often in screeps).
Feel free to design however feels correct and is efficient, but here is my humble request.
1000 tick rolling window
- BUY average
- BUY stddev
- BUY volume
- BUY median
- SELL average
- SELL stddev
- SELL volume
- SELL median
Median is very stable stat and helps avoid wild swings when players sell 1 energy for 100k credits to transfer credits between players. You could also provide a 10k and/or 100k tick summaries without the median stats, though players could calculate these themselves with minimal CPU cost.
These stats would be enough for a passive seller to use the market entirely through orders. Further these stats cannot be collected any other way.
Players looking for active arbitrage will still need to scan for juicy orders, but that is the CPU trade off they'll have to make either way.
-
@deft-code Sorry, this is not technically possible, it's a huge refactoring.
-
@artch I want to add, that one reaction per tick or one product per tick won't be enough even if the cooldown is always 0. We already harvest round about 1 mineral per tick per owned room. If we can only process 1 mineral per tick to make a mineral bar in a level 0 factory, then we can't process all minerals even if the factory cooldown is 0. Also Sourcekeeper-Rooms give extra minerals to process.
-
@xenofix Produce amount is not necessarily equal to 1.
-
@artch said in Draft: factories and commodities (new crafting/trading mechanic):
@xenofix Produce amount is not necessarily equal to 1.
Was kinda hoping that would be the case. Produce amount of 1 on low tier materials would mean an enormous waste of CPU cycles producing it, seriously limiting people's will to use that.
-
The root post has been updated.
Briefly, here is what changed:
- Electron replaced by Silicon, Dust replaced by Mist
- Simple commodities (ones without a level, former level 0 commodities) can now be produced at a factory of any level.
- Densities of all commodities has been multiplied by 5
- Added 'reverse' blueprints so you can compress and uncompress raw minerals for storing or sending
- Added 'battery' blueprints (compressed energy)
- Production chains reworked to be much fairer (all chains now consumes the same amount of catalyst and the same amount of lab-produced ghodium)
-
Me like! I actually considered proposing an idea for compression and re-processing into base minerals. Awesome.
-
This is important: commodities will become the only resource types NPC traders are interested in, they will stop buying raw minerals once factories go live (NPC sell orders will remain). Now, if you want an NPC trader to buy your, say, Lemergium, you need to process it into Lemergium Bar first. NPC traders will buy all types of commodities constantly adjusting their prices based on the supply, there is no fixed price for anything. Players will continue to place buy orders for anything they want, of course.
If factories are available from RCL7, I really think that there needs to be a solution for excess minerals between RCL6 and 7. I know it's not a long period, but it's a glaring omission.
-
Once set, the factory level cannot be changed. When the effect duration ends, the factory simply becomes inactive, but its level remains the same. You need an Operator with the same power level to reactivate it again. The power of another level will not be applied, the only way to change the factory level is to rebuild it (and the construction cost will be quite high).
The consequence of this is that Operators will tend to be restricted to a single base (or a handful of bases). It will not be viable to make a flexible operator role that moves from base to base depending on demand in different bases (e.g. if you have changed the remote rooms you're exploiting after another player has moved into or out of the area, you might find that your requirement for spawn capacity changes, so you might call in or send away an Operator with OPERATE_SPAWN. Likewise if you're attacking from a particular base for a while, you might want to have that operator work from that base).
Is it an intended consequence that operators become more-or-less locked to a single room?
-
This wouldn't be a problem if we are able to pass a lvl on the operate factory intend.
This also helps to prevent to set the lvl "accidentally" since you must pass a int.@o4kapuk is a higher lvl factory without a operator still inactive or able to process lvl 0 stuff without one?
-
@wtfrank said in Draft: factories and commodities (new crafting/trading mechanic):
Is it an intended consequence that operators become more-or-less locked to a single room?
I dislike this. It seems to be forcing a restriction and constraints that didn't exist before. Those constraints aren't that interesting: I think moving power creeps around should be incentivised rather than keeping them still as that leads to more interesting problems to solve.
I don't think it's quite as bad as you say as it seems operators aren't needed for level 0 production. I still think it's an annoying restriction though.
-
@mrfaul said in Draft: factories and commodities (new crafting/trading mechanic):
This wouldn't be a problem if we are able to pass a lvl on the operate factory intend. This also helps to prevent to set the lvl "accidentally" since you must pass a int.
The problem with this is that it goes against the interesting design of needing multiple power creeps with different levels.
I think instead:
the level of the factory is permanently set to the level of the power
Should be removed. Just set the factory level to the last level cast on it.
-
You can relocate your Operators though, you will only need to rebuild the factory in this case. Consider this construction cost as a capital investment into your production line. Your Operator builds some factory equipment, sets conveyor belts up, adjusts the machinery somehow specifically according to his skills, and now it's tuned to create things. But in order to launch a different production line, you have to spend some resources to readjust, it's not free, but still doable.
Such resources investment would encourage players to specialize their production rather than dynamically adapt, and allow for more interesting trading interaction.
-
Also, if there was no such restriction, it would be possible to have just 1 factory and operate it by 5 PCs, thus managing full production chains with only one room. If you have 5 rooms, you would rotate their levels which kills any rooms (and players) specialization. This is not the desired usage of the factory mechanic.
-
@artch locking is totally fine, the issue @wtfrank has is that the operator would be bound to a specific room.
If higher tier operators are able to operate all lower levels and are able to lock a factory to a specific lvl available in the operators range,
They wouldn't be bound to one room.(Sry for any borks I'm on mobile)
-
@mrfaul This kills specialization even more.
-
Whether rebuilding factories is reasonable or not depends entirely on the cost of factories. I had assumed the cost was likely to be the same as terminals/power spawns/nukers, if not more (given "and the construction cost will be quite high" in the OP).
If that is the case then I would argue that your operators are locked down for quite a lot of ticks if you don't want to waste a lot of energy.
Also, if there was no such restriction, it would be possible to have just 1 factory and operate it by 5 PCs, thus managing full production chains with only one room
I think we don't have enough information to discuss this properly. To me it seems there are two extremes:
- You're mostly throughput limited and want 100% uptime on operate factory. In this case 5 factories process 5x faster so just using one room wouldn't work. With locked factories operators are pretty closely tied to rooms, without locked factories they're free to move.
- You're mostly harvest limited and only need 1% uptime on operate factory. In this case locking works a lot better as you can move the operator to the right place, process in a bunch, then spend 99%+ of your time elsewhere.
Obviously there's every point between these two extremes. I don't know where on this spectrum the design is.
-
@artch If you dedicate 5 PCs to a single room, that's a massive opportunity cost. Being able to operate a factory out of 1 room is surely the last of your worries in this case...
Fair point about how you could reconstruct a factory. Assuming they are expensive to build e.g. 100,000 energy, then this is something you might be prepared to do at most every few days. It's probably something that we can code around tbh, though it does add friction.
-
@artch OK what exactly do you want to specialize the power creep or the factory?