Power Era has begun!


  • Dev Team



  • Hello World!

    • Increased code limit size to 5 MB for IVM users, since the Power Creeps feature introduces a new major coding challenge. Legacy shared VM limit remains at 2 MB.

    Also this change has somewhat managed to slip unnoticed. I want to thank you for that, it was a long-wanted change 🙂



  • Yes, I am very happy with 5MB.

    Not got to test power creeps yet... still hooking them into threat detection!



  • Why is one type of user getting a larger code size than the other type of user?



  • @crusher48 said in Power Era has begun!:

    Why is one type of user getting a larger code size than the other type of user?

    You mean IVM vs Legacy VM users? Because Legacy VM is, well, Legacy, and for all intents and purposes considered deprecated and you should not be using it if you can. All new user start with IVM by default, and most active players have long moved on to IVM, as it has a lot of advantages, like persistend(ish) global, heap management, and just more stable runtime environment.



  • Alright, so it's an incentive to get legacy users to switch to IVM for the increased capacity. Given that IVM increases tick speeds overall, that sounds like a fair trade.



  • yeah, literally the only advantage to running the legacy VM is to not worry about heap size.



  • A better documentation would have been great, but I lost the hope for that a long time ago anyways...


  • Dev Team

    @twothe All game objects and their methods are fully documented. What do you think can be improved?

    👍


  • @artch some documentation only mention some constant like PWR_* requiring to basically open the constants document and ctrl+F it. It would be a bit more accessible to have a listing locally for say "usePower" and the capabilities method.



  • Where is the documentation on what exactly each power does? Is this only available through the power creeps API?



  • I agree with @TuN9aN0 about the convenience factor of not opening the constants document. I made some other notes of other potential documentation improvements. Note that these are all discoverable easily enough through experimentation, it's just nice to have it available outside the game.

    • Similar to the PWR_* constants, would be nice to see TicksToLive/hits per level/carry capacity outside the constants document.
    • Clarification about whether simultaneous execution of powers is allowed
    • Clarification about whether powers are enabled in rooms without controllers
    • Clarification about whether power creeps can be spawned/renewed in rooms with power disabled. (after understanding the feature more, it is obvious that you have to create a power creep in order to enable power, but I initially was confused by this)
    • Which, if any of the normal construction limitations apply to rampart creation. For instance, neutral rooms, opponent's rooms, room borders/edges.
    • Clarification about stacking (e.g. you can't use REGEN_MINERAL with 5 different creeps on the same X node.)
    • ticksToLive is listed as undefined for power creeps that are not spawned, but appears to actually be NaN.

    If any of these are present in the docs and I just missed them, please disregard. It wouldn't be the first time I was looking in the wrong place.



  • I'm seeing:

    "ticksToLive":null



  • @omnomwombat said in Power Era has begun!:

    Clarification about whether simultaneous execution of powers is allowed

    No, only the last called power will be used, per creep.

    Clarification about whether powers are enabled in rooms without controllers

    They are. Controllerless rooms are power=on by default.

    Clarification about whether power creeps can be spawned/renewed in rooms with power disabled.

    They most certainly can. I've had one sitting around in a power-disabled room for past two days.

    Which, if any of the normal construction limitations apply to rampart creation. For instance, neutral rooms, opponent's rooms, room borders/edges.

    • Neutral rooms: yes
    • Opponent rooms: probably yes
    • Controllerless rooms: yes
    • Edges: normal building rules apply (not within 2sq of exit tile)

    Clarification about stacking

    Higher level powers will override and replace the lower/same level power effects. No stacking. (from engine code).

    ticksToLive is listed as undefined for power creeps that are not spawned, but appears to actually be NaN

    Appears to be NaN for creeps spawned on different shard than running code.


  • Dev Team

    @crusher48 It's in the game client, check this page https://screeps.com/a/#!/overview/power. Don't hesitate to create a PC there, it won't be saved until you click Save, you can just plan skills and then cancel.



  • @tun9an0 said in Power Era has begun!:

    @artch some documentation only mention some constant like PWR_* requiring to basically open the constants document and ctrl+F it. It would be a bit more accessible to have a listing locally for say "usePower" and the capabilities method.

    I think I also agree with this.For example in the creep API docs we have a table describing all of the creep body parts. There is no such thing for power creeps.

    There's a few places where the implementation isn't entirely clear (though I may have just missed it in the docs):

    • Unowned room powers
    • Operate spawn on already spawning creeps
    • Regen mineral on empty minerals
    • Fill order of operate extensions
    • Fortify vs other powers (ie. does fortify block disrupt_*)
    • Stacking behaviour

    I know all the answers to the above having dug through the source, but they could be a bit more explictly stated. We're all newbies again with power creeps!

    👆

  • Dev Team

    OK, we updated usePower documentation a bit, and added the full list of available powers to the Power article.

    As to specific powers subtle semantics, I don't think it's realistic to expect all possible nuances and edge cases to be explained in the description, it'd be more like wiki rather than documentation. We better leave this to individual players and community to figure out.

    👍


  • Is it correct that Towers can only attack/heal Creeps and not PowerCreeps? Or is this a documentation omission?

    https://docs.screeps.com/api/#StructureTower.attack

    https://docs.screeps.com/api/#StructureTower.heal

    https://docs.screeps.com/api/#Creep.attack


  • Dev Team

    @wtfrank this is just docs, creeps and towers should interact with power creeps the same way as with regular creeps.



  • How long will it take before commander and executor power creep classes are released?