Shard Request: Minimum CPU on all shards


  • Culture

    To make sure that shards are "one world" for players I think a minimum amount of CPU should be available on all shards to all subscribed players.

    Right now the formula for CPU based off of GCL is-

    (GCL*10)+20

    What I'm proposing is we keep that formula and give every subscribed player 20 cpu on each shard. This CPU should only be active if the player has creeps or structures on the shard.

    Having this CPU means that players will be able to mount meaningful counterattacks on other shards- without a minimal CPU like this players would have to adjust their CPU (potentially manually until the API is built) and could be locked out from counterattacking due to the rate limiting on CPU changes.

    This may also make the whole process of CPU management easier. Once the base 20 cpu is taken out of the equation you get a simple "10 cpu per GCL" allotment tool. CPU and GCL can be coupled, and moving one GCL to a new shard could just grant that shard 10 more CPU as well.


  • CoPS

    20 per player may be a bit high: I imagine it means dissi - for example - can now run two rooms (or one safely) on every shard that appears and finally has a reason to GCL up again.


  • AYCE

    I agree with tedivm here.

    The developers has said that inter-shard travel will be something for (quotation needed) like 1 % of players, so the additional CPU should not cause any problems.

    As for high-GCL-players being able to have safe harbours on every shard; I do not think there will be a lot of new shards opening up, and I don't really see the trouble with it. I personally is looking forward to modifying my code to work with both high-CPU and low-CPU-shards.

    And lower GCL-players will also have the benefit if they choose to join an attack or settle in another shard, meaning it will not be required to take CPU away from their primary shard to support an attack, settling etc.



  • This would provide a pretty massive incentive to living in multiple shards.

    20 CPU is enough to run 3 rooms at full capacity.

    This would mean I get 3 rooms free on every shard.

    There would be no good reason not to expand on every shard.


  • Culture

    > 20 CPU is enough to run 3 rooms at full capacity.

    The number itself is flexible. 10cpu would still allow players to counter attack across shards.

    > There would be no good reason not to expand on every shard.

    The whole point of this game, whcih has been advertised on the website and which you yourself had said was important, is that it takes place in one world. I don't think the system should purposefully be limited to prevent it from acting as one world.


  • int_max

    Actually, I can run 3 rooms with 10 cpu and still have a left over, with 20 cpu I could run ~7 rooms


  • Culture

    To be clear are you talking claimed rooms or claimed rooms and remote mines?


  • int_max

    Owned rooms, no remotes,

    Has: market code, energy mining, mineral mining,  automated structure placement for everything except labs, nuke stuff, power stuff (only processing no mining)

    E63S47 is one


  • Culture

     

    That's a good clarification- Atavus specifically said "at full capacity", which implies he'd get some remote mining and other functionality out of it.

    A room with no labs (or minimal labs, no boost manufacturing), no remote mining, and no walls is not exactly "full capacity"- it's not going to help an empire nearly as much and will be pretty easy to knock over in a war. 

    My main point here still stands though- there should be a small amount of CPU available on every shard for any player that can get to it, so that the "single world" can be kept. Otherwise players will not be able mount proper counter attacks from shard empires.



  • Tedivm is correct. 20 CPU would be my requirement for running 3 full rooms. That includes labs, power processing, mining, defense AI and 2-3 remote rooms each.

    I think the number is the issue. 20 CPU feels like a lot to me, but I suppose perception can be quite different across the spectrum of players.

    If you drop the number to 10CPU, I feel the advantage would not be so great that I would feel incentivized to go hunting for each shard, yet enough that there would be a reason to interact across shards in different ways.

    So I'd be on board with 10 CPU guaranteed for each shard. It does make sense to a certain degree. Although, I still want an API so I can automatically change CPU allocation for each shard.


  • AYCE

    CPU is normally not an issue until GCL is above 10-15, meaning only commited players will ever consider moving to every shard just to squeeze out the most CPU. GCL (and time to code) is a natural blocker for new or newish players, preventing many intershard empires.

    I don't think there is any problem with some high-GCL-players trying to have presence on every shard, it might even be good for keeping all shards active, and for everyone else it means we can use intershard travel without the need to tweak CPU-allication every time.

    10 CPU would be enough.


  • Culture

    > So I'd be on board with 10 CPU guaranteed for each shard. It does make sense to a certain degree. Although, I still want an API so I can automatically change CPU allocation for each shard.

    This sounds pretty solid to me. 10 CPU on each shard should be enough to manage some meaningful counter attacks.


  • Culture

    I want to restart this discussion now that CPU management between shards is a thing.



  • I think that it would be interesting to have the minimum amount of CPU on each shard be determined by GCL. Maybe using something like min_CPU = max(5, floor(10 / GCL)).


  • Culture

    For all the people who have been following this, you should know that this request has been rejected by the admins. Looks like we're going to be a "multiple worlds" system instead of a single unified world as the game was originally started.

    https://screeps.com/forum/topic/1907/ptr-changelog-2017-08-27-shards-api/7


  • Dev Team

    Multiple/single world aspect has nothing to with the CPU topic. It's all about physical connectivity (portals) rather than resources management implementation details. If you want to have 1,5,10,20 CPU on every shard in the game, just set it, you got the API. 12-hours timeout is not a game changer in any way.



  • How about not having a min cpu but instead have a baseline bucket that lets your code execute for a few ticks. That will let your code request more cpu when it sees that it needs to, allowing isolated code execution rather than each shard managing the other ones.



  • @Davaned

    Isn't this what the new shard cpu API has?

    Each shard has the 10,000 CPU bucket filled initially, so that if it runs it can request more CPU. This seems like more than enough, especially since you'll only need to be requesting more CPU from 0 CPU the first time you're running on the shard.

    I would assume the first single creep will always have a relatively low CPU load? Using 5 cpu per tick, even with 2 500-CPU global resets, you'd have 1800 ticks to request more CPU and set things up.


  • Culture

    Do you think you'll ever let us have more than 300 CPU per-account?

    Like, if the 300 CPU cap were made per-shard, and you continued to gain CPU from GCL after 27, that would be a cool compromise. Eventually we can have a few extra CPU levels that force us to become intershard to use them.


  • Dev Team

    @anisoptera I'm not sure forcing players to become inter-shard is a good idea.