PTR Changelog 2016-09-09


  • 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.



  • One point of clarification, if this is meant to protect players while they are offline, are there any plans to disable the protection upon a player logging in?  I think 10k ticks is fine provided the player is *actually* offline - if they are active during that period I feel they shouldn't be able to hide behind the protection for its entire duration.



  • While I agree that bigger players need to be more wipeable, or maybe there needs to be better incentive to kill them rather than ally them (or both) but I wouldn't mix that issue with this change. Granted that this makes them even harder to remove, but is that a real practical difference, or just theoretical one? Because there doesn't seem to be much in terms of established empires being wiped out in recent history.

    On the other hand this addresses a very big issue with screeps as it is - the sleep sniping, where it gives the enitre advantage to awake attacker leaving defender with glimmers of hope that his rooms will, somehow, withstand. Which without going through iterations of wipeouts is just not realistic. So maybe lets start working on some ideas how to resolve the core issue of large empires forming even larger alliances and being more-or-less unremovable, but not necessarily by combining it with this idea?



  • Either players need to start doing more war games so that they can test out their defense code, or there needs to be some other way of testing your defense code. You can't ensure that your defense logic will work unless someone attacks you. For most people, that isn't going to be a mutually agreed upon fight.



  • I have to agree with Waveofbabies on this. As a game mechanic it doesn't seem to fit well with everything else. I can appreciate that you want address the disadvantage of an absent player, but I think there must better way. For one thing, it makes attacking a lot less interesting because it completely removes the spontaneity of it. For that matter, it makes defending less interesting too. It is fun to try to think of a robust defense system that doesn't need you to be present. 

    I can only imagine this was inspired by people complaining that they were attacked while they were asleep or away from the game. I think the correct response to encourage people to actually code a defense. This mechanic isn't going to solve the problem, it still needs to be coded and managed well in order to be an effective part of your defense. People are still going to have bugs and get overrun why they aren't there. This will just make things less interesting for everyone in the meantime. 

    There are already mechanics that give the defender (who may or may not be present) an advantage: towers, walls, and ramparts. People need to just use these effectively. 

    The biggest problem with the unattended defense is that it is difficult to test. People's tower code fails, or their tower refilling falls behind, or their defender creeps have bugs, but they don't know these things. The PTR has the nice feature where you can summon invaders at will which is a great start, but due to unreasonably long ticks it is difficult in general to use the PTR. 

    I think it would help a great deal if a feature like this was available in the regular screeps world. There have been a couple times that I wished I could turn my creeps into hostile creeps to see if a defense feature was working. Maybe some sort of "simulate attack" feature that spawned invaders that were more difficult than usual and had more robust healing/wall breaching behavior. Maybe you could also easily end the attack at will to take the risk out of using the feature. Perhaps you could choose from a selection of commonly used invasion styles which will be a great learning opportunity for new players. Even just having a hostile creep that sits at the border and heals itself to drain the tower would help a lot and inform players about that commonly used tactic.

    I hope you choose a solution that is more in-line with the spirit of the game. It is a game about automation and planning for contingencies while you write your code. If you are encouraging players to be present as a solution to the problem, I think that is going in the wrong direction.


  • Dev Team

    One point of clarification, if this is meant to protect players while they are offline, are there any plans to disable the protection upon a player logging in?

    There is no mechanism to do that reliably. Many players call auth endpoints to gather statistics externally, they are considered always online because of that.

    The biggest problem with the unattended defense is that it is difficult to test. People’s tower code fails, or their tower refilling falls behind, or their defender creeps have bugs, but they don’t know these things.

    And the problem is that even a little bug will lead to you being wiped out completely. In most cases, the attacker will use a flaw in your defence not just to take one or two rooms from you, but to destroy your entire empire, and you wake up to an empty state when you can’t even test this bug again. In this case you have much less incentive to continue playing than if you had some rooms alive in safe mode.


  • Dev Team

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

    One boosted dismantler can go through a 10mil wall in 1.5 hours if defence is broken.



  • But this is going to make every attack become more drawn out and easier for the defender to make up for the subset of players that can't code decently robust defense code.  I honestly believe that the main reason people have trouble with defense is because they don't have a good environment to test their defense logic in.  The only way to do it right now is to either do it in PTR (which is slow) or by doing wargames (which is expensive).  Even with those limitations, I was able to get my defense code to be pretty solid through those wargames with Atavus.  If I had the ability to test out more scenarios, I could make even more robust code.

    Having that 10,000 tick delay just makes it more likely that people will have the chance to actually test out their defense code and fix it (although they're still having to test it in production in that scenario).  It's helping to ease some of the pain, but it's also going to make every significant assault a drawn out and tedious affair.  It's (partially) fixing one problem while also introducing an entirely different one.

    If I have to wait 10,000 ticks whenever I want to attack someone, that means I would have to wait over 9 hours at current tick rates.  That means that if I want to siege someone, I'll either have to start the siege in the morning & hope that they trigger safemode, or I'll have to automate sieging (which is a hell of a lot harder than automating defense).  If they do trigger safemode right when the attack begins, then I can head to work and do the siege afterward.  If safemode is instead triggered later, then there's a decent chance the room is going to come out while I'm sleeping.  Then 27 hours of window to siege.  But that doesn't mean that I'm going to be attacking when the defender is online. If I have an idea of what timezone they're in, I'll trigger safemode, wait for the cooldown, then attack while they're asleep.  It just means that I have to announce to them a day beforehand that I'm going to be sieging their room, which really sucks, because it completely removes the option for element of surprise (even surprising defense logic or resource balancing logic - not necessarily surprising the other programmer).  If the goal is to give the defender a chance to test out their code, I really don't think this is the best way to do it.

    It sucks to lose your shit, but it's also a part of every RTS out there.  It also sucks that players are gonna leave because they lose their rooms, but even more players are leaving because it's a programming game, and it's gonna be hard to play.


  • Dev Team

    It’s helping to ease some of the pain, but it’s also going to make every significant assault a drawn out and tedious affair.

    Yes, and this is a good thing, not a problem. This is a slow-paced game. You wait for days when you upgrade your room, you wait for days when you build your colony, why wiping it all out should be immediate?

    Screeps is not Starcraft. It is more like chess, where one game can last for many days.

    Then 27 hours of window to siege.

    16 hours actually. The window is 30,000 - 10,000 ticks.

    But that doesn’t mean that I’m going to be attacking when the defender is online. If I have an idea of what timezone they’re in, I’ll trigger safemode, wait for the cooldown, then attack while they’re asleep.

    The safemode trigger can be (and should be) programmed in such a way that it always ends when the owner is awake.

    If the goal is to give the defender a chance to test out their code

    Not really. Not to give a chance to test out, but to protect from fatal consequences of even a little flaw. Fatal consequences should be due to fatal superiority of the attacker. Minor bugs should lead only to minor damage.