PvP Game discussion



  • I actually really like both of Qzar suggestion of how this issue can be resolved, but strongly disagree with his thesis that a defender is at a good position no matter if online or offline - you attack a room when you see how it can be taken down - ranged units, mass units, consecutive attacks and such so in a case of a well-prepared attack a defender has no chance no matter if he only needs to boost ATTACK or not.

    In the case of our war i was away for about 3 days with very limited net access - so the result - a well structured attack based on the weaknesses of my defence lead to a loss of many rooms without the option of me countering it, still - a week later i don't have time to do so.

    Due to the fact that everything in this game is done at a really, really slow pace and you need to automate everything so it plays by itself there is rarely the case where u have prepared code for all possible scenarios or the time do it in a couple of days when being attacked and have to defend the rest of your rooms - my experience there shows that each next attack on you exploits something you failed to oversee, which is totally normal and the best way to find it and patch it

    The proposed ideas are good, but not enough in favor of both parties, so i would suggest something in addition:
    - if we're going with the domination counter - trigger an automatic safe mode for the duration of that domination to the nearest room of the defender so he can actually engage in that domination fight


  • Culture

    > players who are not able to monitor their Screeps every day

    But this is not the problem, the problem is more the ease they get for "resetting" the timer. I'm fine with defending a room from being taken over for 14 days. I'm not OK with 13 days of invested time being reset in 1 tick.


  • Dev Team

    People who are looking for a PvP experience in which you can completely decapitate another strong opponent are probably going to be less satisfied with screeps.

    Yes, Screeps is not intended to be a truly PvP-based game. It is the Arena feature that we have in mind when we think about all the PvP fun in the first place.


  • Dev Team

    But this is not the problem, the problem is more the ease they get for “resetting” the timer. I’m fine with defending a room from being taken over for 14 days. I’m not OK with 13 days of invested time being reset in 1 tick.

    This can be solved by removing downgrade progress savings, right?



  • @dissi

    A nuke, when launched, takes 50K ticks to land, a safemode lasts for 20k ticks. It's not a viable counter for safemodes. You only get 200 ticks to "attack" the controller, this is way too short.

    I was under the impression that the cancellation happens upon launch instead of upon landing, is it the other way around?


  • Culture

    @artem, yes but only partially.

    Problem is that you still got about ~6 days of downgrading to do on a RCL 8 room.

    Obviously that can be done quicker with CLAIM creeps, but due to their expensive nature you can only create 1 for 500 ticks at a cost of 10500 energy (15 CLAIM 15 MOVE). Attacking a controller is currently a bit too expensive.

    I think that another part should be able to block controller upgrading ( WORK ) and should cost energy. if you can "build up" blocked time like reserving a controller while it costs energy you have an extra "cheaper" way of blocking the resetting of the downgrade timer more efficiently.

    Personally I think there should be a clear difference between blocking upgrades and downgrading controllers.



  • @dissi

    But this is not the problem, the problem is more the ease they get for "resetting" the timer. I'm fine with defending a room from being taken over for 14 days. I'm not OK with 13 days of invested time being reset in 1 tick.

    I strongly agree with this, it took a lot of effort to make that progress on the downgrade, doesn't seem fair to be able to wipe it out so easily.

     


  • Dev Team

    Problem is that you still got about ~6 days of downgrading to do on a RCL 8 room.

    Why is this a problem? A lot of Screeps players only check their colonies once a week. Such a player may have spent many days to upgrade this room to RCL 8, why do you want him to lose it in a single moment?



  • @Steeler, You have pretty easily rebuild those rooms you lost, even though you where offline during the attack. That's the main point, there is no real way to take over a room without completely wiping a player. We failed to get all your rooms, since we ran out of boosts. Everything we did to clear those rooms is pointless, since you can easily retake them, but getting them down to 0 is pretty much impossible. Yeah we could have used claim parts to attack the controller, yeah we could have used nukes, but that is pointless for taking over a room. You can still send attack creeps to that room, defend against mine while building a terminal and building towers with it to get a quick defence going in that room. Plus you only have to do that for 1000 ticks and the attackers would have to do pretty much the same, but without a terminal, without towers and for 150000 ticks for just a single level.
    The main reason for that statement was that even if you weren't online for a long time, as long as we don't get every single room you can easily prevent losing any room. Or, in other words, its not possible to take a single room from a player if he doesn't want to lose it, without wiping said player.

     

    @artem, its insanely balanced to the defenders favor, causing it to be unbalanced. I get the idea that the only goal this game has is reaching the number one spot in the ranking. There is currently no point to attack a single room of another player, unless you're prepared and capable of wiping said player. Even if you manage to completely wipe a room and destroy all of the other players structures, it doesn't downgrade to lvl 7 for a week. (well, ok, less if you use attackcontroller creeps). If the defender has a single hour, he can reclaim it easily, causing possibly 7 days of progress to be instantly removed. I don't mind it taking 2 weeks or so for the "domination" to unclaim/transfer ownership of the room, as long as that progress isn't instantly stopped. If I want to prevent myself losing a room thats been wiped I can just send a massive army to keep the room clear for just 1000 ticks. There is no way the attacker can spawn enough creeps in time to defend against that, thus the attacker will lose all progress he made on downgrading the controller within a single creep's lifetime.

     

    Again, we don't mind it takes a long time to get a room. Rooms shouldn't be easy to lose, even if you're on a holiday or something. What we do mind is the enormous amount of energy and boosts you need to commit to get a room down to 0, while the defender can undo all of that within a single creep's lifetime. Taking over a single room from a player is impossible, you have to wipe the entire player to get it, since he can then no longer rebuild that room (or he respawns, unclaiming said room instantly). The attacker has a constant and pretty big drain in his energy to block a room, whilst the defender only has small short burst of energy needed to keep the room. No way the attacker can prevent a room for resetting if you send 8 fully boosted creeps. The attacker probably can't even spawn a counter fast enough in those 1000 ticks, let alone spawn, move, attack and reblock the controller.

    The changes propose on this thread sound pretty good. Building up a "block" counter like a reserver would give the attacker time to attack the room again, before the defender can reset the entire progress. Downgrade is good for inactive players, not for attacking. With the blocking you both have to work to either reclaim the room or get it down.


  • Culture

    >>Why is this a problem? A lot of Screeps players only check their colonies once a week. Such a player may have spent many days to upgrade this room to RCL 8, why do you want him to lose it in a single moment?

    It isn't I encourage it. The downgrade process being reset in 1 tick is the thing that seems off. Here is a small example of why I think it should be revisited:

     

    Player D attacks player X
    Player D is online 24/7 because he has no life (me)
    Player X is online 2/1 because he has a life (the guy I attack)


    Day 1: Player D starts an attack on Player X

    •  Player X doesn't have time and thinks "I'll check this weekend"
    •  Player D is trying to get through the walls but they're quite high level walls ( 200 million )

    Day 2: After 24 hours of sustained attack Player D breaches the wall and demolishes all buildings. The timer starts to downgrade.

    • Player X still knows something is up but has no time
    • Player D start by placing a defensive squad around the controller to prevent reupgrade

    Day 3: 24 hours of downgrading have been ongoing, only 100k ticks left!

    • Player X still not online
    • Player D is happy, no attempt has been made yet to claim back controller

    Day 4: Same as the day before, 50K ticks downgrading left

    Day 5: Player D has "work" day today and can't be online / fix bugs / alter code

    • Player X has time, sees attack squad, performs a single attack and does 1 tick of upgradeController after keeping the room for 1k ticks.


    In this scenario in the end player D spent about 4 full days of attacking, which was negated in maybe 1 hour by Player X.

     

    This puts a HEFTY burden on the attacking player. A way to to downgrade controllers is not enough. If an atatcker could attack a controller for 4 days, it should take the defender at least 2~4 days to get back to the old levels using the same effort. The immidiate reset to 150k cooldown for RCL8's seems off.

    Possible solutions:

    • attackController mechanism which allows for "damage" to controllers. This can be repaird by doing upgradeController (hits / hitsMax like walls, but for ControlPoints)
    • allow buildup of blockedController time to at least 50% of controller tick downgrade levels (150K ticks can be blocked to 75K ticks). The defender should also perform attackController to remove said blocked property, maybe even twice as fast. 1 tick of attack on defender = 2 ticks off of the blockedController property.
    • allow the attacker to build up a structure over the existing controller which locks down a controller, and has to be attacked by the defending player, can be build up like walls

    There might be more solutions to this problem, but time-wise compensation seems more elegant.


  • Culture

    I tend to agree with qzar / dissi on this. Presumably, if you make a concerted attack against another player's room, your goal is to remove that room from their control. From a balance perspective, I originally thought that the stage where you're attacking a fully built room would be the most costly in terms of resources / time spent, but unless you wipe the player, the downgrade phase is far more costly, both in terms of resources / time and in terms of lost progress if there's a short lapse in your offensive push. That seems backwards.

    To look at it another way: let's say you have a GCL 15 player you want to attack with no allies to help them. All of their rooms are pretty close together, reachable by you, and have comparable defenses. Will it cost you more resource / time / effort to attack one of their rooms and push it down to RCL 0, or to attack all 15 of his rooms and remove his creeps / spawns so he can't rebuild? Assuming the player decides they don't want to lose that one room, this is not an simple question to answer, and that seems really silly, that it might be less expensive to wipe a big player than to take one room from them.


  • Dev Team

    The point of long downgrade timers is that you have to not only implement a burst attack (or more likely exploit some bug in the defender's code), but also prove your superiority of holding this room for some time in order to take the room from him. Otherwise it becomes too easy to steamroll a player with a simple defense glitch that he is not able to fix in the next 2-3 days due to lack of time. It is a much more dangerous aspect for Screeps player base than the relative lack of satisfying PvP (it's a programming game after all, not CS:GO; also, wait for arenas).

    The defender/attacker balance could be fixed by signficantly increasing the upgradeBlocked period from 1K ticks to X ticks, what do you think is the appropriate value?


  • Dev Team

    allow the attacker to build up a structure over the existing controller which locks down a controller, and has to be attacked by the defending player, can be build up like walls

    Looks like a nice skill for power creeps.



  • I can get on board with room attacks not being the central focus of screeps and it not being a PvP game in general. PvP isn't completely absent, it is just possible to prevent losing rooms if you have adequate economy and defense code. It doesn't even have to be particularly complex, the main prerequisites are boosting and tower-refilling. For nuking situations, the economy that would support out-ramparting a nuke is also necessary. This is enough to provide a reasonable challenge to any player without being overly difficult. If a player is able to meet that challenge, longevity in screeps is the reward.

    Players put a lot of hard work into their empires. It seems reasonable to give them the chance to guarantee they won't get wiped out. 

    The Arena does sound like a more fun way to PvP. You don't have to risk everything to show off your coding skills. There will still be a place for room-attacking, but I'm guessing this will be a more satisfying way to get your PvP fix.



  • Given the fact that you can't eliminate other players who have made the necessary preparations, it definitely makes sense to have your rivalries be friendly if at all possible. Talking like you are going to completely wipe out another player is just likely to be awkward when you can't actually do it. I've definitely had my fair share of contests with other players, but I've always done my part to try and make sure it is on good terms. Having a lot of negativity toward a player that you will likely be interacting with in a long time is just going to be fatiguing after a while.



  • @Artem: With only increasing the upgradeBlocked period you still have the "hard" reset. To have it balanced from the attackers perspective it would have to be 24 hours (20k ticks) at least, and then it becomes unbalanced from the defenders point of view. Therefore the hard reset just needs to be revised. Adjusting this value can't solve the issue.


  • Culture

    The general problem lies in the most expensive resource in screeps: time.

    If I spend 6 days downgrading a room to nearly level 7 it seems reasonable that the defending party also has to spend 4~6 days negating the damage you've done.

    I think a flexible upgradeBlocked should be in place, one you can build up with "attacker creeps" and one you can tear down with defending creeps.

    Something like creep.blockControllerUpgrade("some controller target");

    I think the maximum should be the amount of ticks a controller has left before downgrading, meaning you have to be there again when the downgrade of the controller is complete.

     

    Timeline of events example:

    1. RCL 8 room breached, 150k ticks to downgrade commences
    2. Attacker sends in controller-attacker creeps and starts upping the blockedUpgrade counter
    3. RCL 8 with 51K ticks till downgrade can be "blocked" for 51K ticks
    4. RCL 8 downgrades to RCL 7, the blockedUpgrade counter is reset to 0
    5. Attacker has to send in new upgrade blockers. Defender has to redo the whole RCL 7->8 grind.

    This also adds a nice "countdown until action" as the ticks close to leveling down become more significant, as the blockedUpgrade counter and ticksToDowngrade are close to 0. Battle ensues! (if you really want that room)

     

    It creates more fixed points in times on which people can act. Both attacking and defending players have a say in this, and the RCL 8 timer allows for 6~7 days of action/programming. The next 7 levels also allow for this mechanic to take place.



  • @artem, Adjusting the value would be a step in the right direction, but doesn't solve the core issue. The point is its easier to wipe a player then to take just one room. Like you said, the long timer is to give the defending player a chance to retaliate and retake the room. That part is something I fully agree with. However, right now it takes something like 2 weeks to get a room down, and if the defender has the room for a tiny fraction of that time the attacker need to restart completely. So the result is that if its a relatively small player you just wipe him/her from the game completely. Then the attacker has the option to "abuse" bugs in the defenders code. If you destroy just one room he can just watch the replays, fix the bugs, then retake his room. So, if you instead destroy the player completely, he has no chance to retake the rooms at all. This option is way way cheaper then taking a single room. Why is taking one room much harder then completely destroying a player? Like you said, attacks can be done in bursts. Every defence has at least 1 or 2 bugs or things the player has overlooked that can be "abused" in the attack. You can wipe a relatively large player within days, sometimes even hours if his defence has a crash or large bug. That is way more effective in time, resources and effort, when compared to taking a single room. If taking a single room is easier, I don't think we'll see player wipes all that often, since the goal of getting a certain room is achieved. We'll probably see some more localized battles for a few rooms, while you can still have large player battles if there is a conflict between the 2 (or more). 

    That said, screeps is profiled as a strategy game. Attacking other players is (to me at least) a core mechanic in strategy games. If you can't solve an issue diplomatically, you can threaten with, or use force. Currently that force is either wiping a player, or having no effect in the end. What I would like to see is that its easier to take single rooms, but way harder to completely wipe a player.



  • I don't have any suggestion right now, but I would like to emphasize what heggico has said. 

    > What I would like to see is that its easier to take single rooms, but way harder to completely wipe a player.

     



  • I think a three fold change is in place. 

    1. the Root Controller - this will make a big difference as it makes the RCL level "less" important in a single room.

    2. When you block an upgrade, it should reset the RCL progress to 0 for the level. So if a creep comes in with a claim part and attacks the controller That controller is set to 0 progress on the current RCL level.  This is important because it gives a "reward" to the attacking creep. Even if you don't loose the room, you have made it weaker. Yes, at RCL 8 you didn't really change anything, but at every other RCL level you have slowed down the defenders progress in that room.

    3. controller.upgradeBlocked should be cumulative. Every time you attack you should add 1 to upgrade blocked. This means that for all the time and energy spent to block a controller, the defender now needs to hold the room that long to get it back. The timer should start at 0.

     

    I think the root controller change helps because it makes the RCL of a single room less important. The reset of progress on the current RCL level is nice for slowing down people that are not RCL 8 and are expanding aggressively. By having to do the RCL level over again (specially ad 5-6-7 levels) the attacker is really slowing down the defender. This is important, as it is the "minor" win. No matter what, for a small investment, you can at least slow down an opponent. So failure to defend your room = takes longer to get to the next RCL level, but it's not a direct setback. 

    What I am getting at with number 2, is that it gives a defender a reason to defend instead of accepting a wipe and rebuild. The reason is minor, but important enough. Specially if the defender is trying to expand.

    Then with number 3 the attacker has the ability to make the defender hold a room for as long as he has held it. If I spend 4 days holding a room, you should have to spend 4 days holding a room to get back up to 100%. With the controller blocked the defender can still build, and still defend, but just can't safe mode or upgrade. This means that a defender would need to take a room back, control it, and hold that room for a length of time before he started building RCL again. The attacker would need to keep up "some" kind of prolonged attack, to make sure the counter didn't reach 0, but neither side gets an instant boost. 

    If the defender takes back control of the room seconds after the attacker goes though, no big deal, they rebuild and pickup where they left off. If the defender takes a week to regain control of the room, then they can still rebuild, but they can't upgrade their controller or safe mode till they have proven they can hold that room for a while.