Discussion: Power Creeps

Power creeps is perhaps the most significant revamp of the Screeps gameplay since its launch. When in December 2015 we introduced the new game resource called “power” and announced the future system of its usage, we knew how drastically power creeps and powers would affect the game balance. This is why we didn’t rush to implement them, but we wanted to thoroughly understand and evaluate the whole picture. (Numerous other routine issues and the major business goal of the project – launch on Steam – didn’t speed up things as well.)

Now we are ready to present to you the game design document on how the power creeps system will look like. We are yet to polish and implement it in the game, so the estimate PTR launch schedule is March or April. For now, we want to discuss it with you and hear your comments. How do you think this important update will affect the game?

Feel free to post your comments and suggestions below or in this forum created especially for power creeps discussion.

Features

Power creeps may be defined as “hero units” from other strategy games. Here are some key facts about them:

  • They don’t age and don’t have ticksToLive properties.
  • They can be killed, but after their death, you can respawn them from scratch at any of your PowerSpawn (but with cooldown time).
  • Each power creep is unique and has its own name and a set of powers. You decide which power creeps you have, and which skills they have, through a special GUI in Overview. The API controls are not provided since obtaining new powers would be quite rare (it’s enough to log into the game once a week or even a month to upgrade one’s creeps, see more explanation in this comment below.)
  • You can level up any power creep or create a new 1-level power creep by spending a certain amount of power resources from your account (see the table in the Level section below). The list of powers of an individual creep grows with each level.
  • You can despawn any power creep in the GUI and redistribute its powers. But this operation takes a considerable cooldown time, from a few hours to a few days.
  • Your power creeps exist in your account even when they are dead (i.e. don’t exist in the game world). You generate a power creep, name it, and then you can spawn this creep in any PowerSpawn using its name like this:
    Game.powerSpawns['PowerSpawn1'].createPowerCreep('MyCommander1');
  • Power creeps don’t have body parts and fatigue, they always move at the maximum speed of 1 square/tick (even on swamps), can’t execute regular creep activities. They have standard carry and hits properties. With each level, the amount of hits grows by 1000, the carry capacity by 100.
  • All available methods are as follows:
    • move/moveTo/moveByPath
    • pickup
    • withdraw
    • transfer
    • drop
    • suicide
    • say
    • usePower
    The last method is the very one for which power creeps exist: leverage some skill available to this creep. This is done this way:
    Game.powerCreeps['Commander1'].usePower(PWR_ENCOURAGE,
            Game.creeps['Harvester1']);
 

Levels

You level up your creeps manually via the GUI. Select a creep that you want to level up and agree to spend the specified amount of power resource. To calculate the needed amount of resource, the sum of all levels of your power creeps is used. The higher this sum, the more expensive it is to level up any of them, as well as to create a new 1-level power creep (equivalent to levelling up an existing creep).

Here is a preliminary table of resource usage across levels (may be changed later): 

