PTR Changelog 2019-02-01: Power Creeps



  • @artch Significant, permanent loss based on a judgement call on what game state in 24 hours will be? Definitely falls under the difficult to code region imo. If PC are intended as a separate way of playing the game from a GCL focused player, switching a major PC from eco to defense represents a huge loss of your empire for the duration, and then another level loss again when you swap back. 2 level loss and 48 hours of missing a chunk of the engine that is driving your PC based empire is a harsh tradeoff to wrap in code.

    That's part of why I suggested having power creep templates and make swapping back to your old heroes be easier. Otherwise you pay a double price.


  • Dev Team

    @geir1983

    typing LOOK_POWER_CREEPS in the console gives me an "is not defined" error message in return when on the ptr (through the steam client)

    Oops, indeed, sorry for that. Fixed.


  • Dev Team

    @davaned It's rather indirect and obscure opportunity cost. If a player is not relying on PCs so much, he wouldn't consider this a loss at all. Cost should be direct, straightforward and obvious so that everybody understands clearly that reprofiling is not free.



  • @artch Ok, in the end of the day if you are set on punishing PC change in a clear permanent way it does do the trick. However the tokens are going to essentially render it non-existent unless players want to swap multiple times a week. If you really are set ensuring permanent penalty for changing is the 24 hour wait necessary? I feel like it goes against your previous comment.

    No delay-based mechanics would solve this unfair feeling. We either have to allow everybody to switch instantly, or disallow everybody to switch at all (or restrict it).

    I'm personally in favor of a delay since I feel it makes offense easier. However, I think that as from a game mechanics standpoint, having something based on RL time and not ticks is confusing as you cannot cleanly code for it and varies from shard to shard and day to day. I understand you did this because they are account resources, but the problem still remains that the game is experienced within game time. If you keep it, personally it seems more logical that the PC would be absorbed (die) at the beginning of the time period and at the end of it the levels are unlocked, rather than it suddenly poofing from somewhere on the map.



  • LOOK_POWER_CREEPS is missing from PTR (again?). I'm pretty sure Room.lookAt is referencing it, but the spatial register is missing.



  • @artch seems no powerbanks are spawning on the ptr? Its no dealbreaker, but processing power is one of my energy sinks, without it my storages are overflowing, especially with the regen sources power. If we could have it enabled it would be appreciated.


  • Dev Team

    @davaned

    However the tokens are going to essentially render it non-existent unless players want to swap multiple times a week.

    Experimentation periods cannot be enabled from the API, so players can't include them into their automatic reaction algorithms. And they are finite and should be used carefully. It's unlikely that somebody will spend two experimentation periods just for some random war.

    Also, I'd like to note that although we plan to replenish them in the future, but not necessarily up to 30 again, it might be any arbitrary increment depending on how big the game change is. It's better not to spend them under an impression that the next replenishment will make it 30 again.

    If you really are set ensuring permanent penalty for changing is the 24 hour wait necessary?

    The 24 hours wait is needed just to provide enough time to change your mind, since it's a permanent account loss and cannot be undone. Or imagine that someone with access to your computer just wanted to annoy you a bit and deleted all your PCs, then created them again and deleted again until you have GPL 0. With 24 hours delay, you have time to react and cancel.



  • I seem to have an issue where i apply the PWR_REGEN_MINERAL to a "X" mineral on PTR server where the function returns "0", but the power is not applied. I only have one "X" mineral, in other rooms it seems to work fine (on other minerals). I also have had two operators in the same room, both trying to apply the power at the same time, which may have caused the issue? Id of the mineral is "598342f3641acf0573578343"


  • Dev Team

    @deft-code Works for me:

    > Game.rooms.E13N15.lookForAt(LOOK_POWER_CREEPS, 18,23)
    < [powerCreep PC1]
    

    How do you reproduce it?


  • Dev Team

    @geir1983 This mineral deposit is on cooldown, so the power doesn't work. usePower doesn't check semantics of all powers, it simply returns OK in such cases, and the check is done server side.



  • hmm, ok applying to minerals on cooldowns was working earlier this week, i assumed that was the correct behavior.

    Edit: its also possible to apply to minerals in unowned rooms currently.


  • Dev Team

    @geir1983

    its also possible to apply to minerals in unowned rooms currently.

    Do you mean in rooms without controllers? That's the intended behavior.


  • Dev Team

    Update

    OPERATE_EXTENSION behavior is changed:

    Instantly fills 20%/40%/60%/80%/100% of all extensions in the room using energy in the target structure (container, storage, or terminal). Cooldown 50 ticks. Range 3 squares. Consumes 2 ops resource units.



  • @artch rooms with controllers, but no owner or built extractor. Was not sure if its intended.

    Btw; the regen_source works while the source has active cooldown, maybe it should be clarified that the regen_mineral power only works while the mineral is not on cooldown. The description of the powers are pretty much identical but dont indicate this difference in behavior.


  • Dev Team

    @geir1983 What does room.controller.isPowerEnabled() return for that room?



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

    room.controller.isPowerEnabled()

    it returned "is not a function" 😄, but it is enabled and returns true for the property.


  • Dev Team

    @geir1983 Which room?



  • @artch Won't it cause the attacker/defender discrepancy you stated could not be allowed?

    Everything else in screeps can't be undone. Despawning is a far more punishing road imo. It's a nice thought to prevent a malicious hacker from causing account damage, but no other similar mechanism exists. Someone with access could make you buy everything at max price and sell everything at .001 credit to delete your credits. They could completely respawn you, even copy/delete all of your code. I think adding the delay as "protection" from stupidity/malicious behavior is unnecessary. I think programmers know the cost and care required for accessing as root.

    If you want to keep it as a noob protection, I think there should be a param to override it just like clicking the "I'm sure I want to do this button", although I highly doubt anyone would choose to intentionally delay themselves.


  • Dev Team

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

    They could completely respawn you, even copy/delete all of your code.

    Neither of these actions are nearly as fatal as losing GPL to zero. Respawning is a natural process, almost all players experience it from time to time, most have smart enough code to build up from scratch. Code deletion is also not really harmful, since most veteran players already use external version control, and we also plan to introduce in-game code backup soon.

    But losing GPL is huge. Hernanduer has been very busy growing his GPL over 3 years, imagine his anger if he suddenly loses it all in a moment.


  • Dev Team

    Announcement

    We're going to schedule the release of Power Creeps for the next Monday, March 18. Stay tuned!

    🎓🎉🎢🎆🎂🎖🌠🎩🎉😀