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.