Lvl P Σ Lvl P Σ Lvl P Σ
0 1,000 0 80 156,588 5,821,183 160 345,024 25,664,340
1 2,219 1,000 81 158,813 5,977,770 161 347,490 26,009,364
2 3,537 3,219 82 161,042 6,136,583 162 349,958 26,356,854
3 4,925 6,757 83 163,276 6,297,625 163 352,428 26,706,812
4 6,365 11,681 84 165,513 6,460,901 164 354,900 27,059,240
5 7,850 18,046 85 167,754 6,626,414 165 357,375 27,414,140
6 9,373 25,896 86 169,999 6,794,168 166 359,852 27,771,516
7 10,928 35,269 87 172,248 6,964,167 167 362,331 28,131,368
8 12,514 46,197 88 174,501 7,136,416 168 364,812 28,493,699
9 14,125 58,711 89 176,758 7,310,917 169 367,296 28,858,511
10 15,762 72,836 90 179,018 7,487,675 170 369,782 29,225,807
11 17,420 88,598 91 181,283 7,666,693 171 372,270 29,595,589
12 19,100 106,018 92 183,550 7,847,976 172 374,760 29,967,859
13 20,799 125,118 93 185,822 8,031,526 173 377,252 30,342,619
14 22,517 145,918 94 188,097 8,217,348 174 379,746 30,719,871
15 24,251 168,434 95 190,376 8,405,445 175 382,243 31,099,617
16 26,003 192,686 96 192,658 8,595,821 176 384,742 31,481,860
17 27,769 218,688 97 194,944 8,788,479 177 387,242 31,866,602
18 29,551 246,458 98 197,233 8,983,423 178 389,745 32,253,844
19 31,346 276,008 99 199,526 9,180,657 179 392,250 32,643,590
20 33,155 307,354 100 201,822 9,380,183 180 394,757 33,035,840
21 34,977 340,510 101 204,122 9,582,006 181 397,267 33,430,598
22 36,812 375,487 102 206,425 9,786,128 182 399,778 33,827,864
23 38,658 412,299 103 208,732 9,992,553 183 402,291 34,227,642
24 40,516 450,957 104 211,041 10,201,285 184 404,807 34,629,933
25 42,386 491,473 105 213,354 10,412,326 185 407,324 35,034,740
26 44,266 533,859 106 215,671 10,625,681 186 409,843 35,442,064
27 46,156 578,125 107 217,990 10,841,351 187 412,365 35,851,907
28 48,057 624,281 108 220,313 11,059,342 188 414,888 36,264,272
29 49,968 672,338 109 222,639 11,279,655 189 417,414 36,679,160
30 51,888 722,306 110 224,968 11,502,294 190 419,941 37,096,574
31 53,817 774,194 111 227,301 11,727,262 191 422,471 37,516,515
32 55,756 828,011 112 229,636 11,954,563 192 425,002 37,938,985
33 57,703 883,767 113 231,975 12,184,199 193 427,535 38,363,987
34 59,659 941,471 114 234,316 12,416,174 194 430,071 38,791,522
35 61,624 1,001,130 115 236,661 12,650,490 195 432,608 39,221,593
36 63,596 1,062,754 116 239,009 12,887,151 196 435,147 39,654,201
37 65,577 1,126,350 117 241,359 13,126,160 197 437,688 40,089,348
38 67,565 1,191,927 118 243,713 13,367,519 198 440,231 40,527,037
39 69,562 1,259,492 119 246,070 13,611,233 199 442,776 40,967,268
40 71,565 1,329,054 120 248,430 13,857,302 200 445,323 41,410,044
41 73,576 1,400,619 121 250,792 14,105,732 201 447,872 41,855,368
42 75,594 1,474,195 122 253,158 14,356,524 202 450,423 42,303,240
43 77,619 1,549,789 123 255,526 14,609,682 203 452,975 42,753,663
44 79,652 1,627,409 124 257,897 14,865,207 204 455,530 43,206,638
45 81,690 1,707,060 125 260,271 15,123,105 205 458,086 43,662,168
46 83,736 1,788,751 126 262,648 15,383,376 206 460,645 44,120,255
47 85,788 1,872,487 127 265,028 15,646,024 207 463,205 44,580,899
48 87,847 1,958,275 128 267,410 15,911,052 208 465,766 45,044,104
49 89,912 2,046,122 129 269,796 16,178,462 209 468,330 45,509,870
50 91,983 2,136,033 130 272,184 16,448,258 210 470,896 45,978,200
51 94,060 2,228,016 131 274,574 16,720,441 211 473,463 46,449,096
52 96,143 2,322,076 132 276,968 16,995,016 212 476,032 46,922,559
53 98,232 2,418,219 133 279,364 17,271,983 213 478,603 47,398,592
54 100,327 2,516,451 134 281,763 17,551,348 214 481,176 47,877,195
55 102,427 2,616,777 135 284,164 17,833,110 215 483,751 48,358,372
56 104,534 2,719,205 136 286,569 18,117,275 216 486,327 48,842,122
57 106,645 2,823,738 137 288,975 18,403,844 217 488,906 49,328,450
58 108,763 2,930,384 138 291,385 18,692,819 218 491,486 49,817,355
59 110,885 3,039,147 139 293,797 18,984,204 219 494,067 50,308,841
60 113,013 3,150,032 140 296,212 19,278,001 220 496,651 50,802,908
61 115,146 3,263,045 141 298,629 19,574,212 221 499,236 51,299,559
62 117,285 3,378,191 142 301,048 19,872,841 222 501,823 51,798,795
63 119,428 3,495,476 143 303,471 20,173,890 223 504,412 52,300,618
64 121,577 3,614,904 144 305,896 20,477,360 224 507,002 52,805,030
65 123,730 3,736,481 145 308,323 20,783,256 225 509,594 53,312,032
66 125,888 3,860,211 146 310,753 21,091,579 226 512,188 53,821,627
67 128,052 3,986,100 147 313,185 21,402,332 227 514,784 54,333,815
68 130,220 4,114,151 148 315,620 21,715,517 228 517,381 54,848,599
69 132,392 4,244,371 149 318,057 22,031,136 229 519,980 55,365,980
70 134,570 4,376,763 150 320,497 22,349,193 230 522,581 55,885,961
71 136,752 4,511,333 151 322,939 22,669,690 231 525,184 56,408,542
72 138,938 4,648,085 152 325,383 22,992,629 232 527,788 56,933,726
73 141,129 4,787,023 153 327,830 23,318,012 233 530,394 57,461,513
74 143,325 4,928,152 154 330,279 23,645,842 234 533,001 57,991,907
75 145,524 5,071,476 155 332,731 23,976,121 235 535,610 58,524,908
76 147,729 5,217,001 156 335,185 24,308,852 236 538,221 59,060,518
77 149,937 5,364,729 157 337,641 24,644,037 237 540,833 59,598,739
78 152,150 5,514,666 158 340,100 24,981,679 238 543,447 60,139,572
79 154,367 5,666,816 159 342,561 25,321,779 239 546,063 60,683,020

Lvl - Current power level
P - Processed power resource needed for level up (P = pow(1.15; Lvl) * 1000)
Σ - Total power resource processed to level

With each new level, you have to choose one of the three powers available on this level. The powers options available at any level of a creep development are fixed for each class. Your choice at each level is to choose one of the three suggested options. It can be a new power or levelling up an existing one. Each power has a level between 1 and 5, and the level determines its effectiveness.

Have a look at this example:

Here you can see the process of levelling up a 7-level creep where it is sequentially assigned powers A, B, A, C, C, A, D. As a result, this power creep will have the following powers:

  • A lvl 3
  • B lvl 1
  • C lvl 2
  • D lvl 1

You can’t upgrade a skill higher than level 5. Also, you can’t upgrade all available powers to level 5 due to a level cap for individual classes.

Classes

Each power creep belongs to one of several available classes that you assign on its creation. Once assigned, a class cannot be changed later (unless you destroy a creep and create it from scratch). The class determines the set of powers available to the creep. There will be 3 classes in the game upon launch:

Operator

A creep working mainly in the rear, at your base, though it can be used as a saboteur in offensive operations. The list of powers:

OPERATE_SPAWN Reduce spawn time by 10/30/50/65/80%. Effect duration 1000 ticks, cooldown 300 ticks. Consumes 100 U/U/UO/UHO2/XUHO2.
OPERATE_EXTENSION Extend capacity by 50/100/200/300/400 units. Effect duration 1000 ticks, cooldown 50 ticks. Consumes 5 U/U/UH/UH2O/XUH2O.
OPERATE_OBSERVER Extend range by 10/20/30/100/1000 rooms. Effect duration 1000 ticks, cooldown 900 ticks. Consumes 20 L/L/LH/LH2O/XLH2O.
OPERATE_TOWER Increase effectiveness by 10/20/30/40/50%. Effect duration 100 ticks, cooldown 10 ticks. Consumes 2 G/G/GH/GH2O/XGH2O.
OPERATE_LAB Increase reaction amount by 2/4/6/8/10 units. Effect duration 1000 ticks, cooldown 50 ticks. Consumes 10 K/K/KH/KH2O/XKH2O.
OPERATE_TERMINAL Decrease transfer energy cost by 10/20/30/40/50%. Effect duration 1000 ticks, cooldown 500 ticks. Consumes 100 L/L/LO/LHO2/XLHO2.
OPERATE_STORAGE Increase capacity by 500K/1000K/1500K/2000K/3000K units. Effect duration 1000 ticks, cooldown is 300 ticks. Consumes 50 Z/Z/ZH/ZH2O/XZH2O.
EXTEND_SOURCE Increase source energy amount by 1K/2K/3K/4K/5K units until the next regeneration cycle. Cooldown 100 ticks.
EXTEND_MINERAL Increase mineral deposit amount by 20/40/60/80/100 units. Cooldown 100 ticks.
DISABLE_SPAWN Increase spawn time by 10/20/30/40/50%. Effect duration 5 ticks, no cooldown. Range 20 squares.
DISABLE_EXTENSION Decrease capacity by 10/20/30/40/50%. Effect duration 50 ticks, no cooldown. Range 20 squares.
DISABLE_TOWER Reduce effectiveness by 10%/20%/30%/40%/50%. Effect duration 1 tick. Entire room range.
CORRUPT_SOURCE Destroy all energy contained in a source until the next regeneration cycle. Cooldown 250/200/150/100/50 ticks.
SHIELD Create a temporary rampart structure on the same square with 5K/10K/15K/20K/25K hits. The structure lasts for 50 ticks and then disappears. Cooldown 20 ticks. Consumes 100 energy.

