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


  • 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.



  • Have the market history available through the game API would eliminate the need to do all these getAllOrders calls..


  • Dev Team

    @tun9an0 OK, consider it planned then. We'll try to implement it in the same patch with other market changes.

    👍


  • @tigga I easily hit the 50 order limit, at one point I had some code that listed various minerals that didn't have many sell orders. It would list them a a relatively high markup over estimated value. If someone undercut me, I might create a new order, and leave the original order up (rather than write off the credits spent listing it) in the hope that the market would move into the order later. I rapidly exhausted my order capacity with this strategy so I had to disable it.

    I would say that anybody who has put more than an hour's effort into selling resources will have hit the 50 order limit.



  • @wtfrank me too. But count the total number of orders on the market and divide it by the number of players on the shard. Heck, if you like only count players with GCL > 15 or something. It's much less than 50!