Important change: NPC invaders

Suddenly, the world of Screeps has become less safe. It seems that intensive mining and industrial development in once virgin regions shattered the environmental balance and enraged mysterious forces we know little about. The time of peaceful travel came to an end, and since now, everyone should keep on the watch.

NPC Invaders

Every room where energy is mined has an inner counter at approximately 100,000 units of mined energy (plus some random variable). After this counter times out, a new game-controlled creep appears at one of the room exits with the goal of hunting your creeps. It will not touch your spawns, but if a structure gets on its way, it will try to destroy it. This creep can use attack, rangedAttack, and dismantle. It is unable to move between rooms. 

An important feature of these creeps is that they can appear only at exits to neutral rooms. If the target room is under your (or someone else’s) control or it is a reserved room, an invader creep will never appear at this exit. If all exits in the room are of this kind, invaders cannot appear at all.

There are two types of invader creeps:

  • Light creeps that appear in neutral, reserved, and claimed rooms under level 3.
     
  • Heavy creeps that appear in claimed rooms level 4 and above. 

UPD: There is now a chance that you will get not only a lone invader, but a whole company of them. Learn more from this article.

Have more questions? Submit a request

Comments

  • neomatrix

    Room's energy countdown timer -- is it available via API?

    UPDATE: if not - can you display it somewhere at PTR's UI, for testing purpose?

    Edited by neomatrix
  • RaskVann

    Can this be disabled for newbie zones? This might be confusing (since from a newbies perspective they will arbitrarily go from not being attacked to being attacked at 'random' intervals) but I know I wouldn't have been able to handle any amount of hostility when I first started the game.

    Edited by RaskVann
  • RaskVann

    As an alternative, if creeps would start similar to the simulator's survival where NPCs are trivial (one move, one attack/ranged) when they are first aggravated and gradually get stronger the longer they are consistently bothered.

    Bonus Idea - NPCs drop non-trivial amounts of energy and/or trivial amounts of power on death.

    Edited by RaskVann
  • RaskVann

    To jump off neomatrix's point. How also will the players be visually warned about incoming enemies or that they are aggravating NPCs by gathering energy?

    Bonus Idea - Why are enemies not bothered by players attacking/gathering power?

  • neomatrix

    When a room has 2 exits -- one leads to my room, another - to a neutral room -- will invader appear every time counter times out, or with a 50% chance?

  • neomatrix

    @RaskVann: it is wize to protect newbies from invaders, unless they are familuar with the game. Though, it is too much to switch invaders off at the whole newbie sector: there are expirienced players as well. I'd like to offer another criteria: don't spawn invaders at a room, owned by a player with GCL<=2.

  • Avatar
    Artem from Screeps

    The first invader will come only when 100,000 energy is mined in the room. It seems to be quite enough for a new player to learn the basics of the game. 

    > When a room has 2 exits -- one leads to my room, another - to a neutral room -- will invader appear every time counter times out, or with a 50% chance?

    It will appear with a 100% chance at the exit to a neutral room.

    > Room's energy countdown timer -- is it available via API?

    No, it's not.

  • RaskVann

    @Artem - According to my notes you'd only need 1 dedicated miner with 2 WORK components to trigger an attack in less then a day (25,000 ticks). This should be achieved the first day the player has automated mining going 24/7.

    Looking at the new player rooms looks like most people will be attacked at least 3 times a day.

    I didn't have automated defenses up for weeks upon first joining Screeps. So we're expecting all new players to be able to automate defenses on their first day?

    I don't fear for veteran players with this change, just what we're asking of our new players since being cleaned out every 100,000 energy should be disheartening.

  • Dissi

    @Artem will it be possible to change the default of "notifyWhenAttacked"? I imagine a mailstorm coming my way when this change is brought to production

  • NhanHo

    @Artem: can we have another week (to the end of this month, instead of the 19th) before the change is deployed? 10 days is a bit short for a breaking change.

  • Avatar
    Artem from Screeps

    @RaskVann: We can probably increase the timer to 1M for the first time when a new player spawns in a room, that would help.

    @Dissi: You can set it by yourself when a creep with `owner.username == 'Invader'` is spotted in the room.

    @NhanHo: It doesn't seem to be a breaking change. You are supposed to develop some defense logic for your rooms and harvesters from the very beginning of the game.

  • Dissi

    @Artem I mean the default value of "notifyWhenAttacked" is always set to true currently, unless you change it in code using theCreep.notifyWhenAttacked(false)

     

    An option to change the default of this to false would be highly appreciated, this way I can do the exact opposite:

    theCreep.notifyWhenAttacked(true)

     

    I already select change this for different role of creeps, but I'd like to set this globally. The extra checks take more CPU.

  • neomatrix

    @Dissi: while I can make `creep_invaderHunter.notifyWhenAttacked(0)`, I'd prefer to be obligatorily notified on any other unplanned attack.

    My vote is to leave notification as it is now, but inform players (in the changelog declaration) about possible mailstorm that may be avoid by .notifyWhenAttacked(0) for the 'hunters'.

  • Avatar
    Artem from Screeps

    We are now considering turning invader attack notifications off entirely. This is a sort of continuous attack process which doesn't make much sense to be warned of.

  • neomatrix

    @Artem: there is a case, when invader's attack notification is wanted: when my remote-mining room's exits lead to neighbour's rooms. Once a neighbour respawns and leaves his room vacant, so invaders appear at my remote-mining room. I'd like to be informed about that attack.

    Here is a few more questions:

    1) "an inner counter ... 100,000 units of mined energy (plus some random variable)"
    Is random value always positive integer, or it can be negative (100k-rnd)

    2) When does the counter restarts: immidietly after countdown, or at the moment of invader's death? (Looking at invader's behaviour@PTR make me think the 2nd option is possible)

    3) Invaders may appear at the 9 sector's central rooms, right?

  • Dissi

    @Arthem

    I do agree with neomatrix regarding the notification part, I think leaving it as is would be better. I'll adjust my code to detect the attack, and which creeps I'd like to get notifications about.

     

    Regarding point 3 of neomartrix, I currently don't have access to center rooms on both PTR and real world, I'd like to know if they can spawn there as well.

     

  • Avatar
    Artem from Screeps

    > 1) Is random value always positive integer, or it can be negative (100k-rnd)

    It can be negative as well. Invaders are naughty.

    > 2) When does the counter restarts: immidietly after countdown, or at the moment of invader's death? (Looking at invader's behaviour@PTR make me think the 2nd option is possible)

    There cannot be 2 invaders in the single room, so it restarts after the previous invader is dead.

    > 3) Invaders may appear at the 9 sector's central rooms, right?

    Yes, they do.

  • danny

    Can invaders appear at exits to corridor rooms?

    Edit: they can.

    Edited by danny
  • SystemDisc

    Being a newbie and coming back to see damage in my room, yet not having been notified by email, left me very, very confused. I don't think it's a good idea to not notify about these NPC invaders attacking. I didn't figure it out until I viewed the room history and scanned around the timeline. Upon seeing the creep owned by "Invader", I googled "screeps invader" and came to this article.

    Edited by SystemDisc
Powered by Zendesk