PTR Changelog 2019-02-01: Power Creeps


  • Dev Team

    Update: started work on the UI.

    • Added "Power enabled" display mode to the world map.

    • Powers, effects, and their cooldowns are now displayed with the corresponding icons in the object panel:

      0_1549541867024_screenshot_powers.png 0_1549541877603_screenshot_effects.png

    Our frontend team is currently working on the Power Creeps creating and editing UI.

    👍


  • @artch The UI looks good! Only two things:

    1. Maybe show PC type in the object panel?
    2. The renewing animation seems to be only for normal creeps, not for PCs.


  • @artch The UI does look great. Love the clear powers on the screen with the CD's displayed.

    I do see the point in some cases for the efficiency. My thought process is that in most cases, it doesn't matter in what room the thing occurs. For example, I'd rather get 100% more energy in 1 room than 20% more energy in 3 rooms. Similarly, 1 observer able to see the whole world doesn't require multiple rooms. Lab processing is similar. But things like spawning etc, yeah it does make sense.

    Power effects don't stack. If effect of the same or higher level is already applied to the object, PowerCreep.usePower returns an error. If the effect level is lower, it replaces it with the new one.

    Clarification for the power stacking: It errors if you cast it again? So you HAVE to wait for it to expire to use it? This seems counterintuitive for things like DISABLE_TERMINAL, which has a 10sec duration and 8sec cd. Seems like its meant to give a buffer so that you can reapply the effect without needing that exact tick. Similarly in a number of other cases, why shouldn't I be able to refresh the OPERATE_SOURCE power whenever, rather than needing to wait for it to expire?

    Either add an override param to definitely use the power or allow it to overwrite powers of the same level as was cast, eg only errors if replacing a higher level with a lower one. IMO it's too restrictive to require waiting out the entire duration, especially on the offensive powers.



  • Right, things like disrupt terminal already sound hard to keep 100% uptime on. If you miss a tick, suddenly 300k energy can flow into a room. Currently you have to be there every 10 ticks exactly (and the race condition resolution isn't documented, same with safe mode and attackController...), which is a lot harder to maintain now power creeps have a TTL because you'll need at least two power creeps taking shifts. If the defender can push the power creep out for 10 ticks every few thousand ticks all the work it's done is wasted.

    Giving a two tick window for refresh would help a lot. Better would be to have it stacking so that if you were to cast it twice in a row the second cast would bring the disruption up to 12 ticks, and with each subsequent cast if you did it exactly on 8 ticks you could gain another 2 tick buffer. That way the defender doesn't just have to get momentary control to suddenly deliver everything he needs into the terminal.



  • Maybe each application of disrupt terminal incrementally reduces the maximum amount of resources that a terminal can receive in a single transaction, and this takes time to wear off. After enough consecutive disrupt terminals, the maximum it could receive in a transaction might be just 1000 of a resource. But each tick where the terminal isn't disrupted it increases, eventually returning to the 300k capacity limit.


  • Dev Team

    @davaned said in PTR Changelog 2019-02-01: Power Creeps:

    allow it to overwrite powers of the same level as was cast, eg only errors if replacing a higher level with a lower one

    Yes, this is how it should work, sorry, my mistake.

    Regarding DISRUPT_TERMINAL, we're going to implement it so that it blocks withdrawing from the terminal rather than incoming transactions.



  • @artch Perfect, that makes more sense. Glad it works that way!

    In terms of the terminal implementation, I'm less excited about that. You're disincentivizing using the terminal as storage, which as the other main storage location for a room isn't a great experience from a user side. Many players do an energy/minerals split from a code complexity standpoint.

    However, I do see why its more effective on offense that way, because it isn't negated by missing a single tick and getting a vast dump. Difficult choice. Might be better to just do both and render terminal inactive entirely. Power creeps are definitely pretty challenging to get right! Thanks for all your efforts and for engaging with the community.

    Edit: thought crossed my mind that dismantling terminal would let you access the resources, though at an obvious cost. Just to consider.



  • Limiting withdraw makes sense - makes it a lot less of a "burst" thing - sounds good to me.



  • Would it make sense to allow PCreeps to renew themselves via power they're carrying (consuming it)? This would allows a single operator to stay in or near the room for an entire siege.



  • @deft-code Hm, it's a possibility. It could be an expensive use of power. Like 100 power * PC Level. Doesn't cost you energy to process, but its permanent power lost.

    • Another option is to put a "renew power creep" ability on one of the power creeps types. That could cost some power, and it would help play into the interesting multifaceted power creep compositions.

    Oh interesting thought: Now that PC require renewal via Power Spawns, possible siege mechanic would be to have OPERATE_POWER_SPAWN able to shut down power spawn from spawning/renewing PCs. Then there is a timer on how long they can bunker up with PC's since they will have to run for another room/power bank.

    Also, there are so many powers right now. I'm still in favor of having some of the weaker eco/offensive powers get bundled into one similar to work parts being able to build and dismantle.

    EDIT: Also, another power creep power that could be awesome would be the ability to DISRUPT_REPAIR (possibly as an AOE) to prevent any structure from being repaired. This would be a great counter to the wall/rampart strat of ignore the attackers and just dump more energy into it.



  • @davaned said in PTR Changelog 2019-02-01: Power Creeps:

    Also, another power creep power that could be awesome would be the ability to DISRUPT_REPAIR (possibly as an AOE) to prevent any structure from being repaired. This would be a great counter to the wall/rampart strat of ignore the attackers and just dump more energy into it.

    I'm not experienced with this at all but I think it's difficult to keep repairing ramparts/walls with a disrupted terminal.



  • @duckymirror Agreed, it's certainly a lot more difficult. Although having ~2.5x current energy income via power creep boosting sources would certainly help ease that. It'll be super interesting to see how the meta shifts. 🍿



  • When defending in a siege renew vs respawn won't be a big difference. In either case if the PowerCreep or PowerSpawn is destroyed the defense is compromised. When a PC dies of old age it doesn't receive a cooldown.



  • I wanted to play with PowerCreeps on the PTR but the StructurePowerSpawn.createPowerCreep method is missing.


  • SUN

    @davaned Walls out seems to be a becoming more viable approach in order to protect the sources; the most dangerous unit (power creeps) can just duck into a room for a single tick anyway.

    Ultimately at the highest level of attack/defence I expect more complicated strategies such as moving towers and multi-room spawning of defenders (for flanking) to be practically necessary.

    But I hardly take part in combat so what do I know.


  • Dev Team

    @deft-code There is no such method in the API. Use PowerCreep.create and then PowerCreep.prototype.spawn.



  • Why are power creeps spawned on top of the power spawn? This is inconsistent with the way normal spawns work. Is there a plan to make normal spawns work like this in the future? If so, then I'm probably in favour. If not, then shouldn't power spawns work the same way?

    Can the power creep move back on top of a power spawn after moving off it?


  • Dev Team

    @systemparadox Because of technical limitations how power creeps are implemented. They exist in the cross-shard database, and main process is used for their spawning rather than processor, which doesn't have access to room terrain and all objects.

    Can the power creep move back on top of a power spawn after moving off it?

    No, it can't.


  • Dev Team

    Update

    • IMPORTANT CHANGE: When you permanently delete a power creep (either from the UI or the API) you will lose 1 Power Level in your account, i.e. your processed power decreases. This is the cost of reprofiling PCs. It is always the same regardless of a PC level and their number.

      This means you have to consider carefully how you create and upgrade your power creeps. Reprofiling PCs may be a viable strategy sometimes, but this can't be done very often, and you are incentivized to have static PC builds rather than reconfiguring them constantly for current situations.

      Power creep deletion will not happen instantly, but a 24-hours timer is started instead (see PowerCreep.deleteTime). You can cancel deletion from the UI at any time, or by spawning it. Also, a email is sent when a power creep is marked for deletion.

      When we first launch Power Creeps in production, we'll provide a 30-days period of free deletion without losing levels. The same approach will be taken when any balance changes occur, or new skills/classes are added.

      This timer is currently set to 1 minute on the PTR.

    • Added another bit of the UI:

      0_1549978518589_chrome_2019-02-12_16-31-20.png

      This button doesn't work yet, but will be deployed very soon.

    • Power creeps life time is increased to 5,000 ticks.

    • Removed StructurePowerSpawn.renewPowerCreep. Use PowerCreep.renew on a Power Spawn instead.

    😲


  • @artch Holy crap, that's really rough if you have a lot of power. Make sure you have something visible for whether this reset of a creep will cost you a level or not/tracker for free reset periods. Clarification on level cost: Does it reset exactly the value of that level, or does it also wipe away your progress towards the next level 😱 ? If you were close to the next level and you reset your level back will it return to its previous level immediately on next tick? On next time you gain power? (like RCL if you downgrade then upgrade)

    Quick question because I had thoughts about the power spawn having the renew method: Can you renew allied player's power creeps? For things like around the world trips or helping out allies in a siege. Now that it's on the power creep it seems less likely, but I thought it was kinda cool as an option.