AttackController too easy to recover from

  • The changes to attackController are great in that we now have a viable way of removing a room once and for all.

    In the current implementation even with maxed out creeps it takes a while to downgrade a room from RCL8 to 0 and this is how it should be. But if the attacker starts such attack the defender only needs to gain control for a few ticks (particularly if they time it well just after a downgrade) to get their controller back up to full level)

    1. A defender can recover 100 downgrade points a tick, this means that you can recover fairly quickly from an attack that has been going on for 1000's of ticks particularly at low levels.
    2. If the attacker successfully downgrades the controller one level, then once the defender has cleared the downgrade timer the controller levels up by a level per tick until the remaining control points are used.
    3. A 10% control point penalty is applied when the attacker successfully downgrades the room by a single level, but this penalty is only applied once, so as an attacker then is nothing to be gained for me between downgrading 1 level and downgrading all the way to 0. (nb I am not sure I have this mechanic correct and cant find any reference to it in the docs. )

    So my proposal is as follows:

    1. Make the rate that you recover from downgrade timers related to the number of work parts on the creep doing the recovery. e.g one WORK part recovers 5 ticks of downgrade timer per tick at the cost of 1 energy.
    2. When a player clears the downgrade time and upgrades their controller 1 level the downgrade timer is then set to the max value for the new level (or as near is practical without immediately downgrading the controller again)
    3. Every time a controller is downgraded 1 level the rooms looses 10% of its total control points and not just the first level.

    I am sure other people have other thoughts on this feature, and so I welcome the discussion.


  • There are some more issues that aren't mentioned here:

    1. I guess this is related to 2, but I just want to stress that this can be used to upgrade the controller to max very quickly. If you wait until just after you lose RCL the controller can be upgraded back in one tick, and from there upgraded to max RCL one RCL per tick. I'd suggest that when upgraded to a new RCL the stating downgrade timer should be on 25% of maxmum (so if max is 5000, it should downgrade in 1250). That shouldn't impact regular upgrading at all.
    2. There's no overflow from attackController. IMO it should overflow into the next level.

  • You accurately described my frustrations when downgrading a controller. The recent changes work great for downgrading an uncontested controller. But even the most minor opposition will completely trump any downgrade attempt.

    Some balancing is needed here and your proposal sounds like it should fix it or at least be closer to balanced than it is now.

  • Honestly, if you downgrade a controller level, the opponent should lose all of the resources that were put into that controller level, and then have to recover that controller level from scratch. At the very least, take away more than a 10% resource penalty.

  • @Crusher48 Currently the penalty is 10% once. Changing that to 10% per level is a reasonable change. We may eventually get a more extreme penalty but I think tuning changes should be smaller (and infrequent) to make sure we don't just thrash around.

  • Dev Team

    @deft-code Actually, it is 10% per level. See here.

  • @artch said in AttackController too easy to recover from:

    @deft-code Actually, it is 10% per level. See here

    So its 10% of the cost of getting to the level you were downgraded from.
    8 => 7 lose 1093500 points
    7 => 6 lose 364500 points
    6=>5 lose 121500 points
    5=>4 lose 40500 points
    4=>3 lose 13500 points
    3=>2 lose 4500 points
    2=>1 lose 20 points

    So in reality the number of points reduces exponentially per level.

  • The penalty should be 50%, not 10%. 10% makes it too easy to recover the room after getting through the area's defenders.

  • Dev Team

    It is intended to be easy to recover. Losing assets is always a weak point in any MMO, and we'd like to make recovering process as easy as possible. Especially when losing is possible while the asset owner is offline, or due to a simple typo in his script.

  • @artch Why not make it permanent then? 😂

    Jokes aside, can't it still be too easy?

  • Screeps feels tuned so that someone who is engaged with the game on a daily basis is favored in most conflicts.

    For example, the difference of attacking someone who is AFK for a coupel days vs someone who is active is a huge change. This is just another extension of that, where if they come back they can recover quickly from losses, but if they ignore it they can lose everything.

    I'm with @artch on this, I think its a (mostly) healthy way to keep people who care about the game significantly engaged. It might be tuned a little too strongly, but when you remember it took someone probably a month to build up that room to level 8, losing half of that while afk is a downer.

  • I'm fine that regaining assets shouldn't be hard, so long as you can actually project power into the room for a reasonable amount of time.

    Today, if you time it correctly, you can get from RCL 1 to RCL 7 with 6 ticks at the controller. For an RCL 8 base the defender loses maybe 15% of the energy into the controller. Ticking down an RCL 8 to RCL 1 takes significantly longer than 6 ticks.

    The main issue therefore is that on upgrade you can instantly upgrade to the next level, and then the next. And on downgrade there is no cooldown for upgrading.

    To me this makes the current system no better than the old. You need to seige a room for tens of thousands of ticks to remove it, you need to regain power in a room for 6 ticks to undo that seiging.

  • Dev Team

    @tigga said in AttackController too easy to recover from:

    For an RCL 8 base the defender loses maybe 15% of the energy into the controller. Ticking down an RCL 8 to RCL 1 takes significantly longer than 6 ticks.

    Consider this: 15% of an RCL8 controller equals to 1.6M energy, or 160K ticks per source harvesting. This is the time which the owner has lost even if he managed to recover.

    you need to regain power in a room for 6 ticks to undo that seiging

    Not exactly true. The defender needs to fight back and regain control over the controller for 1000 ticks in order to execute those 6 ticks. The 1000 ticks is the crux, not the 6 ticks. And the attacker is supposed to guard the attacked controller while he's downgrading it. If your tactic is sending an one-time raiding party and then just simply sending a lone claimer every 1000 ticks, you're not supposed to success.

  • @artch they only have to fight for 1000 ticks if they don't know how to count. They only need to have control when the 1000 ticks end, not for 1000 ticks. This is a fairly huge distinction. While the attacker needs to hold the controller for thousands of sequential ticks, the defender must only reach the controller at one specific time and they regain almost everything they lost.

    It would be great if the attacker could continue using .attackController() while the controller is upgrade blocked, not to downgrade it faster, but to keep the upgrade block at 1,000 ticks. This would mean that a well timed burst attack squad will not simply mow down the attacker for 6 ticks to regain control of the room.

    Also... assuming a 2 source room with a measly 2 remotes, 1.6M energy is less than 50-60k ticks. There is also the Market though, and last I checked, energy doesn't exactly have the highest price tag.

    I like how I cannot just lose my assets over night, that's cool, but at the same time, why am I allowed to continue trolling this considerably stronger player by preventing room downgrade for over 500k ticks, when I haven't been able to keep the room for more than a few ticks in a row?

    I'm not protecting my assets at that point, no, it's called trolling at that point.

  • The defender needs to fight back and regain control over the controller for 1000 ticks in order to execute those 6 ticks

    To rescue the room you need an overpowering force over the course of 30-80 ticks (too short for a dynamic reaction force) every 50,000->100,000 ticks. Time it to arrive when the blocked timer is running out (can't be renewed until it does), especially if that co-incides with shortly after controller downgrades, and there's not much I can do against that. The only solution is to have a force myself that can overpower any possible incoming force for every single one of those 1000 tick intervals over the course of 50,000->100,000 ticks. I need to win every time, and because it's 1000 tick intervals (and that's less than CREEP_LIFE_TIME) it's pretty much full time. The blocked upgrade does very little to actually help.

    IMO you should have to actually properly regain control of the room over a sustained period of much greater than 100 ticks to be able to recover it from RCL 1 to RCL 7. That's simply not the case today. Above you say they need to control the room for 1000 ticks. If that was actually true, I'd have less problems with the current design, but it's just not true. Maybe it's the intention, but it's not how things pan out!

  • I still feell that if you downgrade the controller, the enemy shouldn't be able to recover anything and should have to upgrade that controller back up from scratch.

  • @crusher48 If that were true it might actually be too easy to take a room given the current system, but that is how I thought it worked when I first read .attackController().


  • I mean the hard part of taking a room is actually beating the defenses. Remember, this game is biased in the favor of defenders to the point where a perfect defense would be impossible to defeat.

  • @artch I think the best way might be an inbetween for attackController. Make there be an attackController that downgrades, and a blockController that prevents upgrading/safemode.

    Cd limitation is on attackController, but blockController can have the equivalent to a reservation timer that the enemy can increment up by committing resources. This will give attackers a longer window if they commit, but still allow defenders who hold the room to defend themselves.

    blockController: Adds 2 ticks of blocked controller per 5 claim parts, up to 2000 ticks. No cd on it.

    attackController: current behavior with the 1000 tick cd, except it only adds 200 ticks of blocking.


  • Crazy idea:

    Make a shard where it is easier to attack than defend and let people who want a more dynamic game spawn there. Could be fun.

  • @shedletsky said in AttackController too easy to recover from:

    Crazy idea:

    Make a shard where it is easier to attack than defend and let people who want a more dynamic game spawn there. Could be fun.

    Seasonal shard would prevent people being able to turtle to unkillable levels... but that idea was shot down as being too good and requiring it's own game and another payment 😑