PTR Changelog 2016-09-09

  • Dev Team

    This post describes changes on the Public Test Realm. The estimated launch date is September 16.

    Introduced new room safe mode mechanics. It will replace room novice walls protection, and allow to arbitrarily safeguard your rooms while you are offline.

    Safe mode is enabled on the room controller when a new player spawns in the world initially. It also can be triggered by any player manually using either the StructureController.activateSafeMode() method, or the button in the controller UI. When activated, it blocks attackrangedAttack, rangedMassAttackdismantle, heal, rangedHeal and withdraw methods of all hostile creeps in the room.

    One safe mode period lasts for 10,000 ticks. It cannot be activated again during the 30,000 ticks cooldown period. But in Novice Areas, there is no cooldown at all.

    In order to activate safe mode you spend available activations (StructureController.safeModeAvailable property). You obtain one activation on each controller level upgrade, and also can generate it by Creep.generateSafeMode() method using 1000 ghodium resource.

    If the controller is downgraded, it loses all its available safe mode activations, and triggers the cooldown period.

  • Is activating safemode blocked by the presence of hostile creeps (kind of like destroying structures is blocked when hostile creeps are in the room)?

  • Dev Team

    No, of course not.

  • Great addition! Many Screeps players will sleep much better now 🙂

    You might also want to block the attackController method for completeness.

  • Fantastic idea, now with minimal code we should be able to vastly reduce sleep sniping.

  • I feel like this should be scaled by player level to some degree - maybe have an activation countdown that gets larger with a player's aggregate RCL?  A player with 10 RCL 8 rooms and one RCL 3 room probably shouldn't enjoy the same benefit as a player with 3 RCL 3 rooms.

  • I'm cool with the idea of making it easier to defend, but I don't think this is the right way to go about it.  If a room is going to die, having an extra 10k ticks to defend it won't make any difference other than making that room more tedious to attack (and forcing the attacker to code in logic to detect safeMode - is there going to be something in the API that will allow us to easily detect if a room is in safe mode?)  Assaults will turn into "Launch an attack, see them go into safemode, stop the attack for 10k ticks, launch the attack again."  It's just delaying the attack by 10k ticks.  This solution feels like a way to make players feel more comfortable with shitty defense logic (even though they won't actually be safer)

    Additionally, this will benefit top tier players even moreso than lower tier players - generating Ghodium is a lot easier for top players than lower players.

    I like the idea of us having more tools for defending, but this doesn't feel like it'll be a tool that will generate fun/interesting gameplay.  This sounds like something that will just make it that much harder to attack (and defenders already have a big advantage).  Rooms in safemode will have an extra 10k ticks to prepare defenses, and an extra 10k ticks for assistance to come from the rest of your empire.  Something that would give us more options for defending and attacking would be awesome.  Maybe the ability to remove boosts as a defender and harden/protect them as an attacker?  Or some way to boost towers into overdrive, making them do more damage but also use more Energy?

    I dunno - it'll be worth waiting to see what happens on the PTR, but this feels like it goes against the spirit of the game for me.  The challenge of having to create code that can successfully defend my empire while I'm asleep (and outsmart the logic that others have created) is one of the reasons that I play this game.  There's no outsmarting a safemode room - just waiting.

  • Culture

    Seems like some kind of scaling would help a lot here:

    1) Reduce activation length by RCL of room (10k at RCL < 3, -2k per level)

    2) Add pre-activation delay by RCL of room (0 at RCL < 3, +2k per level) (per n00bish/others)

    3) Do one of these based on total RCL of empire (same but slower scale)

    Seems somewhat easy to abuse by higher end players otherwise. IE: Go claim a thing next to someone, put up a wall, keep putting up walls while trolling as long as possible.

    Or wait until a massive attack force is inside a base, then put up a wall and slaughter them (since heal parts are off) (hat tip: not me for this one)

    More scaling there, maybe? If RCL (global or local) is low, putting up a wall disables those attack methods. If RCL is medium, disables boost effects, if RCL is high, disables nothing?

    Seems kind of complicated.

  • Culture

    I like the idea of having something that protects more vulnerable players from waking up to finding their fledgling empire was crushed overnight by someone who was bored or wanted to claim rooms in a symmetrical pattern.

    I don't like the idea of giving veteran titans another tool to discourage anyone from chipping away at their continental empire.

    I like the concept of limiting this in some way, either by RCL, total rooms owned by player, or a combination of the two. An activation countdown like n00bish suggested might be good; novice areas would be exempt from this limitation as well.

    If this were limited, it would definitely need to be something that is quick to calculate server-side.

  • Culture

    It seems like this is another inhibition to attacking/siegeing/assaulting someone without more motivation/ability to attack.

    This is particularly capable of abuse from large players. I agree with n00bish about some scaling with the total RCL (GCL wouldn't be fair to old players starting out fresh.) Some sort of pre-activation timer, akin to the timers in EVE, should apply for players who have more total RCL than some amount and scale from there.

    24 RCL = 2k activation timer, 48 = 5k activation timer, and so on to a cap of 10k maybe.

    This timer would be apparent to attacking players so they could plan their attacks accordingly. Having automated code that activates "safe mode" as soon as enemy creeps are detected will utterly destroy assaults that may have taken thousands of ticks to get to (importing creeps from far rooms takes awhile.)


    Some of wave's ideas are quite good as well and would involve much more interesting gameplay from players who actually have a defense (though they still disadvantage offense even more.)

  • Culture

    Oh, one other thing: Abandoned players with automated walls. Single-room nodes ground up to RCL7+. It's already pretty tough clearing these out if they're mindlessly dumping energy into walls perpetually.

    It would complicate things even further if this became less effective if you don't push code or log in. but something along those lines: like the amount of ticks you've owned a room makes it less effective as well, with a starting cliff of multiple weeks.

    EDIT: You could simplify all of the above ideas by gating it on total tick age for all owned rooms in empire. IE: (lets say 500k ticks is 3 weeks), one room at 500k ticks starts losing effectiveness every 50k ticks after that.

    So two rooms at 250k ticks start losing effectiveness as well.

    Larger players can try to game this by unclaim/reclaiming rooms, but after 5-6 rooms they'll never get aything to RCL7 if they keep doing that. past 10 and it's unlikelyu to work at all.

    Could be _some_ downside: if a very large player is under siege and is losing rooms.. they could unclaim lost rooms to try to duck back under the counter. That might be a legitimate strategy at that point though.

  • Dev Team

    Scaling it with RCL is not something we consider. This mechanic is not for novices. It is a key concept which should be available to every player because it addresses the major flaw in the game: the defender is almost always at huge disadvantage because of the simple fact - he is most likely offline. Yes, it is the game about programming an autonomous AI, but ability to watch and make required modifications is not only essential for building a robust defense, but is also a huge part of fun that defenders are missing. Introducing a controlled delay makes their chances equal - both parties will know the exact time when the assault can continue. Think of it as a notification when you may come and check your defense script in live mode. Now it happens suddenly when you are away, after this change you will be notified in ~8 hours.


  • But then it means that the attacker potentially can't fight in their timezone.  The defender will be able to almost always ensure the fight happens in their timezone.  It's just moving the problem to the other player.

  • Culture

    Your argument is fine for the first 1 or 2 rooms of a defense, but what about for 10 rooms, or 20? The attacker is supposed to wait at least a whole day for every single individual room?

    Not to mention when the room takes forever to destroy. 50million walls with an (intentionally) online, active defender and then another 50mil on every individual spawn? There is no way that could be done in 30k ticks or 60k, probably not even 100k.

  • Dev Team

    But then it means that the attacker potentially can’t fight in their timezone. The defender will be able to almost always ensure the fight happens in their timezone. It’s just moving the problem to the other player

    It seems to be very difficult to do using 10-30k ticks timeframe. There will be a 20k ticks window to attack.

    Your argument is fine for the first 1 or 2 rooms of a defense, but what about for 10 rooms, or 20? The attacker is supposed to wait at least a whole day for every single individual room?

    Yes, and this is a good thing. You shouldn’t be able to steamroll a huge 20-room empire in one day (or in one night even) .

    Not to mention when the room takes forever to destroy. 50million walls with an (intentionally) online, active defender and then another 50mil on every individual spawn? There is no way that could be done in 30k ticks or 60k, probably not even 100k.

    50mil wall can be destroyed by a boosted dismantler in less than 10k ticks.

  • Culture

    Not when the defender is online, an attacker would be lucky to get through 10mil in his entire time awake at the computer.

    I agree, a single 24 hours would be ridiculous. It should take at least a week, if only because of how far away the rooms would be. With this system, I don't think it could ever be done.

  • Dev Team

    You can attack several rooms simultaneously and trigger safe mode in all of them. 

  • Culture

    Sure if you have enough rooms close enough to the person you're attacking. Most of the time only 2 or 3 rooms would even be close enough to feasibly attack them.


    This doesn't really seem like it's a problem for large players, only one (with proper defenses) has ever lost several rooms from being attacked. He didn't even have to restart. There's not enough incentive to attack and there's not enough means to attack, we can't easily fight when our rooms are 30 squares away. Attacking will have to have more of a purpose than to just gain land for large players before any sort of war will break out. We don't need land from other large players, we'll just expand in a different direction and stamp over smaller ones if we have to.

  • Maybe make it that safe mode has to be activated in all rooms at the same time. This would still ensure that defenders cannot be caught on surprise, but prevents any multi-room cheese.

    The attacker has then 30k ticks (~24 hours) to attack any rooms of the defender. Meaning that no matter what, the attacker can also attack in his timezone.

  • Yeah, large players already aren't being killed, or even regularly attacked.  They already don't have much to fear in the way of people assaulting them - this will give defenders a tool for solving a problem that doesn't exist.