Market for CPU Bucket

  • AYCE

    The idea is a market for CPU. The most simple way to implement this would be to transfer bucket between players.

    For example:

    Player 1 has 10000 bucket and player 2 has 5500 bucket.

    Market order for 500 bucket at 1 credit per bucket.

    Order executes and Player 1 Bucket -500 now 9500 Player 2 Bucket +500 now 6000


    Increased CPU available in time of need.

    Credit sink for game inflation w/ Market Fees (NPC's Buy and Sell increasing total credit supply)

    Clear Metric for value of CPU when doing cost benefit analysis within code.


    Could be overused or abused by small group of players but in a market system supply and demand would balance out.


    Up Market fee to 25% on energy orders to remove more credits from the ecosystem.

    Bucket is still limited to 10000 cpu.


  • Clear Metric for value of CPU when doing cost benefit analysis within code.

    I’ve always thought of CPU value as determined by the value of a subscription token. Credits per tick = credits per subscription token / ticks in 30 days

  • AYCE

    There has been a bit of discussion on the slack:

    So main concerns would be limiting max execution time of a player and total effect on server compute time.

    I think the first concern would be taken care of because of a limited number of sellers and huge demand. I think that initially a lack of sellers would lead to high initial prices until the market has some depth and a "fair" price could be determined.

    Unlike other resources, this is one that all players would be interested in which could dramatically increase market participation.

  • AYCE


    In my code I calculate the value of an action in credits. For example how does extracting energy compare to power or minerals. Each has a unique cost in the number of intents and CPU usage relative to produced value.

    I think there are other things to consider such as efficiency some players have better positioning or code to handle specific tasks. At different times they may consider themselves a buyer or seller of CPU based on their immediate conditions. Example ample power resource nearby or minerals to extract or wall construction times vs periods of relative stability and mineral cooldown.

  • I would pay for bucket when i've got some crisis going on. This is an interesting idea and I support it.

  • I completely disagree.

    Not only do I oppose resource buying with fungible resources (Ultimately, it becomes an RMT scheme.) but this goes completely counter to the direction the game needs to go. CPU is a precious commodity, one the servers need more of, despite being a gigantic farm of industrial grade servers that serve only 1800 people. What happens when there are twice that many players? 2 giant farms of industrial grade computers? Eventually, the entire planet's IT resources will be devoted to Screeps and Bitcoin.

    A far better direction is to reward people for NOT using all their CPU, say, a rebate of some kind on unused CPU, so EFFICIENCY becomes a legit goal, not just a way to "have more rooms" once you already have 30 of them.

  • @smokeman Isn't being able to sell it a form of rebate? 🙂

  • I absolutely love this idea, I would be able to make efficient use of it also to offset invariability in my otherwise pretty decent bucket tanking. However the amount of unused CPU that the server currently does not need to execute is massive I would guess. If the market would work really well it would ask for more server resources, something they are already struggling with as is.

    If everyone would use all their CPU all the time we would have significant higher tick times. Only thing I could think of to offset this is perhaps making it a very beefy credit sink potentially limiting it to an emergency use thing.

  • @tun9an0 Isn't being able to sell it a form of rebate?

    No. A 'rebate' in this context destroys a resource in exchange for not using it. Selling it does exactly the opposite... it encourages 100% of the resource to be used (Thus increasing server load.)

  • @smokeman Ah you mean a rebate for the server, sure. Either way we are encouraged enough to spend 100% as is yes.

  • Remember that the server's goal is to maximize cool-stuff/core not minimize cores/player(1).

    Highly efficient code bases have some of cool-stuff tricks. Since they consume less cores they have a great cool-stuff/core ratio. A rebate that encouraged more cool-stuff has a similarly high ratio. I don't think credits as a rebate for CPU would improve the over all cool-stuff/core ratio. Players would mostly just do less or cash in on the otherwise unused CPU and create a new credit source (bad).

    Selling bucket has the potential for lots of cool-stuff. First order: active bucket market place, selling a unique resource, anchoring credit value, new credit sink. Second order: Players building 300+ cpu empires, new bucket intensive tactics, creative space for players to create cool-stuff that would be restricted by 10k bucket.

    So how much cores does the new cool-stuff cost? A bit. Every core spent here is new cost, as opposed to shifting cost from some other activity. This is slightly offset by the economy effect of giving credits to players who need it to do more cool-stuff.

    Subjectively, this seems like a high cost, possibly high reward feature. I've heard rumblings from other players that the disparity between newer players and established players with a 300 cpu empire, is a design problem. Selling bucket makes this disparity greater for better or worse.

    Overall, I'm not opposed, but I suspect there better (less risky) features to add.

    (1) If cores per player becomes a true issue the devs can always scale the value returned by Game.cpu.getUsed() so that each player consumes less server cores. Also I'm purposely ignoring the game design side of the question of balancing cool-stuff among players and encouraging player subscription.

  • YP

    I could not find it, but I know this was discussed before.

    I don't like the idea for various reasons. I think the cpu you can use should have a cap... and I think it would not be good for the market.

    If considered it should have a high cost, but not in energy or credits but in cpu. ( So if you sell 500 cpu it would cost the seller 1000. )

  • @deft-code said in Market for CPU Bucket:

    Highly efficient code bases have some of cool-stuff tricks. Since they consume less cores they have a great cool-stuff/core ratio

    I think ultimately every bot caps out at 300 CPU, any improvements in efficiency in the bot work out to more or less server load based merely on how effectively the 0.2 CPU intent cost maps onto underlying server costs.