Power Creeps update

The turning point of the Power Creeps development is just around the corner. This post will show how this mechanics will look in the game and also update our design document. A lot of things have already been described in the previous post, but the mechanics sparked hot debate, and we took a time-out to polish the idea and switch to other important tasks. This process gave us fresh ideas on what to change, and now we are confident the final concept can be viable.

TL;DR Brief summary of the adjustments

  • Only one class will be launched initially—Operator.
  • Any power creep can use its powers (skills) only in power-enabled rooms. Activation requires that any power creep approach the room controller and run PowerCreep.enableRoom(controller). This action is performed once by any player (not limiting to the room owner) and can be undone only by unclaim.
  • The operator will use a new resource called ops that it can either generate itself or buy in NPC terminals.
  • See an interactive skills planner below.

In detail

The previous document outlined three classes of power creeps: Operator, Commander, Executor. This is the set of classes we envisage as final. However, each class affects the game considerably, so it would be wise to deploy the mechanics gradually. Our initial focus will be the Operator class. Below you can see a more or less final set of its powers. Minor adjustments are probable, but in general we like its current form. The rest of the classes are shown as drafts and still under development. We like some ideas of new powers you suggested on the forum, and they are likely to appear later in the Commander and the Executor.

When the initial idea was under discussion, many players were concerned that Power Creeps would make it easier for veterans to seize rooms from new players whose scripts are not yet ready for processing situations related to a new creep type. We hear you and understand the issue. The idea behind the Power Creeps is to create new in-depth game content with a possibility for the parallel development of the player’s account unrelated to the Global Control Level. But we definitely don’t want to create more trouble for players who don’t want to discover this content yet.

So we decided to limit the use of all (economy and military) powers only to the rooms they were explicitly allowed. This is done via the new method PowerCreep.enableRoom(controller) that any player (not just the room owner) must apply to the controller. Otherwise any use of PowerCreep.usePower() in a room will return an error. The action is performed once. The only way to return the room back to the state with disabled powers is run unclaim. You can enableRoom() even on neutral unreserved controllers and the ones owned by other users.

Therefore, as you dive into this mechanics, you may want to perform this action immediately in your own rooms to let your Operators work with structures, sources and mineral deposits and boost your economy. But this will also allow Power Creeps of other players to use their own powers when attacking you. If you are not ready (or willing) to get familiar with this new content, other players in order to attack you with powers will have to access your controller first which is often the goal of the attack itself.

Leveling

The system “pick one of three skills per level” raised criticism from some players, but we still believe it’s a good idea that fits the mechanic into the game in the right way. Having some “side” powers for each high-level power creep that you have to pick just for leveling it up is not a problem but an advantage of the system. We don’t want to allow for creating specialized creeps tailored for one or a few skills. Such creeps would not offer any coding challenge but a trite accumulation of effectiveness. On the other hand, when your creep has a variety of useful skills anyway, you have to figure out how to make full use of each of them.

For example, if your operator can only EXTEND_SOURCE lvl5 and that’s all, its programming is a trivial task of iterating over all available sources and spamming .usePower(PWR_EXTEND_SOURCE) on each of them. If, however, EXTEND_SOURCE lvl5 gets appended with 3-4 high-level useful skills, you will have to tour some facilities in due time in addition to your sources, and not in one room (since powers cooldowns allow for it). This makes the logic of its behavior more interesting.

That’s why we decided to keep the leveling system in its current form. We are excited to announce that we’ve developed a special widget to better understand the system. It will let you plan the development of your classes and their powers right now, prior to release, and visualize your Power Creeps. You can save the result of the planner and share it with others by creating links. The similar interface will become part of the game eventually.

UPDATE: After further discussion with the community we decided to make the second version of this tool, it is now updated in the widget above. The old version is available via this link.

Operator

So how has the Operator class changed after the latest design document? The main change: it spends its own resource to apply virtually all powers. We decided to give up the use of mineral compounds to diversify in-game market relations. A new resource called ops will be introduced. Each operator’s power spends a fixed amount of this resource. The source of the resource is the power called GENERATE_OPS giving 1 to 5 resource units each 50 ticks. This amount will be enough for minimum work of the operator, but if you want to make the maximum use of it, you’ll have to buy ops on the market either from other players or from NPC terminals that will also begin the limited trade of this resource.

We have also changed some skills of creeps, and continue working on them. See the skills planner tool above.

We invite all of you to join the discussion of the Operator class on our forum and share configurations of most effective creeps. We plan to soon release the complete Power Creeps API and start deploying it on the Public Test Realm where you can test the whole system on the basic level via API commands. Then we’ll start working on the game client UI. Stay tuned for more news!


Have comments or feedback? You can discuss this post here.