Maximum level: 24. Levelling table:

1 OPERATE_EXTENSION OPERATE_TOWER DISABLE_EXTENSION
2 OPERATE_OBSERVER OPERATE_LAB EXTEND_SOURCE
3 OPERATE_SPAWN OPERATE_EXTENSION DISABLE_EXTENSION
4 OPERATE_TERMINAL EXTEND_MINERAL DISABLE_SPAWN
5 OPERATE_STORAGE OPERATE_LAB EXTEND_SOURCE
6 OPERATE_EXTENSION OPERATE_TOWER DISABLE_TOWER
7 SHIELD CORRUPT_SOURCE EXTEND_MINERAL
8 OPERATE_OBSERVER OPERATE_SPAWN OPERATE_STORAGE
9 OPERATE_TERMINAL DISABLE_TOWER DISABLE_SPAWN
10 OPERATE_TOWER OPERATE_LAB CORRUPT_SOURCE
11 OPERATE_SPAWN SHIELD DISABLE_EXTENSION
12 OPERATE_TERMINAL CORRUPT_SOURCE EXTEND_SOURCE
13 OPERATE_OBSERVER EXTEND_MINERAL DISABLE_SPAWN
14 OPERATE_STORAGE DISABLE_TOWER SHIELD
15 OPERATE_SPAWN OPERATE_TOWER OPERATE_EXTENSION
16 OPERATE_OBSERVER CORRUPT_SOURCE OPERATE_LAB
17 OPERATE_TERMINAL SHIELD DISABLE_TOWER
18 EXTEND_SOURCE EXTEND_MINERAL OPERATE_STORAGE
19 OPERATE_SPAWN OPERATE_EXTENSION DISABLE_SPAWN
20 OPERATE_TOWER OPERATE_OBSERVER DISABLE_EXTENSION
21 OPERATE_LAB CORRUPT_SOURCE SHIELD
22 OPERATE_TERMINAL OPERATE_STORAGE EXTEND_SOURCE
23 DISABLE_SPAWN DISABLE_EXTENSION DISABLE_TOWER
24 EXTEND_MINERAL OPERATE_SPAWN OPERATE_TERMINAL

Commander

This power creep is not very useful on its own, but it’s a team player. It influences and affects regular creeps, both friendly and hostile. The list of powers:

ENCOURAGE Remove all fatigue of the target creep. Cooldown 10/8/6/4/2 ticks. Range 20 squares.
EXHAUST Add 2/4/6/8/10 fatigue points to the target creep per each non-MOVE body part. Cooldown 10/8/6/4/2 ticks. Range 20 squares.
DEFEND Blocks up to 100/200/400/600/800 damage inflicted to the creep on the next tick. Cooldown 5 ticks. Melee range.
SUMMON Instantly relocates your own creep in the same room to the square next to the power creep. Cooldown 10/8/6/4/2 ticks.
SIGHT Increase range of all ranged abilites of the target creep by 1 for the next 5 ticks. Cooldown 10/8/6/4/2 ticks. Range 20 squares.
RENEW Adds time to live to the target creep. Consumes energy. The formula is the same as in StructureSpawn.renewCreep. Cooldown 5/4/3/2/1 ticks. Range 20 squares.
DISABLE Disables all actions of the target creep on the next tick. Cooldown 10/8/6/4/2 ticks. Melee range.
BERSERK Increase damage inflicted by a creep by 100%, but also incoming damage by 100% for the next 5 ticks. Cooldown 10/8/6/4/2 ticks. Range 20 squares.

Maximum level: 14. Levelling table:

1 ENCOURAGE SIGHT EXHAUST
2 EXHAUST ENCOURAGE DEFEND
3 ENCOURAGE SUMMON SIGHT
4 DEFEND DISABLE SIGHT
5 SUMMON RENEW EXHAUST
6 DISABLE BERSERK DEFEND
7 ENCOURAGE SUMMON RENEW
8 DISABLE SIGHT BERSERK
9 DEFEND DISABLE EXHAUST
10 ENCOURAGE RENEW SUMMON
11 SIGHT BERSERK DEFEND
12 SUMMON DISABLE EXHAUST
13 BERSERK RENEW ENCOURAGE
14 BERSERK DEFEND RENEW

Executor

This creep class prefers working alone. Due to its skills, it’s a very effective performer in your economy or as a war machine when defending or attacking. The list of powers:

HARVEST_ENERGY Harvest 200/400/600/800/1000 energy units from an energy source. Cooldown 20 ticks.
HARVEST_MINERAL Harvest 200/400/600/800/1000 mineral units from a deposit. Cooldown 40 ticks.
REMOTE_TRANSFER Remotely transfer resources to any creep or structure in 20 squares range. Cooldown 50/40/30/20/10 ticks.
MASS_REPAIR Repair all structures in 10 squares range area for up to 1000/2000/3000/4000/5000 hits in total. Repair effect is distributed between all structures. Consumes up to 10/20/30/40/50 energy.
SNIPE Inflict 100/200/300/400/500 damage to the target creep in 10 squares range. Cannot be used with structures. No cooldown.
PUNCH Inflict 300/600/900/1200/1500 damage to the target creep in melee range and disable all his actions on the next tick. No cooldown.
DEMOLISH Inflict 5K/10K/15K/20K/25K damage to the target structure in melee range. Cannot be used with creeps. Cooldown 10 ticks.
REINFORCE Make the creep itself invulnerable for attacks on the next tick. Cooldown 20/18/16/14/12/10 ticks.
REFLECT Reflect 50% of damage inflicted to the power creep back to an attacker creep. Effect duration 5 ticks, cooldown 20/18/16/14/12 ticks.
KILL Instantly kills any creep in 10 squares range if it's not inside hostile ramparts. Cooldown 900/800/700/600/500 ticks.

