[Power] Power creep ideas

  • Culture

    I'd thought I'd create a thread for power creep ideas. 

    So far I've come up with the following ideas for a power creeps:


    • SpawnUpgradeBlockStructure(controller)

    Generates an upgrade block structure which will be placed over a hostile structure. This way the defender has to destroy that structure before he can start upgrading again. This might be a fix for the currently imbalanced attacking/sieging of other players.


    • GeneratePortal(otherPowerCreep)

    This will create a portal between 2 power creeps (you'll need to have 2). The power creeps will become stationary for at least 1500 ticks after the action has been performed. The portal between the 2 power creeps will stay active as long as GeneratePortal is called every tick (just like observers).


    If any of you have more ideas add them in this thread! I'd love to hear good ideas

  • Great ideas here are some of mine.


    • Hack(creep, action, target)

    Force a hostile creep to take a CONST action (Attack, Move, Harvest, Repair, Drop etc) instead of their their owner's orders for that pipeline.


    • FireArtillery(target)

    A powerful ranged attack that is able to target anything in a room. Charges for several ticks, but is unable to move or use other actions while charging. After the charge is complete, it fires on the desired target. Potentially could require .charge() to be called multiple times without moving, followed by a call to .fireArtillery(target).


    • SpawnCreep(body, name, memory)

    Air carrier creep. Uses it's own Carry Capacity to spawn from instead of a room.


    • Shield(range)

    Creates a shield (functioning like ramparts in shielded tiles) in all tiles within range. Strength of shield based on the range used. Shield lasts for a few ticks or only one or something. 


    • Blink(pos)

    Teleports the creep to a location within it's current room. Probably would be best to keep it at a max range, but it would be interesting to be able to teleport around in a room.


    • Exhaust(creep)

    Increases the fatigue a hostile creep currently has (preventing it from moving until the fatigue is removed).


    • Disable(creep)

    Prevents a creep from taking non-move actions for this tick.


    • Swap(creep)

    Switches positions with a creep a few tiles away. 


    • Jam(creep, ticks)

    Force a creep to take the same actions it took the last tick repeatedly. Affected creeps do not cost CPU for the repeated use of the CONST commands, since they would not be executed from player code, and wouldn't retain any logic, just the move/attack/harvest etc and the target or direction.Can be used on allied creeps. Custom number of ticks to jam would only be usable on allied creeps, or possibly could just cost more power if more ticks were used on enemy creeps. Jammed creeps return ERR_JAMMED for any CONST functions the user attempts on them.

    Note that this could reduce CPU cost and overall server cost from any creep repeating cached actions. Specifically for large repair creeps and miners. Assuming the power creep traveled around jamming your static creeps.


    •  RangedTransfer() and RangedWithdraw()

    Function the same as transfer and withdraw, but ranged. Room-wide with a power or energy cost (like links) would be cool.


    • SendToTheFuture(creep)

    Sends a creep 500 ticks into the future. It vanishes for 500 ticks, reappearing 500 ticks later. It would basically just return ERR_BUSY as if it were spawning while it was in stasis.


    • DrainHits(creep)

    Steals hits from the targeted creep, healing the power creep. Cannot be used on structures.


    • TransferLifeTicks(creep1, creep2)

    Steals TicksToLive from an adjacent creep1, and gives them to an adjacent creep2. (warning highly broken without serious costs).


     Note that the abilities should actually cost power to use. Not just power to spawn the creep that could use them. Otherwise a lot of these abilities would be pretty busted, considering power creeps don't have ticks to live.

  • Culture

    I'm sure I'll have more later but mineral stuff has been on my mind: 

    • carveDeposit(mineralDeposit)

    Allows a power creep to mine a mineral deposit in a room that is not owned. Alternative would be buildExtractor(mineralDeposit) which allows the powerCreep to place an extractor construction site in an un-owned/reserved room and allow other creeps to mine from it.


    • buildConverter(roomPosition) 

    Someone mentioned in slack the idea to be able to convert ULKZOH minerals to a different one in that group with some conversion loss. This could allow the creep to place a construction site for such a building or to allow the creep to do the conversion itself. 

    • moveStructure(...)

    Because of "I'm so retarded with my legacy layout and too lazy to unload and rebuild storages/terminals/nukes".

    To be continued...

  • All of these have the alternative of having a single tick action with a longer cd to make the power creeps more dynamic.

    • Reinforce: Gives a structure damage resistance like a boosted tough part for as long as it is called, up to a maximum hits per tick. Alternative: Gives a boosted shield for 100 ticks with a cd.
    • Burrow: creep hides underground and turns invisible. (thought: observers could possibly still give vision). This gives vision of the room around it and allows it to surprise enemies. Possibility: can move with a huge fatigue cost while burrowed.
    • Phase shift: Makes an allied building or creep go invun for a short period of time, but prevents it from taking any actions. THIS CAN PROTECT FROM NUKES.
    • Poison trail: Creates a poison cloud in current location that lasts for x ticks. Deals damage to any creep that passes through it.
    • Augment: Gives target creep equivalent of T1 boosts on all its parts (for all action types). For boosts that only exist at higher levels this does not work.
    • Deep drilling: Turns source into a 4k source as long as ability is used.


    Passives: - don't need a target, still need to be activated each turn, mostly auras

    • Entropic field (or Decay): Causes rapid decay around it. Roads, containers, ramparts, power, ticksToLive???, etc. 
    • Immolate: Creep damages all creeps around it in a 5x5 area passively.
    • Thorn Armor: This creep reflects a portion of the damage dealt to it to its attack (like a power bank)

  • Culture

    Keep in mind these things are immortal and their skills (at least most of them) should involve some sort of leveling metric, so that you level up each individually (I imagine on an exponential ramp) with the power you have stored, making the ability(ies) more powerful.


    So building structures might be out of the question, but maybe it walks onto the mineral and acts as an extractor with X amount allowed to be mined per level.


    With the immortality in mind, anything that is quite strong (like an entropic field [though that does sound really cool]) will have either a crazy cost ramp or be almost useless at low levels. The cost ramp might not be so bad, but it'd definitely be best if things were useful at all levels. Of course, this is just speculation.


    We're still highly unsure of how these creeps will work so boosts may be out of the question. If these creeps don't have any normal creep parts that can be boosted, then any skill ideas making use of those parts won't work.


    My personal expectations:

    • Portal Generator - (same as GeneratePortal) linking 2 power creeps and allowing other creeps to walk though. Possibly between different players if they both call it at each other in the same tick. Possibly require energy based on distance and time since initial portal creation.
    • Snipe (same as Fire Artillery, this was a skill mentioned when power creeps were first brought up)
    • Deep Drilling (another that was mentioned when they were first brought up)
    • Boost Deposit - Increase a mineral deposit by X thousands of minerals. Large cooldown.
    • Forced March - Reduce fatigue acquisition of nearby creeps. This will help power creeps play into the role of "officers" for military events, key creeps to kill but very useful for attackers.
    • Intimidate - Prevent a creep from performing an action next tick. Could be called on multiple creeps at the same time based on level.
    • Inspire - Allow a creep to perform two of the same action in the same tick. Or alternatively, two actions in the same pipeline. This is meant as a counter to Intimidate, where only one of the skills (the first one called) would be blocked. (This skill was hinted at but not outright mentioned in previous talks of power creeps.)
    • Stasis - Rather than sending a creep to the future, lock it in a stasis field for X ticks. It's vulnerable during this time but its ticksToLive do not decrement. This can be used on resources or structures that decay, but would still allow interaction with them (like pickup/withdraws). The field time would be considerably shorter for resources/structures.
    • Split Defense - Take half of damage received by the target creep onto the power creep.
    • Freeze - Temporarily freeze over a swamp tile to allow creeps to pass as if it were a plain or road.
    • Share Range - Allow target creep's range to also include the power creep's range. The power creep must be in target creep's range for the skill desired. This would allow rangedHeals/builds/rangedAttacks/upgradeControllers to happen from 6 squares away if the power creep is in range of the target. Cannot be recursive.
    • Overload - Self destruct skill, damage increased and creep return to life cooldown reduced with level. Deals more damage the lower the creep's life is. Large-ish range.
    • Capture/Release - Capture any damage done to itself by friendly creeps and store it in an internal buffer. Release the damage in a 100%/60%/40% pattern based on range to target. 40% at range 3.

  • CoPS

    My suggestions:

    • powerCreep.transformBody(friendlyCreep, newBody)

    Changes the body parts of a creep in-field. Clears boosts. May be bundled with the ability to apply boosts that are carried by the power creep. This would allow for some interesting attack patters. eg. Try an attack strategy, change your creeps, try again.


    • powerCreep.fireBase(controller)

    Allows ~3 towers to be built and controlled in a reserved room. Requires CLAIM parts.


    • powerCreep.terraform(roomPosition, groundType)

    Changes the type of the ground. Can be used to speed your allies or slow your enemies. Consumes power per roomPosition. Requires WORK parts. Can not modify natural walls. (I like the design challenges created by walls)


    • powerCreep.denyPower(powerBank)

    Reduces the amount of power a powerbank gives when mined by an enemy. Requires ATTACK parts


    • powerCreep.recall()

    Teleports itself and all friendly creeps in the current room to the last friendly spawn the powerCreep was close to. Requires RANGE_ATTACK parts.


    • powerCreep.timeLoop(creep)

    In 5 ticks, the target creeps position will be reset to its current position. That position will be blocked for those ticks. 6 tick ability cooldown. Requires being near the target. Requires HEAL parts.


    I like the portal suggestion: It doesn't directly buff combat abilities, just extends the range of your influence. (something natural portals do already) it seems like it can be used for a number of different purposes.

    I oppose any ability that allows influence over a wall/rampart + 2 range, as this would break how almost all room defenses are set up.


    I'd find this scenario quite cool if it could occur:

    Rather than killing an enemy power creep, you could surround it on 8 sides, forcing that power creep to be a prisoner until freed by another wave of enemies.

  • Dear Screepers,

    The subject of power creeps is a sensitive one and I continue to worry about the impact it will have on game balance.

    Before outlining my own opinions on what power creeps could be in order to make them interesting but not alarming, let me issue a few warnings on what they should not be.

    DO NOT allow creeps to do a form of the following:
    1. Portal creation
    2. Teleportation
    3. Bypass defenses

    Allowing portal creation, even if associated with immense energy or resource cost, gives the elite players full access to the map. The difference in terms of code and resources between the top players and the rest is already insurmountable. This difference will only grow as our codebases grow older and more advanced.

    The majority of teleportation mechanics are likely to allow you to bypass regular defenses and therefore completely change the nature of combat.

    Abilities that would allow you to disable regular defenses or defense creeps are on the same category as teleportation. They drastically alter current combat logic and should be avoided.

    Power creeps should enhance the game by adding greater diversity to the tactics/strategies available to the game, but should not be a way to drastically increase the resources a player has or a way for them to breakthrough otherwise unassailable rooms.

    Now that this warning is out of the way, here are some of my thoughts on how power creeps could function.

    First, power creep abilities should scale according to the account level of power. Second, it would be interesting if the ability(s) of your power creeps are account related rather then on a per creep basis. You can switch from one option to another but take a huge hit to your accumulated power (eg 50%-100% loss).

    The biggest challenge is to make the effects of power creeps interesting but not overpowered. I like the concept of utility functions as the proposed moveStructure function, but it's hard to imagine how that would scale with levels.

    Economic focused creeps could allow one or more of the following:
    - reduce mineral regen cooldown by 1 per level per action
    - reduce energy regen cooldown by 1 per level per action
    - lift controller upgrade limit by 15 per level per action (RCL 😎
    - multiply controller RCL investment by 10% per level per action for 1 tick per level
    - generate 1 energy in near storage per level per action
    - generate 1 random in near terminal mineral per level per action
    - reduce energy cost of near terminal transfers by 1% per level per action for 1 tick per level
    - increase container decay time by 10 per level per action
    - increase spawn time of keeper lair by 100 per level per action
    - increase lab mineral processing quantity by 1 per level per action (consumption adjusted proportionally)
    - cancel link energy loss for 1 tick per level per action
    - decrease room likelihood of spawning invaders and their size/strength

    Military focused creeps could allow:
    - speed up creep spawning by 1 per level per action (more spawn time)
    - increase tower damage by 10% per level per action for 1 tick per level
    - increase nuker damage by 10% per level per action for 1 tick per level (applies when the nuke is launched)
    - increase damage structure receives by 10% per level per action for 1 tick per level
    - block structure repair for 1 tick per level
    - block controller upgrade for 1 tick per level (up to 20k ticks)
    - block structure use for 1 tick per level (bypass rampart)
    - increase time to live by 1 per level per action without affecting boosts (dangerous!)
    - delay portal decay time by 1 tick per level (dangerous!)
    - decrease mineral amount by 10 per tick per level
    - increase mineral cooldown by 10 per tick per level
    - increase energy source cooldown by 10 per tick per level
    - increase room likelihood of spawning invaders and their size/strength

    I would suggest that you get to choose 5 abilities/skills out of a list of abilities to configure the power creeps you generate. Changing your configuration ends up costing you a huge amount of the accumulated power and therefore an effective loss of levels. Equally important to make power creep levels logarithmic.

    There are still questions on how many power creeps can you have at the same time? I'd suggest one for starters. What is the cost of spawning the power creep? What are the default stats? Having the power creep with the same body parts as a regular creep, does not make much sense to me.

    Kind regards,

  • what about push creep 

    - the power creep would move to where the existing creep was, and would gain fatigue based on the size of both creeps.  This might enable quicker creeps to move away if they were in combat, and it would also allow the movement into position of 0 move creeps.