Notes on the Market and suggestions for improvement



  • Maybe we just need a different kind of equation.

    I gather that the penalty for trading over medium distance is exorbitant, but we want to have differentiated areas of competition to make the game interesting and make it difficult for one player to dominate by virtue of their size / efficiency / market manipulations.

     

    I recommend something like this "logistic curve" aka the natural population curve: d => 2 / (1+150*Math.exp(-0.25*d))

     

    Based on tedivm's sheet here's the result: https://docs.google.com/spreadsheets/d/1x0eHimCDwwcbEduv43JE56APGhlqCIon5wkcLOO6NY0/edit?usp=sharing

    EDIT: of course this is pretty close to what we have today, but that's just to illustrate the options. 

    TL;DR - pick a radius for free/cheap transfers and an efficient economy, then tune this to the desired maximum fee for long-range transfers


  • Culture

    I like the idea of a maximum fee (or a point with increases so minor they're negligible). The way this graph jumps lets people participate in both a regional and an international market, but with the international market fees not reaching insane numbers. The idea that its beneficial to trade with people close by is fine, but the "international" market shouldn't be so expensive that it's impossible to participate it.

    There's another reason why distance based transaction fees benefit new players. Most players when searching going to filter orders then pull in the lowest. If distance wasn't a factor they would just grab the lowest price, and in cases where two orders have the same price they would most likely grab the oldest order because that's how the data would get sorted by default. This means players that have old orders, which they keep extending, would have an advantage. Now in that same circumstance the people who have the advantage are the ones closer to you.

    So yeah, adopt a formula shaped like K_C's but with saner constants, or just stretch out the current equation to flatten it out a bit and we'd see a huge improvement.

    As for the credits instead of energy- I think it would be cool to make that an option, rather than force a switch from one to another. That way new players can pay with energy and get credits, and players with credits can actually purchase energy without it being useless due to spending more energy to get the energy than we get back.


  • Dev Team

    OK here is another idea of different approach. We redesign the entire regional factor and move the distance penalty on the order’s owner party rather than dealer party.

    We create a new order parameter called “order coverage“. By default it is equal to 100 rooms range (entire map), but you can set it explicitly by specifying in Game.market.createOrder as the last attribute:

    Game.market.createOrder(ORDER_SELL, RESOURCE_GHODIUM, 9.95, 10000, "W1N1", 25); // coverage 25

    Coverage is visible in orders list, via both API and UI. When you try to deal with an order with coverage not enough to cover the range between your terminal and the order terminal, you get ERR_NOT_IN_RANGE error on Game.market.deal method.

    The important point is that coverage changes the order creation fee. For example, fee% = coverage / 10, i.e. 10% fee by default for coverage 100, and 5% fee (current) for coverage 50. Coverage 10 goes without fee, giving an opportunity to create some tiny starter orders even to players without credits.

    So now the order owner should decide what market they aim at - global or local - create the order accordingly and pay their taxes. Other party (the dealer) should change their code to detect the coverage parameter, but they will not pay any energy cost anymore.



  • A penalty by another name (or calculation) still stinks.

    IF the Game needs to charge a "Tax/Fee" to make the economics of the Developers better, then just say that. 

    If not, then release the angst over the "Regional Model" or as I call it the New Player Market Penalty.

    There is currently a 5% Credit cost to place an order on the Market.

    Why not just make a simple 5% Credit cost to complete the other side of the order.

     - A Buyer [player purchasing from a createOrder(ORDER_SELL,...)] will pay 105% of the total cost of Units*Cr Price of Mineral. This Cr amont must be in the Terminal to make the deal.

     - A Seller [player selling to a createOrder(ORDER_BUY,...)] will receive 95% of the Units*Cr of the Mineral.

    Simple and no inherent Penalty to any players. All are equal and participate in the Market equally.


  • Dev Team

    This change is not about increasing the tax, but about getting rid of buying energy issue and lowering the coding entry barrier while keeping the fun aspect of the regionality. The market will lose huge part of its fun if it becomes plain equal.



  • Good statement, but is it true? Artem has been advocating for the Regional Model consistently. I have been advocating for Equal Access consistently.

    Everyone has been saying the system is flawed in some way and should be changed. 

    Let's check that theory here .... If you think it is "FUN" to have a New Player Penalty/Regional Market, then post here. Please put one of these votes so it is easy to see which side of the issue people are pro/against.

    +1 for New Player Penalty (aka Regional Model)

    +1 for Equal Accessible Market fees.

    Seriously, put it in your next post at the first line so we can get a show of hands.

    @Artem is +1 for Penalty/Regional

    @XyzzyPrime is +1 for Equal Access



  • Artem: (the dealer) will not pay any energy cost anymore

    At first I'm really hesitant to move the cost of doing business to the offer, but I think this greatly simplifies the mechanics of trading.

    When the dealer pays the transfer cost the true price of the product is abstracted away from the market. As well, the true price is constantly changing with the value of energy.

    The only downside is that Terminals which are offering sell orders must hold a larger volume. This is the same cost as today's buy order dealers.

     

    It might be that the formula change is less important than changing who pays the transfer fee.

     

    XyzzyPrime: A penalty by another name (or calculation) still stinks.

    But, is this true?

    +1 Regional Model (Against Endgame Market Manipulation)


  • Culture

    I really dislike this proposal. If anything it makes the problem we're complaining about worse, not better. This would make markets far more regional, and new players that are further away from established players (which tend to export lots of things) would be pretty much screwed by this.

    We keep talking about game mechanic changes, but I really think the issue is simpler than we're making it out to be- just tweak the formula so there is a max transfer fee that is based on the world size so it'll adjust dynamically as it grows. 


  • Dev Team

    Yet another idea - change the transaction cost to the following formula:

    energy_cost = resources_amount * (1 - Math.exp(-range / 30))

    It creates the following graph (dotted line - old, solid line - new):

    Thus energy trade will never be negative, but less and less reasonable as the range increases.



  • OK ... let me ask this, @Artem ...

    What makes it "fun" for a New Player to pay more and lose trades to a Regionally Advantaged Old Player?

    I am drawing a conclusion that this Game, as IRL, is about keeping the poor players poor, while the Rich Players get Richer.

    If Rich/Old Players have ANY advantage then that is what happens. The gap widens.

     


  • Dev Team

    We're not going to remove the regionality factor, let's please stop this discussion. Logistics, geopolitics, geostrategy, local areas of influence are all important aspects of this game. If we were to remove market regionality, we would have to remove creeps' time to live, claim range limit and all other map related mechanics. It'd be more productive if you commented on the proposed ideas rather than repeatedly argued about your own.



  • "It'd be more productive if you commented on the proposed ideas rather than repeatedly argued about your own."

    I could not have said it better myself.



  • > 1 - Math.exp(-range / 30)

    This is a good proposal for softening the cost of global trade. It does not make really cheap regional trade markets and it doesn't encourage players to daisy-chain transfers to do distributed trade.


  • Culture

    I'm also super happy with the new formula. I feel like it would solve a ton of problems.



  • +1 new formula - I think it addresses the primary concerns people have. The evolution of the market following the introduction of this new formula should be carefully monitored.

    +1 regional markets

    -1 XyzzyPrime for being unreasonable 😛


  • CoPS

    I quite like the proposed equation. ~0,5 cost @ 25 range is a really sweet point to me,

    As a random thought, what effect would making different tiers of boost / resource have different transfer costs be? Atm the t1 boosts, do not see much trading at all, even for new players. If they were to have lower transfer fees, or a wider transfer range, than t3 boosts, it may make them more palatable?

    On the whole I really like the idea of regional markets, provided that each region has equal maturity (a regional market of only new players would sort of suck).