Maximum level: 17. Levelling table:

1 HARVEST_ENERGY HARVEST_MINERAL REMOTE_TRANSFER
2 HARVEST_ENERGY HARVEST_MINERAL SNIPE
3 REMOTE_TRANSFER PUNCH DEMOLISH
4 MASS_REPAIR HARVEST_ENERGY REMOTE_TRANSFER
5 SNIPE REFLECT REINFORCE
6 HARVEST_MINERAL MASS_REPAIR KILL
7 PUNCH REINFORCE DEMOLISH
8 HARVEST_ENERGY MASS_REPAIR SNIPE
9 REFLECT REINFORCE KILL
10 REMOTE_TRANSFER REFLECT DEMOLISH
11 MASS_REPAIR SNIPE PUNCH
12 HARVEST_MINERAL REFLECT KILL
13 PUNCH DEMOLISH REINFORCE
14 HARVEST_ENERGY REINFORCE KILL
15 REMOTE_TRANSFER MASS_REPAIR HARVEST_MINERAL
16 SNIPE REFLECT KILL
17 DEMOLISH PUNCH SNIPE

Conclusion

These classes with their powers is a preliminary picture of how we view the game balance at the moment. It’s open to change, so please leave your comments and suggestions below.

In general, we want to reach the point where power creeps become an independent scale of your game development in Screeps, parallel to the Global Control Level scale. As you can quantitatively increase your abilities with each new GCL (you can build more rooms, have more CPU, more creeps), in the same way the sum of your Power Levels will increase your abilities qualitatively by unlocking new powers and boosting their effectiveness, which leads to increased effectiveness of your economy and viability of your colony.

Using one high-level creep will allow you to achieve the same result as with 5 or 10 regular creeps and consume less CPU. You can scale your game influence the same way as through boosting your GCL, but the process will be deep rather than broad.

At the same time, the levelling system does not allow you to create a power creep exclusively for one specific skill and thus a very simple behavior logic. Any high-level creep will have several useful powers, so in any case boosting its effectiveness will require you to solve a difficult, but interesting task of developing its AI. Since any creep even in the same class can have an individual set of powers, its behavior logic can be unique and different not only from that of other players’ power creeps, but also your own other power creeps.

This significantly expands the scope of interesting challenges a player faces in Screeps, and we hope it will add fun and variety to the game process.

Have more questions? Submit a request

