PvP balancing: Reduce maxHits on walls/ramparts, controller downgrade time

  • Screeps PvP is biased very heavily toward the defender. Being able to achieve an unbeatable defense is one of the stated goals of the game mechanics.

    I personally don't see a problem with this, I think it adds a stability factor to the game. However, a virtually unbreakable defense should be the product of clever coding solutions and not the sheer amount of time you've been playing the game. For example, o4kapuk held his room against an incredibly intense attack with an average wall hits of 6m.

    One player suggested a max hits of 50m, and this seems like a good balance. If players want to invest in additional security they can always add more layers at the cost of space and upkeep.

    There is also too much difficulty in permanently removing a player from a room. The downgrade timer is just way too high. To downgrade fully from rcl8 takes 405000 ticks, which amounts to 21 days with the current tick times (14 days with more ideal tick times).

    I realize the devs want to accomodate players who don't check screeps every day, but this needs to be balanced with the goal of making PvP realistic. I think a simple solution would be to make attackController much more potent than it is, perhaps by a factor of 10.

    These are two relatively minor changes that would go a long way toward making PvP in the game more balanced, yet still provide a reasonably favorable situation for the defender. I think there might still be some additional balancing that is necessary. Too many players just do not engage in this aspect of the game because it is unreasonably difficult between more powerful players.

  • Amen to that. We've seen great improvements to the "screeps eco-system" in the last year, I hope there now comes some focus from the devs on PvP so we can keep the endgame interesting.

  • The time for a room to tick down from RCL 8 is the thing that bothers me the most. I think it has a chilling effect on any sort of PvP. Since the game now has safe modes, maybe it doesn't need to be so high.

    Another option is make attackController much much stronger (maybe make the boost good).

  • Culture

    I think that when a room downgrades from one level to another (RCL8 to RCL7) it should have to have it's controller upgraded back up to that level again. This would add some more value to attacking controllers, since all the damage can't be undone with a single energy.

  • CoPS

    I agree to both points - cooldown is far too long, and 300M is too high. However, how many rooms actually reach 300M?

  • Culture

    @kotarou and it should be noted that reaching 300m requires spending energy, and as others have pointed out you can always layer the walls to get the 300m out of smaller walls anyways. So personally I don't care about the wall thing.

    I do think the controller count down either needs to faster or more damaging (dropping to RCL7 actually puts you at RCL7 and requires building up again).

  • CoPS

    @tedivm I'm less worried about multiple thick walls due to the nature of nukes. My main worry is that an afk player with 300M walls (or other such high walls) can potentially take an absurd amount of time to attack, even if they have no active defenses and take no actions.

    I am okay with an actually defended room being hard to take, but the amount of time it takes to clear a big wall and grind out the timers is a bit much. Admittedly, the timers are the bigger culprit than the wall size.

  • Culture

    @kotarou good point, I hadn't taken into account the range aspect of nukes (which for a 50million limit would be 10% of the max hitpoints).

    For perspective though three dismantler creeps at 5k hits per second each (25W, boosted) would only take 20k ticks (less than one day with four second ticks). Walls mean a lot less in the days of boosted creeps, and might be even less when power creeps are out. Investing energy into walls instead of GCL is a strategic decision people make and one I'm okay with at the moment.

    The controller timeout issue just distorts the crap out of PVP though. Someone could wipe me out completely, wait weeks for my controllers to timeout, and be thwarted by an ally rebuilding a spawn at the last moment that sends out upgraders to all the rooms. I think dealing with that first should be the real priority.

  • CoPS

    I agree on the downgrade. My thoughts on the big walls are that while established and warlike players know full well how fast a big wall falls, and how weak it actually is without active defense.... smaller and newer players are faced with quite a lot of intimidation seeing the big walls.

    Should the game be creating the impression to newer players that some rooms are just never worth attacking? I can understand people not wanting to ever be attacked, but it does slightly feel like it puts a lot of apparent power into established positions, which in turn reinforces the more static layout of the world.

  • Culture

    I think the impression should be "some battles may take a couple of days and cost some boosts".

  • CoPS

    Does that work? I remember seeing Azurastar move next to me and thinking "wow, 80M walls? I'll never be able to deal to that". Its just too damn big.

    Maybe some documentation or a site tutorial to actually make warfare a tad more accessible is a sideways solution there?

  • Culture

    I agree with the offense part. It's currently extremely difficult to attack an established player. However, I do see why walls/ramparts should be this high as they are right now. People need time to defend against attacks. It's quite realistic that an attacking player has had a lot of time to prepare for an attack. If you suddenly have to adapt your code to write better defense code it will take time. Walls and ramparts are designed so they take a lot of time to tear down.
    Give a 300M wall

    • Dismantle creep with 40 catalyzed boosted WORK
    • Does 8K damage per tick, 50 base + 300% = 200 damage per part. 200 * 40 = 8000

    Given the amount of free spaces next to a wall/rampart this is the amount of ticks it will take to tear it down:

    1: 37500 ticks. (within a safemode reset)
    2: 18750 ticks. (within a safemode reset, within nuke land time)
    3: 12500 ticks. (within a safemode reset, within nuke land time)

    These times feel fine for people who do not have a whole lot of time to invest in Screeps. It will also take time

    I do agree on the controller part. Currently all it takes is a single tick for a defender to get back up to speed, and you can only block an upgrade for 1000 ticks. I think this is where the issue becomes quite apparent. It's become so well known that it takes so little effort to get back up to a normal leven that people even neglect to defend the controller at all. Leaving it extremely exposed.

    I personally always saw the controller as a way to control the room. It should be considered the most important structure in the room in stead of the "oh yeah that thing" structure it is now.

    I think that attacking a controller should result in hefty penalties to the room, and that the cooldown should be a lot easier to bring down (As you can wall it up with 300M walls/ramparts right! 😄)

    It might even be feasible to add a new part type which allows for attacking controllers, which does NOT diminish the creeps TTL and doesn't cost more than 1 WORK part.

  • Dev Team

    We have an idea to make attacking controller more interesting.

    We have 2 proposals which could help an attacker take over the room

    We would like to refactor attackController method and make it more powerful for the attacking party:

    • attackController will apply 1000 ticks of upgradeBlocked and will decrease the ticksToDowngrade by 200 * amount of CLAIM parts.
      The claimer creep will only need 1 tick to do this amount of damage.
      The claim creep will not be able to do another attack until upgradeBlocked is back to 0.

    This kind of change will make battles be more wave-like.
    During the 1000 ticks of upgradeBlocked neither attackers nor defenders are able to do anything woth the controller.
    Obviously after 1000 ticks the fierce battle starts before the attackers or the defenders can fire another shot! Both parties would have to plan their attacks accordingly.


    Another change we can implement is when a controller downgrades a level it will lose 50% of that levels energy.
    For example:
    The result of letting your controller downgrade from RCL 8 to RCL 7 will result in it having a progres of 5467500.
    This creates an incentive to not let your controller downgrade at all!
    It will become very costly to lose a level. Each level lost will result in this effect, so letting your controller downgrade once more (from RCL 7 to RCL 6) will cost you the 5467500 energy that it still had! And additionally it will lose another 1822500 progres.

    This result of downgrading a room from RCL 8 to 6 will cost 10935000 + 1822500 energy (without boosts).

    Let us know what you think of these ideas.

  • Dev Team

    I only want to note that the current mechanic is to lose 10%, since here were some incorrect statements that there is no lose at all. You can check it here https://github.com/screeps/engine/blob/19453d92fb2139f8f1b8cda47ea54983e149e44d/src/processor/intents/controllers/tick.js#L43

  • Interesting ideas, I do think that there should be a lot more emphasis on protecting the controller during a siege. Since one of the biggest advantages a defender has is the freedom to choose where to place all of his or her structures. This means the defender can cluster all of their buildings together in a extremely compact defensible position. The player, however, does not get to chose were the controller in a room is placed. This can force a very significant additional constraint on the defender when planning his/her base layout, but only if attacking the controller results in a serious penalty to the defender.

    Instead of (or maybe in addition to) the current effects, attackController could build up some counter, which if it reaches a certain threshold will temporarily reduce a rooms RCL by 1 for some number of ticks. This would mean an RCL8 room would lose control of 3 towers, 1 spawn, 4 labs, and all the other buildings that become available at RCL8 making defending significantly harder. The main idea here would be that this temporary downgrade would be achievable on a much shorter timescale while still requiring a strong presence in the room by the attacker. Furthermore, it would potentially promote extended conflict around both the controller and the defender's core base.

    Perhaps this idea is redundant with respect to the way attacking the controller is currently implemented, but I feel like decoupling the 'upgrading' aspect of the controller from the 'attacking' aspect would give a lot more flexibility to properly balance this mechanic.

  • I like the idea behind attackController, and I do think it's an improvement to the current system and a step in the right direction, but given that it only blocks the controller for 1000 ticks, this doesn't really improve the "standing army" problem that controllers have.

    I would suggest, however, scaling upgradeBlocked to the number of CLAIM parts used to attack that tick (with future attempts to use attackController being blocked, similar to the way multiple miners can mine a single extractor).

    With the currently suggested system, assuming a player is using a single maximum size CLAIM creep to attack the controller, it will still take over 40 such attackController cases (that is, continuous upgrade blocking, assuming a maximum size CLAIM creep to minimize the number of battles)- 40 battles that the defender must have an army up and ready to fight off anything the attacker can throw at them, and the attacker only has to win one of those battles in order to start the whole process over again.

    Allowing multiple creeps to simultaneously use attackController (even without an increase in upgradeBlocked time would help by reducing the number of battles, but that won't be consistent. Even only having to win one in twenty-two or so battles still heavily skews in favor of the original owner.

  • Add an alternative attack option for claim parts aka. DrillController, that makes the casting creep immobile and unable to be healed until it stops drilling for 20 continuous ticks, but does a LOT more damage to controller, like 5-10x as much as attack controller.

    If you have complete control of room it will allow you to take out controllers much faster, but if the enemy has even a few turrets operational he will be able to take out the drilling creep no problem.

    Alternatively, give attack-controller a range of 2 (or 3) so an attacker willing to shell out the energy can mass more of them.

  • Those seem like some great ideas, and I'm very encouraged by the discussion.

    The mechanics suggested by @dissi-mark have some nice potential but with those numbers they seem to just be a reshuffling, not an increase in potency. The proposed mechanic would have a 15-part CLAIM creep take down the controller by 3000 in one tick. Continuously attacking with a series of the same creep over 1000 ticks would also take the controller down by 3000.

    It could even make some sieges longer. At the moment you can attack with more than one creep.

    So it seems to boil down to an energy savings and a normalization of the amount of distance to the attack room. This is a step in the right direction, but the current big issues are the sheer amount of time it takes (which it could actually make worse) and the fact that it is too easy to lose all your progress as the attacker.

    I still like the general idea and the normalizing effect it has related to the distance that the claim creep has to travel. I'd just ask that it be more potent, perhaps 500 per CLAIM part rather than 200.

    As others have pointed out, it is very unbalancing that ticksToDowngrade is immediately restored upon upgrading with a single energy. It would be much better if upgrading increased it by some amount, but not completely restored it. Perhaps 1 energy would restore 10 ticksToDowngrade points.

    edit: made it a little more concise

  • YP

    Just a thought after waking up... what if there were a structure that an attacker can build in an enemy room that has some effect. Maybe that some energy / minerals to work.

  • @w4rl0ck

    We were talking about an idea that is similar to that in our alliance chat recently, I think it has some interesting potential.

    One of the reasons I suggested these things in particular is because they would basically require little more than adjusting some constants. I know the devs have their hands full with performance upgrades and new features. I thought this might allow us to bring some balance to PvP in the meantime.