Draft: factories and commodities (new crafting/trading mechanic)



  • Oh boy, while this really addresses most of my complaints I worry about its complexity.
    That said I'm actually looking forward to it. You definitely took our complaints into account while designing those mechanics 👍

    But please before you jump right ahead into its realization I urge you to look carefully at the current mechanics and do some rebalancing/refinement/reconsidering.
    Low level players still are up against really unfair mechanics when they engage against high level opponents. There should be at least the possibility of a ROI.
    (i.e. the hit back mechanic that should be removed or at least nerved big times)
    (Power activation of rooms also needs a revisit)

    I feel like these mechanics will diversify the Gameplay big time and make Credits really essential to the game.
    That was really missing IMO.



  • Overall I do like the idea of where this is going but I do have some questions/concerns.

    1. Gaining credits before factories. If I understand correctly NPCs will stop buying base minerals. This means that someone who either cannot access factories for some reason, or who chooses not to is really cut out of the market. There is also the possibility that the player base ruins the new commodity market and no one uses it. Then we will have no place to really dump materials. I think we should keep the NPC buy orders for minerals but also have it fluctuate just like the commodity market.

    2. Robustness of the market. Currently the market is extremely basic in its functionality. I think it could use some updating and should probably take some cues from Eve Online's market. Below are things I think it needs.

    • Broker's Fee - This fee would be charged when interacting with your market order. Creating an order and modifying an order price would invoke a Broker's Fee. The fee would be a certain percentage of the cost of the order and also have some minimum. This fee could be scaled positively or negatively based on the amount of active orders out there. The main purpose of this fee is to help control inflation and deflation.
    • Sales Tax - This tax/fee should always be paid by the Buyer. The main purpose of this fee is to remove credits from the game
    • Better Market Tools - Currently from what I understand there is no way to see past trends in the market without manually inquiring the market orders and processing them yourself. Yet the market page shows a daily history of units sold, average prices, and the standard deviation. Would it be possible to have that accessible by our code? Better market tools can mean more people actually use the market.
    1. Market Arbitrage - Will NPC prices be based per shard or will they be globally the same? There could be a large ability for market arbitrage if they are set per shard.

    2. Power Creep Interaction - Will the Operator power regen_mineral affect these new mining nodes? I hope it does because right now it feels pretty lackluster.

    3. How do we use a level 0 factory? Can any power creep use operate_factory without putting levels in it? If not then I am not sure how we maintain a level 0 factory with a level 1+ operate_factory power.

    4. How many factories are we looking at in a single room? Is it just 1 factory per room or will there be multiples? Would it also be possible to have multiple factories built but only a certain amount of them active?

    Overall I really like this idea and can't wait to see it go forward. I am also intrigued by having compressed materials like energy or basic minerals. That would make transporting things cross shard much easier. Can't wait to see what everyone comes up with.


  • Dev Team

    Honestly, we might leave some amount of raw minerals NPC buy orders though, it's not set in stone yet. Their prices would be just low enough to encourage you to process them into something more lucrative for NPCs.



  • Okay, here're my thoughts on this (they may change with time though, but for now it's what I've got):

    • I ~kinda~ like the idea of decoupling NPC market from player market in terms of stuff on sale. Hopefully NPCs will be also more active in buying stuff we produce, w/o the need to fulfill orders 50-60 rooms away from you, which was a big barrier for entry as I remember back from my starting days, due to energy cost.
    • I'm hoping this will liven up the markets even more so than new shard trades have, as this will have lower entry barrier. I also hope it would make shard3 market liven up even more.
    • All of this and new InterShardSegment should make inter-shard trade even more viable and easier to enter to. Also as a good goal for people starting off on shard3 to subscribe and try to expand onto other shards.
    • I like the spreading of levels across factory levels and tying them to power creep levels. Agree with Tigga's assessment of it.
    • Personally, would like to see some cross-discipline materials (could be tiered too: T3 takes two different discipline materials, T4 takes three, and T5 takes all four) as well, I think that would foster inter-player trade as well as buying intermediates from NPCs to make them locally. Maybe something to look into for later update to factories?
    • I like the compressed energy idea a lot.
    • I'll definitely second KyraLee's sentiment on need for better market tools. Having trends accessible via API would be a great boon alongside the increased order count.
    👍

  • Dev Team

    @kyralee

    Robustness of the market. Currently the market is extremely basic in its functionality. I think it could use some updating and should probably take some cues from Eve Online's market. Below are things I think it needs.

    Broker's fee is already present in the game. Sales tax - I don't think it fits well here, since there is energy transfer cost. Market stats access from the API sounds reasonable, we might consider that.

    Market Arbitrage - Will NPC prices be based per shard or will they be globally the same? There could be a large ability for market arbitrage if they are set per shard.

    NPC prices adjusting behavior will be the same as it currently works, i.e. per shard.

    Power Creep Interaction - Will the Operator power regen_mineral affect these new mining nodes? I hope it does because right now it feels pretty lackluster.

    It will be most probably reworked somehow.

    How do we use a level 0 factory? Can any power creep use operate_factory without putting levels in it? If not then I am not sure how we maintain a level 0 factory with a level 1+ operate_factory power.

    You don't operate level 0 factories, they are always operational.

    How many factories are we looking at in a single room? Is it just 1 factory per room or will there be multiples? Would it also be possible to have multiple factories built but only a certain amount of them active?

    1 factory per room, like a storage or a terminal.



  • Is there any potential plan to add a use for the materials other than selling to NPCs? It seems like a waste to make 20+ new resource types that are only good for selling.


  • Dev Team

    @crusher48 No, there is not. If "good for selling" is "only" for you, then this mechanic is clearly not for your play style 🙂 It's for people who like crafting and trading.



  • @crusher48 actually this is a good thing, by providing such are large diversity of products and the "locked" mechanism whilst not distributing resources evenly it forces people to trade.
    It assures that it not feasible for a single player to venture in all types and instead of relying on suppliers and customers.
    It is a very organic way to make sure that credits move to the lower tier players.



  • I think the new adjustment to have different resource-quadrant mappings per shard will finally give a reason for intershard caravans, so I'm in favor of that. And I really like that there will be much high credit density resources, AKA finally something worth looting. Not a fan of having them be useless except for selling, since they won't have intrinsic value like boosts.

    I have one huge concern though: The rampup to entering the mid-game.

    Gating your first credits to after RCL 7 with also having to construct a terminal and a factory is a pretty large increase. Also gating most of the credit gain potential behind power creeps means that it's another huge hurdle for new players/codebases. The statement line has been "yes harvesting power is hard but you could just buy it from the market". Now it's "you need power creeps to get credits" and "you need credits to get power creeps" as well as "if you don't have enough power to make your own ops just buy them with credits"

    I'm concerned this layer of complication just increases that massive burden of going from "I have room(s) and mine some energy" to becoming a full player. Overall this adds a lot of breadth to the complexity of screeps without adding that much depth.



  • @davaned The complexity is something that scares me too.
    And I think since there is going to be such a massiv addition in "new stuff to do" I would like that the current RCL lvl get reconsidered.
    i.e. Terminal -> lvl 4, Extractor -> lvl 5, Observer -> lvl 7.

    This would allow new people to get gradual access to the advanced mechanics whilst also boost seasoned players ability to upgrade a room.
    I really don't like that RCL6 just throws 3 new buildings in your face at once. (Also I'm still in favor that the spawn should boost screeps)


  • Dev Team

    @davaned I don't think this mechanic makes power creeps a requirement for new players to generate credits. It has multiple layers of depth:

    • Level 0 factories with raw minerals.
    • Level 0 factories with new resources.
    • A few low-level factories to sell intermediate commodities.
    • Full production chain.
    • Several full production chains.

    Every step has its coding challenge and added value. Power Creeps only begin at step 3. Yes, further steps are more lucrative, but they also have additional coding challenges, so it seems fair. You can opt not to take those challenges and accept the basic income of the first two steps.



  • The biggest challenge for a newcomer is, that this new resource is just like power a resource to fight for. You must fight for these resources in neutral rooms or have lazy neighbours, but you can't sit in your own room mining these new resources. So, I can see that this makes it indeed more difficult for newcomers and favour strong attackers. The newcomer should also always be able to sell his minerals to npc without the need for a factory or labs, otherwise: what can he do with his first minerals?



  • @xenofix said in Draft: factories and commodities (new crafting/trading mechanic):

    what can he do with his first minerals?

    Probably going to be an unpopular opinion, but do what I did with my first minerals? Sell to a player? I expect there's going to be rise of buy orders on the market as things liven up. Plus, artch already said they're considering leaving some NPC buy orders for minerals as well so brand-new-to-market players can sell their stuff to them directly.

    ☝


  • @orlet That only works if there are players buying. If this system fails for some reason or in 5+ years there are a lot fewer players to buy things, then the new person needs a place to sell things. Those NPC buy orders need to exist to make sure the game system stays sustainable.


  • SUN

    @kyralee Then NPC orders can be re-introduced if/when such a thing becomes a problem.

    --My 2c of a lot of the talk i've been seeing on this:

    I like the idea to remove NPC buy orders for minerals. There's certainly enough player demand for T1 minerals it seems. If NPCs only buy these new materials player demand will only go up for T1 minerals.

    In particular to the concerns i've seen from players on Shard 3: I'm currently in the process of setting up an outpost on the shard to access the market and I know i'm not the only one. Regardless, my code can't tell the difference between an NPC order and a player one without looking at the room and it should be the same with your code.

    The concerns i've seen for inflation are not unfounded but there's enough knobs on this system to tune it so that doesn't happen. Ideally this should be self balancing.

    Finally processing these materials are far simpler than labs, and if i'm understanding it correctly even powerless players have access to T0. I just don't see how newer players are excluded from this at all.



  • @artch Well yes it could, if there was market for it. I currently produce everything myself for the most part. I use some credits to balance out base minerals and sometimes import some extra energy. Oppertunity for trade is really what is lacking currently, either supply is simply not there or things have a crazy high price due to someone having bought and sold a subscription token.

    Mineral balancing is deeply influenced by NPC buy orders. If you manage to sell your extra's to NPCs you maybe be able to match their price to import some shortages, otherwise mineral trade can be a net loss quite easily.

    I am CPU bottlenecked, playing the market is pretty hard and CPU intensive currently due to having very little tools to do so. Anything I do here will directly impact my GCL or otherwise energy gain. Add my lifetime subscription and credits just aren't super interesting.

    Hopefully this new system will change things somehow improving the market.


  • Dev Team

    @tun9an0 NPC sell orders for minerals are not going anywhere, we're thinking about removing buy orders only.



  • @tun9an0 said in Draft: factories and commodities (new crafting/trading mechanic):

    playing the market is pretty hard and CPU intensive currently

    I am worried about this. Getting a reasonable amount of market intel is pretty high CPU right now. Changing order count to 300 is going to make that worse.


  • Dev Team

    @tigga Do you use filter property llike Game.market.getAllOrders({type: ORDER_SELL, resourceType: RESOURCE_GHODIUM})? It is internally optimized in comparison to Game.market.getAllOrders().filter(...).



  • I do filter, yes. You still have to loop through all of the orders and pull/analyise the properties. There's a trade off right now between having up to date market intel and the CPU cost required. To do the best you can in the market it's not as simple as "I want to sell, so get orders, and sell". You have to decide if the price is reasonable, potentially based on other prices (ie. is OH 10x the price of O+H? Or is it 0.5x) and price histories. More market orders means the loops get bigger. Short timescales matter: if somebody is buying for a significantly higher price you want to catch it before other people. If an underpopulated market has an average price of x credits but right now the best price you can sell for is x/2, you kinda want to know that's a bad deal in code.

    All that said I don't think it's a big issue. I doubt many people hit the 50 order limit right now and even those who do probably won't push a 300 order limit too hard.