# PTR Changelog 2020-06-05: Decorations

• I did a bit of grinding to get a creep decoration to play with on PTR. I found the process overly grindy. I could make it little less grindy by pixelizating a large batch, then converting back. But for the more rare decoration types it's grueling.

I'd much prefer a way pay a premium to pick the decoration type like we can with the theme.

Expanding from the current formula. The price appears to be `500/exclusivity * 1.43`.

So randomly pixelizating a single theme costs `500/(1/7) * 1.43 = 5000`.

Or pixelizating any theme except one: `500/(6/7) * 1.43 = 834`.

Assuming creep decorations are 1 in a 100, pixelizating a creep decoration: `500/(1/100) * 1.43 = 71500`.

Or a fire themed creep decoration: `500/(1/7 * 1/100) * 1.43 = 500500`.

• I think the cost of targeted pixelization is too high.

A targeted pixelization is 5000 pixels for a 100% chance of getting a particular theme.

Grinding 5000 pixels gives you 46 regular pixelizations. Grinding for a particular theme and you have `(6/7)^46` chance of getting the theme you want. That's 99.927% of the time!

 Pixels: % chance 5000 99.93 4000 99.61 3500 99.16 3000 98.18 2000 91.51 1000 60.34 900 53.73

• What happens if you get a duplicate decoration? Can you 'auto-dust' all duplicate decorations back to pixels?

Also, the targetted decoration seems too expensive. It shouldn't be more then 1000.

I I buy 1x targeted decoration, I only get 1 decoration for 1 targeted theme.

If I buy 10x a normal decoration, these will, over long time, be evenly distributed over all the themes. That means 5000 pixels gives me 10/7 = 1,43 decorations on each theme (on average).

It also gives me 8,57 other decorations which I can refund for 80% of cost, returning me 3428 pixels.

Since I got 1,43 targeted decorations for 1572, I'm only paying 1099 pixels for one targeted decoration.

• Deft:

There IS a way to get the exact decoration you want. You wait for it to be available on the steam market and buy it. Obviously, you can't do that on the PTR.

If this was a thing you actually needed to play the game, I would be aghast at this. But for a potentially rare vanity plate? This is fine and workable.

This mechanic pipes cash flow into Screeps by creating a in-game pipe of (for example.) "farm pixels with CPU" => "Sell rares on Steam" => "Buy CPU tokens on Steam" => "Sell token for credits in game."

What it doesn't address is the hyperinflation the injection of credits through other sources with no sink is causing. At some point, they will need to sell the same resources directly for credits in game, destroying the credits in the process.

That would work like this: "Have lots of extra Credits" => "Buy CPU tokens with credits at current rate." OR "Pixelate decorations with Credits at a calculated rate based on the current CPU token price." Obviously, you would never be able to buy a specific decoration that way, that's reserved for the steam market.

This, of course, dilutes the CPU token sales on the official store, which is why it is important to have a really good handle on the exact flow of CPU tokens. "Extra" tokens injected into the Steam market dilutes the price everywhere. It's like a leak in a supply chain.

• @Smokeman good point about the steam marketplace. I rarely use it and completely forgot about it.

I'm less sure about steam economics. I'd rather pay the devs \$10 for some decoration than pay another player \$10 on market place and hope some of that makes it back to the devs. But it's really up to the devs to make sure the steam marketplace transactions pay off.

• Thank you all for excellent feedback with math and everything!

# UPDATE

We have tweaked some algorithms, formulas, distribution chances, and reset the PTR. All previous decorations have been deleted. Everyone received 20,000 pixels again.

Restricted by theme pixelization now costs 2,000 pixels.

Creep decorations are now fully functional and can be activated.

Rarity is now related to higher configurability of the decoration. For example, more rare landscapes will have an ability to control brightness of various elements, and even set custom colors in the most rare ones. These "rarity features" are now described in the decoration description. Here is the full list:

Graffiti

• Rarity 1: None.
• Rarity 2: Lighting animation
• Rarity 3: Visible on the world map.
• Rarity 4: Visible on the world map. Lighting animation.
• Rarity 5: Choose your own color. Visible on the world map. Lighting animation.

Wall/floor texture

• Rarity 3: None.
• Rarity 4: Controllable brightness.
• Rarity 5: Choose your own color. Controllable brightness.

Creep

• Rarity 4: None / Lighting animation.
• Rarity 5: Choose your own color. Lighting animation.

• Always rarity 5.

• What happens if you get a duplicate decoration? Can you 'auto-dust' all duplicate decorations back to pixels?

Why would you need that? Several instances of the same decoration is a valid use case too.

• @deft-code

I'm less sure about steam economics. I'd rather pay the devs \$10 for some decoration than pay another player \$10 on market place and hope some of that makes it back to the devs. But it's really up to the devs to make sure the steam marketplace transactions pay off.

If you buy a decoration from another player, you can be sure that the devs already received their profit since this decoration is generated either by CPU or via purchasing pixels.

We are strongly against selling decorations from the official store directly.

• Updated rarity features in the top post.

• How do I get onto the PTR to try it? It says "New accounts are blocked" but that couldn't be literal. I clicked the activate button it said to click, and entered credentials through steam... but was told my account is not synced with PTR.

• All active decorations have been deactivated, since we added more brightness controls to some of them. You can reactivate them again.

• @artch

"New account registration is disabled on the Public Test Realm server."

It's going to be difficult to do that. And even then, I would technically have 2 accounts.

• I was testing the creep decorations yesterday and I find I a bit too static how it is if I got it right. Here is my idea how to make the creep decorations more dynamic and improve the usage of different decorations:

A decoration should have a name instead of the name regex as it is now. Then it should be possible to add a decoration to a creep by code e.g. creep.setVisual([decorationName]) or something similar. Or maybe just set a value in the creeps memory.

This would enable us to change the creeps appearance on the fly. For example from the winter theme to the same visual but the fire theme if it is in attack mode or change the visual corresponding to the task the creep is doing.

This way it would improve the usability of multiple creep visuals and make it more interesting to use them in the first place at the same time.

• Picking your creeps decoration from `Memory` isn't a good idea, if other players can see it. Besides the performance nightmare of accessing `Memory` every tick of every player drawn on the screen, you also have the issue that now there is pathway in the server that allows other players to peek at your memory, don't cross the streams Ray.

The core idea isn't bad though, something akin to `Creep.say` that you can set to the id of the decoration you want applied.

• Exposing decorations in the API does not match our design concept. We are not going down that road in any of its form. Decorations is a fully client-side feature.