Please redesign the goal of markets

  • Currently, it costs 5% to do anything with the market. Every. Single. Transaction.

    That means the person putting up an order pays 5% immediately. Then the person accepting the deal pays the energy cost to get the deal.

    This makes no sense and what is going on is no one wants to put orders on the market. I'm on Shard1, and the market is basically dead, with maybe one person automatically trading.

    The only thing that is moving at all is catalyzed Ghodium Acid, for obvious reasons. Looking at something like Catalyzed lemergium Acid, there is buy orders for 0.153 credits, and sell orders for 0.599 credits...Cool, so how much does it cost to make Catalyzed lemergium Acid? It takes one X mineral, one L mineral, two H minerals, and one O mineral. X is selling for 0.078, L for 0.03, H for 0.062, and O for 0.021...which comes to 0.191...clearly this is not profitable. This doesn't factor in the 5% fee, or the energy cost to send it to these orders.

    If you want to encourage market use, we need to have a design to encourage it's use. Take away the fee for placing orders on the market, or charge a flat fee, like real life stock market exchanges use. 5% is ridiculous for us to try and compete with other market orders, especially if it does not get refunded if we get into a bidding war with other marketeers.

    My current code to deal with the market is: If I'm buying, find the lowest price and buy. If I'm selling, make sure it's an NPC first, then sell, because humans prices are not reliable.

    Thanks for your consideration.

  • Personally, I'm fine with the 5% market tax. It takes credits out of the game and stops inflatation.

    @conquest said in Please redesign the goal of markets:

    Looking at something like Catalyzed lemergium Acid, there is buy orders for 0.153 credits, and sell orders for 0.599 credits...Cool, so how much does it cost to make Catalyzed lemergium Acid? It takes one X mineral, one L mineral, two H minerals, and one O mineral. X is selling for 0.078, L for 0.03, H for 0.062, and O for 0.021...which comes to 0.191...clearly this is not profitable

    Firstly, Catalyzed lemergium Acid isn't the most traded boost as it's not very useful compared to others. Look at other boosts and you'll see more trading. Shard 1 is quite a peaceful shard as I understand it. It has bursts of violence but the majority of the shard is one alliance, so you don't get much need for buying combat boosts.

    Secondly, you say the price is 0.192 and therefore it's not profitable to sell. In fact, the price is somewhere between 0.153 (I guess this changed since you posted) and 0.599. If you were to place a sell order at 0.4 it may get filled. If so, clearly it could be profitable. Sure, the 5% tax means you only get 0.38 of that 0.4, but that's not a huge loss. Historically the price has been 0.291-0.360.... again profitable.

  • I think it would be interesting for someone to compare screeps market systems with those of successful games. Those market are designed by economists and data scientists not programmers. So in theory they should be a good model of how to build a thriving market.

    Guild Wars:

    • List Item (SellOrder)
    • Sell instantly (deal with BuyOrder)
    • Place Order (BuyOrder)
    • Buy instantly (deal with SellOrder)

    If screeps followed the GW market.

    • SellOrders still cost 5%. Resources listed for sale immediately disappear. They are returned when the order is cancelled.
    • When someone deals with your SellOrder, 10% of the credit evaporate.
    • Dealing with another player's SellOrder is free.
    • Dealing with another player's BuyOrder costs 10%.
    • Placing a BuyOrder is free, but the credits are taken immediately. They are returned when the order is cancelled.

    Other GuildWars differences:

    It's impossible to create a BuyOrder for more than the lowest sell or vice versa.

    GuildWars has an Global Market (not sharded).

    Vendors will buy anything but a low fixed price.
    You cannot create orders at or below that fixed price.

    Not all Items are sellable on the market. They do this so that players have to acquire some resources by play (limit pay to win). This is kinda like screeps CPU.

    When GuilldWars introduced a new raw material they limit the amount that could stockpiled to force it to be actively traded. Once the market was established (about a year) they enabled the standard stockpile behavior.

    Of these differences I think the current screeps market might be wise to follow the GuildWars fees.

    I also think that a Global Proxy market would have been better than a distributed direct market. E.g. terminals upload or download resources from the market. You then deal and create orders with materials uploaded to the market. Honestly I think this would have been more efficient server-side as well. Run the market at its own tick rate that's much lower than any shard like 1 per minute.

    Anyone else have experience with Path of Exile or Diablo 3 or WoW's economies?


  • WoW economy always used to be shite. Everything's worthless unless it's in the top tier of items.

    The single best economy I've experienced in any game is EvE Online. There are many "local" markets, so some players make their entire career about exploiting price differences between different game regions. Others stock up local hubs near where players do certain activities, with the items they'll need for that activity (e.g. ammo). Others mine raw materials (sometimes AFK) and sell them. Others buy materials from the market and produce them. Others find cheap items and relist them at a higher price. The economy alone supports at least 4 different "sub-games" within EvE.


  • @wtfrank agreed. EVE market is so realistic the devs hired a full-time economist just to keep track of it.

  • It seems that an eve like market might fit screeps best (automation, etc). I'm not familiar with EVE so I can't compare them really.

    A question about local markets. Are screeps shards a good approximation of EVE's different markets? It seems like the shards would have to be more asymmetric to drive that kind of economy. E.g. X spawns at a higher rate or large deposit in a shard0.

    I'm not inter-shard so it's hard for me to judge just how hard it is to accomplish. But I assume that it's good proxy of the complexity of shuffling materials between market in EVE.

  • Oh the localized market in screeps could be easily implemented by setting a max distance for the terminal in screeps.
    Maybe two quadrants so about max 18 rooms away OR as alternative each player has it's own "Market" and vision would be required in order to access it.
    Except sub tokens those should always be global.
    Also I would change the fee to be abducted after the deal is made and charge a fixed sum for creation/editing the order as already mentioned.

    If your goal is to be a dominant trader you would need to spread your trading network over a big area.
    An interesting idea could be to introduce a trade rank similar to power and expansion rank. This would gamify trading.


  • @tigga Is inflation really an issue in the game? I don't mind the market tax, every market has it, real or fake...I don't think there should be a tax for listing on the market. That's the disconnect from real life markets that I see. The market tax should be on the one executing the deal. This would encourage the use of the market since there is no penalty for listing your wares on the market, and achieve the inflation issue you speak of.

  • @conquest said in Please redesign the goal of markets:

    The market tax should be on the one executing the deal.

    We already have that in energy costs for terminal transmission.

  • @JBYoshi yes, one side pays a tax in energy when .deal()ing, but a tax of credits for the creator is made at the creation of the order. i think @Conquest is saying that the credit tax shouldnt be on creation, but when the .deal() occurs, just like the energy tax.

    Honestly, i agree with this. perhaps lower/eliminate the credit fee for adjusting prices of existing orders too. That would make it easier for ppl to enter the market. I know a lot of people are afraid of posting orders with prices that dont sell or otherwise dont get filled. they would get charged a fee for creating the order and again when they adjust it due to a mistake. This makes ppl hesitant to even enter the market to begin with, or automate it where a single error could cost millions of credits, and another millions to fix.

  • @jbyoshi I mean, that's another thing. It shouldn't cost 10k energy to send 10k energy across a Sector


  • @deft-code The shards are very like the regional markets - as there are hard limits on information shared between regions (i.e. you can't see what's in another shard/region unless you travel to that shard/region)

  • @conquest I have actually done the math, it never reaches 100% price of order amount. I think largest one you get is like 60-70% on shard0 dealing from center to edge or some similar distance (don't forget that market-wise worlds wrap around at the edges).

  • @orlet shard1 from center to edge costs 8647 energy to transfer 10k energy. No math used here, just using default API methods. A bit higher then 60-70%.

  • SUN

    There is simply no need to send energy across the map. Buy local or just set up an ORDER_BUY.

    If you need to estimate credit/energy overhead costs to maximise profits you can use the energy sending cost and multiply it by the cost it would take you to buy more energy (Highest buy order + 0.001 in my case).

    The market is fine IMHO; just one more programming challenge to overcome.

  • @gimmecookies hmmm... i must be misremembering something then. But it still doesn't reach 100% either 😛

  • Yep the function is an asymptotic curve IIRC so you would get relatively close to infinity before you hit 10k

  • To me the main issue with the market is that it's very difficult to link up buyers and sellers. The only way to express your interest in buying or selling a resource is to create an order. There are two issues here:

    1. The limit of 50 orders is totally insufficient. There are 42 resources, so you can't even have 1 buy and 1 sell order for every resource. That's before we even think about multiple rooms (which will be needed, because the market is localised).
    2. Orders are subject to a fee as soon as they are created

    These issues seriously discourage creating prospective market orders. I have some LO to sell, but I'm not going to create an order because I can't afford to waste one that might never be fulfilled. I have no idea if anyone is interested in buying, or if there is, I have no idea what price they would buy at.

    If I do decide to create a sell order, what price do I start with? How long do I wait before lowering the price? Has it not sold because I'm asking too much or because there are no buyers right now? What amount should I place the initial order for? If I create an order with a small amount to see whether anyone is interested, perhaps no-one will buy because they don't want to waste a terminal cooldown on such a small amount. If I create it with more, I'm wasting more credits if no-one buys or I have to reduce the price.

    Both issues discourage creating orders in the first place. If I do create an order, the up-front fee with no refunds causes orders to be placed with tiny amounts, even if I have 500,000 resource to sell.

    This is what slows the market down, and it's particularly bad for less popular resources like middle-tier boosts.