Comments

  • neomatrix

    That's cool, thank you for the news.

    There is the only comment for now: the SHIELD power is mentioned, but not described.

  • Mototroller

    Some thoughts about "related changes": decreasing of spawns amount seems to be an extremely dramatic change (because it's not about balance, but core logic).

    The usage of PWR_OPERATE_SPAWN isn't the same thing as using of several spawns cause of its mineral cost (!), so instead of simplified/unified spawning logic players will need to develop a pretty difficult additional logic for 7-8 RCL: Power Creeps spawning (a), updating them manually (b)(!), making them travel between rooms to instantly buff spawns (c), producing U compounds (d)(!!), doing logistics of these compounds for PC usage (e)!

    Looks brutal. For now base with 3 spawns can process 1-3 reserved rooms + 1-2 SK rooms, but after update such a task can become undecidable or extremely difficult.

    Instead of being are additional(!) optional(!!) special skilled units, power creeps are assumed to become a necessity for even old basic actions? It's weird.

    Edited by Mototroller
  • Pundemonium

    How about instead of the 'pick one of three abilities' there is a more MOBA approach where you cannot simply choose to level up one ability all the way to five, but require a minimum creep level to be able to level up an ability?

    It allows us to build a creep for a purpose (while still forcing us to have at least some generalization) and doesn't force force us to have potentially dead levels for a creep.

    We shouldn't have to ask ourselves 'are we going to hurt ourselves' when we level up and this way it allows for more broad tactics and lowers the bar for entry if we want to optimize our power creeps.

    Edited by Pundemonium
  • daboross

    Very exciting!

     

    My two cents on the issues:

     

    - Even if it would be used by less than 1% of players, an in-game API for creating, destroying and upgrading power creeps should be provided. This game is advertised as an automated programming game, and even if no one uses it, an in-game API should be available for completeness.

    Having a major feature such as power creeps not available to the API will be offputting to newcomers looking for a true programming game, even if after joining they would decide not to use it. I'd be in support of an API even if it was just four methods: Game.powers.getExistingCreeps() (object of {name: {class: cls, level: lvl}}), Game.powers.upgadeCreep(name, path) (path is 0, 1, or 2 for the first second or third column), Game.powers.newCreep(name, class, path), Game.powers.destroyCreep(name).

     

    - Separate from that: is there a planned way to allow getting what abilities a creep can use? I see that there's a usePower method, but there is no mention of any script access for which power abilities are valid for any given power creep.

     

    - Lastly, I'm against adding a Room.spawn property. I'm OK with spawns being limited, but I believe this limitation should not also include an API change which then forces it to stay. Having Room.spawn would be confusing for any legacy rooms which have 2 extra inactive spawns, and it would prevent anyone with a private server from increasing the spawn count locally. Sure, it's somewhat convenient, but we already have Game.spawns for easy spawn access, we don't need Room.spawn as well.

    Edited by daboross
  • kshepard

    Very cool to see this fleshed out! The power creep abilities are exciting and will be a nice challenge to implement. Like Motoroller, I had the most visceral response to the "related changes" section, particularly the number of spawns, which seems like it will be a major breaking change that will be hard to adapt to. Also, as someone who is striving for full automation, I'd really like the ability to perform power creep configuration via the API.

    One more thing regarding the spawn reduction: it's going to be really hard to start harvesting power when an RCL8 room can only have one spawn. You currently need several waves of beefy creeps to take on a power bank, so getting power from scratch will probably require building up a few RCL8 rooms first and then sending coordinated squads from all of those rooms at once. Seems like a really tough barrier to entry.

    Edited by kshepard
  • W4rl0ck

    I'm fine with having some stuff that needs actually someone logging in and do stuff in the UI.

    I don't have done any math... but the reduce of spawns sound brutal to me. So you need a Lvl 9 Powercreep in every room to have the same spawn rate you currently have?

    Using renew is quite expensive cpu wise .. and since it's only usable on idle spawns it even gets worse with only one spawn in the room.

  • Syncaidius

    There is only two things i dislike about the power creeps changes.

    Reducing the spawn limit from 3 to 1 - Firstly, it'll make renew() even more useless than it currently is because we'll have even less spawn time available (without power creeps) to throw some renew() calls around.  Secondly, it'll make it much harder for newer players to compete versus players who are able to use power creeps. Newer players won't be able to boost their spawns to compensate for the reduced limit. Not having a chance in hell to compete farily against other players usually translates to the newer players not sticking around for long, which isn't exactly great for Screeps, considering the potential player pool is already small.

     

    "The API controls are not provided since obtaining new powers would be quite rare (it’s enough to log into the game once a week or even a month to upgrade one’s creeps)."

    This is probably the worst part. It breaks the essence of Screeps because we can't automate it. Hopefully I'm not wrong when I say that many players came to Screeps because of the expectation to programme an AI to make decisions and control your creeps/bases/trading for you.

    Being able to extend your AI to decide what new power to pick based on a bunch of conditions/situations IMO, would make this massively more fun to "play" with, simply due to the nature of programming itself. We all make mistakes. Fighting power creeps that came out of the forge "not-so-perfect" (due to human error) would be pretty fun IMO, as it is with most of Screeps right now.

    Besides those two issues, I like what you have in store devs!

    Edited by Syncaidius
  • Sheeo

    I agree with most of the other comments so far, a significant ++ to the spawn reduction change.

     

    It seems to me the Operator class already has more than enough to concern itself with, so I would simply remove the OPERATE_SPAWN power (Adjusting the max lvl, which is already higher than the two other classes) and remove the spawn changes. It makes it even more impossible as a newer player to compete against older players--this curve is already very hyperbolic, and if anything, should be flattened--not extremized.

     

    I would also like to see a rebalance of renew(), which feels like it should be rewarding the player for writing logic to bring his creeps back to base instead of punishing him with an inordinate amount of CPU costs.

    Edited by Sheeo
  • Avatar
    Dissi

    (seriously, **** formatting in zendesk)

     

    Feedback/issues/ideas:


    You can destroy any power creep in the GUI and regain in your account 100% of power resource spent on its levelling.
    - Nice, you thought of "whoops" issues or general meta-game changes

    They can be killed, but after their death, you can respawn them from scratch at any of your PowerSpawn (but with cooldown time).
    - What would the respawn time be? 1000 ticks per level?


    Each power creep is unique and has its own name and a set of powers. You decide which power creeps you have, and which skills they have, through a special GUI in Overview. The API controls are not provided since obtaining new powers would be quite rare (it’s enough to log into the game once a week or even a month to upgrade one’s creeps).
    - API access seems like a must, you can plan ahead and let the power creeps manage their own abilities, a simple "skill upgrade queue" would be required to plan ahead. This is obviously handled by user code.

    They have standard carry and hits properties. With each level, the amount of hits grows by 1000, the carry capacity by 100
    - Hitpoints seem a bit high
    - Carry seems a bit low
    Ideas:
    Difference per class
    - Operator - more CARRY less HITS
    - Commander - More HITS less carry (would require haulers for RENEW)
    - Executor - More CARRY less HITS

    Classes:
    - Love the difference between classes.

    You can’t upgrade a skill higher than level 5. Also, you can’t upgrade all available powers to level 5 due to a level cap for individual classes.
    - Good! No god creeps

    Cooldown
    - Is the cooldown creep-wide or PWR_*-wide?

    Maximum level and Levelling table
    - Should be no difference between max levels on power creep roles.
    - Levelling table width should be based on amount "power features" a creep has to compensate for the new level limit.

    Powers:
    Naming:
    - Prefix with class name ( CMDR_* OPER_* EXEC_ )
    Effects:
    - Will affecting powers be accessible using some form of SomePrototype.affectedByPowers[] ?
    Scaling:
    - Idea to do scaling based on another scale in stead pf linnear (HARVEST_ENERGY goes from 200/400/600, maybe 200/500/1000/1750/4000)?

    OPERATE_LAB
    - Does this make it consume more product? Or produce more using less?
    SUMMON
    - Can this be used to summon power creeps as well?
    - Would rename to RELOCATE
    SHIELD
    - Can't find the definition in the table, was this ment to be DEFEND ?
    EXTEND_SOURCE
    - Range limit?
    DISABLE_TOWER, DISABLE_EXTENSION, DISABLE_SPAWN
    - Name implies disabling, would rename to CORRUPT_* to match CORRUPT_SOURCE
    SNIPE
    - rename to RANGED_SNIPE_ATTACK to mimic ranged*Attack
    PUNCH
    - renamte to ATTACK to mimic Creep.attack
    REFLECT
    - Does it reflect to structures as well?
    - What about nukes?

    The maximum number of Spawns in a room will be decreased from 3 to 1
    - Feels to be too game breaking in the current state of the game. Many people depends on extra spawns, Please do not do this!


    Ability to harvest energy in unreserved rooms will be disabled
    - Feels OK

    The amount of energy in sources will be changed according to the following rules
    - Long overdue buff for 1-source rooms

     

    Edited by Dissi
  • ScottyC

    Very exciting stuff! I have my input of course, for whatever it's worth:

    I'll echo the general sentiment I've seen - the spawn reduction is too harsh, especially on newer players. I could probably swing into it OK on my rooms with my current mineral stores and already farmed power, but it would be crippling if I was just starting out. I really think the spawning increases needed to be evened out, not made even more lopsided. If there was concern about the number of creeps able to be pumped out by one room, perhaps increase the spawn time per part to 5 instead of 3? I'd also suggest the second Spawn should be buildable at RCL 5, and the third at RCL 8. At the very least, operate_spawn shouldn't use minerals.

    I would really love to see a "Teleport" ability added into the game for power creeps to give power to people who create distributed/wide empires instead of centralized ones. Something akin to this:

    EXECUTOR:
    Create_Gateway: Channels a gateway at its current location after 250/200/150/100/50 ticks that allows creep movement between Gateways. Persists for 250 ticks. Cooldown 1500 ticks.

    The gateway would require two power creeps working in tandem to be effective, of course.

    Edited by ScottyC
  • Bahzur

    I joined Screeps just a month ago and didnt bother yet about getting power, ofcourse because im not even able to gather it yet. I like what comes in the future with building these new creeps. The change to energy sources and neutral rooms seems to make sense, it gives both 1 source rooms and 2 source rooms different advantages and makes 1 source rooms also desireable.

    But what really scares me is the planned change to spawns: How the hell do have new players any chance to even remotely compete with players who had over a year (!) to prepare for powercreeps? Since it takes an atleast somewhat bigger powercreep to get near the then old spawnrates, it becomes a massive hurdle to progress any further. As a sideeffect youre less dynamic because theres only one type of creep you can spawn at a time.

    Please do not lower the possible spawns to 1 per room!!!

  • Jedislight

    Purely from a design perspective: The spawn changes that make power and spawn increases nearly mandatory will make all the other neat power abilities a non-option. Removing the spawn related changes from this system would increase player choice dramatically.

  • Avatar
    Artem from Screeps

    As to why we don’t allow controlling powers set via API, here are some more reasons for it (in the order of decreasing importance):

    1. We don’t want to make the configuration of your power creeps part of the automatic process that can change and adapt depending on circumstances. It should not be an often situation when you unassign some power creeps in your account, re-create them with another set of powers to solve some in-game task, and then rewind everything back. This would discredit the whole idea of constant leveling up of your "heroes" and their skills as something that is tied to your account rather than the game world.

      The possibility to rollback assigned power levels and re-distribute them again is intended only for the purpose of correcting errors of planning rather than some common, routine operation. This is why we’ll impose a very long cooldown time on it (up to several days) depending on how often you did such rollback in the past.

      So it’s no use doing these operations via API – they are too important and responsible (among other things, due to constant increase of rollback cooldown time) to rely on code.

    2. This will create a certain level of uniqueness of players’ accounts even when they use shared code base. Adapting someone else’s script will require not only assigning it to one’s rooms but also creating a certain set of power creeps becase a script can’t do so on its own.

    3. Satisfaction from game actions. Yes, Screeps is about automation and AI development. But any game has some operations that give you a sense of satisfaction. Who would deny that it’s much more rewarding to log into a game, see two new available levels, spend 10 minutes on studying possible options, and excitingly push the Upgrade button rather than just seeing all this in raw game data? This is the least important reason, but it also has a bearing on the perception of Screeps as a game, not some work.
  • Avatar
    Artem from Screeps

    As to Spawn changes - we may consider reducing it to 2 on RCL 7/8 instead. Or reduce spawn time from 3 to 2 ticks per body part. Also, consider the RENEW power as well.

    Anyway, please let's focus this discussion on power creeps and their powers, and not on the "Related changes" section. It is not the subject on which we need the feedback right now.

  • ScottyC

    KILLBOTS: What's to stop me (Or more likely someone with much higher stored power) from creating a bunch of level 6 KILLBOT_EXECUTORS with level 1 kill sitting near the borders/transition spots and just blowing away everything that moves into the room?

     

    Lets say a portal opens in the middle of my sector, so I move 10 KILLBOTS to surround it and kill any threatening creep (ignoring 1 move bait creeps trying to bait my KILLBOTS). How is anything expected to get through?

    In the same vein, if two KILLBOTS kill() each other on the same tick, is it mutual destruction? Or will the one that's processed first win?

    Edited by ScottyC
  • Avatar
    Dissi

    > We don’t want to make the configuration of your power creeps part of the automatic process that can change and adapt depending on circumstances

    It's more about adding "features" to existing power creeps based on needs. Not about destroying/recreating power creeps.

    I tend to disagree that we have to focus on the PC's and their powers instead of the "related changes" section. They're closely coupled. If we get less spawn time it's obvious that we will only use a few powers. We have to compensate for the game changes.

  • porkus

    I agree with nearly all comments. I'm playing screeps since 2 months, so i'm not able to get power. But reducing the spawn limit to 1/room would be bad. How to compete with long time players?

  • kshepard

    My proposal for fixing the spawn problem: do not restrict the number of spawns to 1, instead make it so the spawn-boost power action can only be used if there is a single spawn in the room; it'll return ERR_TOO_MANY_SPAWNS or something if attempted to be used when multiple are in the room. Then it is no longer a breaking change, and if a player decides to make use of that ability, they can remove the additional spawns from their room at their leisure.

  • Avatar
    Artem from Screeps

    I tend to disagree that we have to focus on the PC’s and their powers instead of the “related changes” section. They’re closely coupled. If we get less spawn time it’s obvious that we will only use a few powers. We have to compensate for the game changes.

    Fine, let’s just think these “related changes” are not going to be implemented at all and stop this discussion please. This document is about power creeps, we need some feedback from the community about skills, numbers, levels balance, more potentially useful powers, etc. You’ll have a chance to discuss the Spawn change later on the PTR forum.

  • ags131

    To me, the power creeps themselves look awesome, the related changes on the other hand would kill my current codebase. I rely on the extra spawn capability of the second and third spawns, and have just recently got remote mining working and profitable, with these changes, remote mining becomes much less useful and profitable, 1 source rooms would then be worth much more, making current room placement choices bad. Also, using the power creep ability to increase spawn speed costs minerals, what about those of us who A) don't have mineral mining or B) don't have access to the minerals needed? If your answer is the market, IMO its currently too unreliable and broken to effectively fill that demand. I cannot sustain enough credit income to maintain supplementing via market even if I mined the minerals I have access to.

  • Syncaidius

     @Artem Apologies if this is going off topic again but while I like the idea of the renewal power, this again stacks the odds against new players. Reducing the spawn limit instantly means that newer players won't have as much spawn capacity available to run some renewal calls because they'll be constantly spawning creeps from them instead, to compensate for the reduced capacity.

    The way it is right now, Creep.renew() has no tangible benefits. Instead it punishes players for returning creeps to their spawn to renew (CPU cost of said logic, removes buffs, etc).

    The only way to counter some of those negatives on renew() appears to be through the use of the power creep RENEW ability. For almost all new players, this won't be an option because they'll unlikely be able to harvest power for a long time. This means renewal will almost be completely useless outside of a couple of scenarios.

    Lastly, reducing the spawn time from 3 ticks to 2, sounds good, but again it stacks odds against renewal, making it even less worthwhile.

    Basically, I think renewal needs to cost much less than it would to respawn a creep. That sounds crazy, until you factor in the CPU cost involved in getting a creep back to the spawn and handling renewal logic. Some suggestions would be to allow creeps to keep their buffs when renewed or reduce the energy cost/ticks gained from renewing.

    Again, I like everything suggested in the design doc except for the spawn changes, it affects the balance waaaaay too much for newer players. Screeps needs more players if it is to survive long-term. Making them less-able to compete is not the way to go IMO.

    I know its not part of the main changes Artem, but despite being a small change, it affects quite a lot in terms of balance. That's why many of us are concerned about it.

     

    EDIT: I'm actually wondering if the respawn limit reduction could be countered by making renewal much more worth the effort. If we could renew at a spawn while its also spawning, that'd be a good starting point!

    Edited by Syncaidius
  • Avatar
    Artem from Screeps

    Please stop. This is a red herring here. You'll have a chance to express your concerns, we promise.

  • Avatar
    Artem from Screeps

    Updated the post.

  • ags131

    According to the level table, I can spawn an inifinite number of lvl0 power creeps?

    How are lower level players expected to get into power creeps? It seems to take a good bit of logic and creeps to mine power.

    Of the abilities, such as OPERATE_SPAWN, it says effect is 10/30/50/65/80%, does this map directly to mineral and level?
    Ex: Does 80% require 100 XUHO2? And would that same creep have the option of opting for a lower effect rather than using the max it supports?

    If the above is correct, how are we expected to maintain enough minerals to use power creeps with the higher level abilities?

    OPERATE_STORAGE This seems like it would be fairly disruptive, now I would have to account for the fact that storage could have 1004000 stored resources but only a max of 1000000 once it expired?

    Commander and Executor do look useful as is.

    Edited by ags131
  • Helam

    Will we be able to repeatedly use powers on the same target as soon as the cooldown expires? A lot of the operator abilities are mainly what i am wondering about. For example will we be able to continuously increase the capacity of one extension every 50 ticks? This could greatly affect lower rcl levels. At max level of extending minerals this would essentially give us 1 of that mineral per tick, right? Will we be able to continuously increase the effectiveness of a single tower by 50% every 10 ticks? Continuously decrease energy transfer cost of terminal sends? Do these abilities stack as you call them on the same target over and over?

    EDIT: to give a clearer example of what i am asking, i mean if you had lvl 1 of operating extensions you would use it to increase an extension from 50 capacity to 100, could you then increase it to 150 in 50 ticks, and 200 in another 50 ticks, and so on? Similar question will all the other operator abilities.

    Edited by Helam
  • Avatar
    Artem from Screeps

    There is the only comment for now: the SHIELD power is mentioned, but not described.

    Fixed.

    How about instead of the ‘pick one of three abilities’ there is a more MOBA approach where you cannot simply choose to level up one ability all the way to five, but require a minimum creep level to be able to level up an ability?

    It would oversimplify power creeps AI too much. We don’t want them to be simple super-specialized dummies who just spam one particular power all the time, but rather very smart and complicated units with advanced behavior logic.

    • Separate from that: is there a planned way to allow getting what abilities a creep can use? I

    Yes, something like PowerCreep.powers will be added to the API.

    • What would the respawn time be? 1000 ticks per level?

    We still need to balance this.

    • Is the cooldown creep-wide or PWR_*-wide?

    The cooldown is separate for each power.

    • Will affecting powers be accessible using some form of SomePrototype.affectedByPowers[] ?

    Yes, most likely RoomObject.effects.

    • Does this make it consume more product? Or produce more using less?

    Consume more reagents, produce more product.

    • Can this be used to summon power creeps as well?

    Not decided yet.

    EXTEND_SOURCE - Range limit?

    Melee range.

    REFLECT - Does it reflect to structures as well?

    No, only to creeps.

    KILLBOTS: What’s to stop me (Or more likely someone with much higher stored power) from creating a bunch of level 6 KILLBOT_EXECUTORS with level 1 kill sitting near the borders/transition spots and just blowing away everything that moves into the room? Lets say a portal opens in the middle of my sector, so I move 10 KILLBOTS to surround it and kill any threatening creep (ignoring 1 move bait creeps trying to bait my KILLBOTS). How is anything expected to get through?

    PWR_KILL lvl 1 has 900 ticks cooldown, so you can’t kill just everyone. And it becomes available on level 6, so 10 killbots would require spending 60 power levels on them.

    According to the level table, I can spawn an inifinite number of lvl0 power creeps?

    You cannot create a zero-level power creep in your account.

    How are lower level players expected to get into power creeps? It seems to take a good bit of logic and creeps to mine power.

    Using the market is the easiest way, I guess.

    Of the abilities, such as OPERATE_SPAWN, it says effect is 10/30/50/65/80%, does this map directly to mineral and level?

    Yes.

    And would that same creep have the option of opting for a lower effect rather than using the max it supports?

    This is an interesting question. I think yes, a higher level power can use lower level minerals as well, with lower effectiveness.

    OPERATE_STORAGE This seems like it would be fairly disruptive, now I would have to account for the fact that storage could have 1004000 stored resources but only a max of 1000000 once it expired?

    You have to refresh this effect constantly to make things consistent. Increasing the effect duration and the cooldown even more is probably a good idea.

  • Avatar
    Artem from Screeps

    Will we be able to repeatedly use powers on the same target as soon as the cooldown expires?

    No, the effect is not stacked, it’s replaced with the new one.

  • ScottyC

    Respecting Artem's wish to discuss the skills/numbers/balance of the actual posted document, here goes!

    General ideas/questions:

    1. Can a power creep only use 1 power per tick? Or could, say, a commander creep Summon an injured allied creep and defend him the same tick? Or could an operator disableSpawn and disableExtension the same tick?

    2. I feel there should be a bigger benefit from "going down the tree" and leveling a power creep to maximum, instead of more smaller power creeps. To that effect, I think putting in a final tier of 1 rank abilities where 1 has to be chosen gives more investment into strategy and will bring about differing styles depending on the player.

    Operator

    OperateSpawn: If the spawn reduction goes into play, this ability should not cost minerals. I'd love to see more utility out of this than regular "always do this". Perhaps a change such as: "Instantly completes spawning creep, cooldown 500/400/300/200/100". This would create more dynamic and interesting situations such as spawning defender creeps on invasion/facilitating attack squads with similar TTLs.

    OperateLab: Is this creating "free" minerals? As in instead of 5+5 producing 5 of a compound, it will produce 10 from the same input minerals?

    OperateTerminal: I think the mineral cost is too high for the effect. With the other proposed changes along with PowerCreeps, I feel like energy is going to be a lot cheaper overall, and minerals more important.

    OperateStorage: If the effect wears out, are all of the excess items in the storage popped onto the ground or destroyed? If so, this seems risky and I'd personally never use it. I'd suggest changing the effect to be: "Increases effective range of room storage access to be room-wide the next tick. Cooldown 500/400/300/200/100 ticks." It would let any creep in the room to access the room's storage, regardless of distance the following tick.

    ExtendSource: This seems like the bread and butter skill. That's a lot more energy! I'm assuming it's melee range.

    ExtendMineral: What happens if you use this when the mineral is on cooldown? Does it instantly create new minerals to be farmed? Or add it to the next amount of minerals?

    CorruptSource: What is the range on this?

    Shield: Can this rampart be made in hostile rooms owned by another player?

    Proposed Powers:

    OperateNuke: Lowers impact time on launched nuke by 1/2/3/4/5 ticks. No cooldown.

    Following the idea of "final abilities", the final level of Operator allows one of these three powers.

    Stealth: Grants stealth to target creep. Stealth hides creep from view of enemy players. Stealth is broken upon any creep action aside from movement, or when approaching within 15 range of an enemy tower. 500 tick cooldown.

    Brainwash: Converts target creep to be under your control. Cannot be used on creeps protected by a rampart. 1500 tick cooldown.

    Mine: Plant mine at current location. Maximum 3 active mines can be active per time, per Power Creep with Mine skill. Mines fade when creep dies. Mines invisible to enemy players. Enemy creep stepping on a mine kills them. 10000 tick cooldown.

    Commander

    Encourage: To be more useful, I think this should be "Removes all current fatigue, and fatigue that would be generated this tick".

    Defend: Is this modulated by boosted TOUGH? As in if a tower hits a creep for 600, but they have tough boosts, does defend absorb 600 or (600*.3) 180? This amount is also too low for higher level damage output if it is raw damage, not modulated by tough boosts.

    Summon: This is quite a powerful ability. I forsee a lot of 50 WORK creeps being summoned about to mine-drop into containers.

    Renew: By referencing spawn.renewCreep, I'm assuming this also strips boosts from the creep its renewing?

    Disable: Is a creep inside a rampart protected from disable/other abilities being used on it?

    Berserk: Can this be used on hostile creeps? This is quite important, as being able to increase a hostile creeps incoming damage by 100% is huge, especially when your own creeps are protected by ramparts.

    Proposed Powers:

    I live the idea of Auras, and I feel like it would fit the commander creep the most. In keeping in line with "Final abilities", something like:

    MoveAura: Reduces fatigue generated by all creeps in the room with the commander by half.

    DefenseAura: Reduces damage taken by all friendly creeps in the room with the commander by 25%.

    WorkAura: Doubles all effects from WORK parts by creeps in the room with the commander (Upgrade, dismantle, harvest, repair, etc).

    Executor

    I like all of the skills, except the creep has no way to defend itself. Without tough boosts, incoming damage is too high in the current game to really survive. It needs something like:

    TransferDamage: Transfer 20/40/60/80/100% of incoming damage to target friendly creep (melee range).

    This incoming damage issue is a problem for all three power creeps. As it is now, with 6 towers on the border (even if one is 50% reduced), it's still potentially 3300 incoming damage per tick. With a maximum level of ~17 or 24, that's only like 7 ticks of survivability without healing. Even with max tier healing boosts, without damage mitigation that's a ton of healing parts needed to keep them alive without some sort of ability to mitigate or transfer damage to another target. Perhaps the commander would be a better creep with an ability like "UseShield: Redirect 20/40/60/80/100% of damage taken by creeps within 3 range of commander to target friendly creep". The defend ability is almost meaningless in the face of the current damage output in the game.

    KILLBOT Issue: Even if it takes 60 power levels and a 900 tick cooldown, with the time it takes to travel to some rooms and the 300m wall height you can reach, having 10 roaming killbots can make your rooms all but unkillable. They obviously don't even need to be devoted killbots, just the option of these roaming death machines defending your borders with huge walls is enough to stop almost all invasions once you're big enough.

    And then proposed "final tier" abilities:

    UnlockController: Controller is not limited by 15 energy restriction the next 1500 ticks. 1500 tick cooldown.

    AttackController: Decreases tickToDowngrade timer of enemy controller by 10 per tick. No cooldown.

    BoostPower: Decreases energy required to process power in PowerSpawn by 50% for 500 ticks. 1500 tick cooldown.

     

    In addition, a lot of the power creep stuff seems to favor centralized empires to facilitate power creeps being shared among a few rooms to boost structures. I think the "gateway" ability I mentioned above is an important addition to allow "wide" empires, if so desired by a player.

    Edited by ScottyC
  • W4rl0ck

    Yeah ... I think travelling might be a problem for power creeps.. maybe power spawns could work as some kind of portal just for power creeps? (with a cooldown?) or some other buildable structure that allows faster travel?

  • Avatar
    Dissi

    Running some more calculations show that the long-term game for power seems rather harsh due to the logarithmic changes.

    I think that every XX levels the power needed to level up should follow a different formula, which limits the rate of growth, but doesn't exponentially explode. (Or we just sell power and make money!)

     

    I also agree with ScottyC

    "Specialized" high-level creeps should get more advantages compared to the others

     

    Another idea to allow for more customization needs is allowing players to select the amount of hits/capacity a PC gets when he level's up.

    Lets say you want lots of beefy CARRY but no HITS you could decide that you get:

     

    Distribution points

    • PC gets 2000 distribution points
    • 10 distribution points = 1 CARRY per level gained
    • 1 distribution point = 1 HP per level gained

    This way you can customize even more. If you find CARRY more important you put 1900 points in CARRY and 100 in HP and 190 CARRY per level.

    A level 24 PC will have 4560 CARRY and 2400 HP

    This is set in stone on SPAWN and can't be altered later. 

     

    This gives it even more dynamic.

    Edited by Dissi
Powered by Zendesk