Shard Request: Minimum CPU on all shards


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


  • Culture

    This post is deleted!

  • Culture

    @artch I mean, you wouldn't be forced to in the sense that you have to or you're crippled. But there would be resources that you'll get "for free" by taking the effort, similarly to how you can ignore memory segments, but if your code takes advantage of them, you get 10MB more memory "for free".

    You don't get that additional CPU today at all; if you don't go intershard nothing changes. But if you are extremely high GCL, you'd get a little bonus if you do.


  • Dev Team

    @anisoptera Yes, I can see what that means. Still, it forces high-level players to some specific play style, and this might be a bad thing.