Season #7 is open! The season will last for two months, from September 1st until November 1st.
What is Season World?
It's a parallel world where all players start on equal terms. Everyone has GCL/GPL 1, equal 100 CPU from the start (which does not scale with GCL).
How to join the season?
In order to spawn in the Season World and start playing there, you have to get access to this particular season. You can obtain Access Keys at the official store, in-game market or Steam Community Market. Season #7 access costs according to the following schedule:
- 5 Access Keys - August 13
- 4 Access Keys - September 1 (season start)
- 3 Access Keys - September 15
- 2 Access Keys - October 1
- 1 Access Key - October 15
What are season rules?
Season #7 rules are described below: [quote]This season's rules are almost identical to the Season 1, but with an exciting twist: the world is unequal! Upper areas are teeming with resources, while the lower areas present a more challenging landscape. New resource items will randomly appear in all rooms, ready for the taking. Gather these precious items and transport them to special structures located in crossroad rooms to boost your season score. But beware! These structures are initially barricaded by massive walls, requiring you to dig your way through to reach them. The players who deliver the most score resource will claim the ultimate season rewards. Other game changes: every player has constant 100 CPU, the market is not available, terminal structures can send resources only to your own terminals.[/quote] API documentation for the season is already available.
Season #6 is open! Spawning opens January 25th at 18:00 UTC. The game will start on February 1 at 18:00 UTC. This season will last for 2 months, till April 1.
What is Season World?
It's a parallel world where all players start on equal terms. Everyone has GCL/GPL 1, equal 100 CPU from the start (which does not scale with GCL). The world will last until April 1, 2024. Then the season end and we will distribute valuable rewards among participants.
How to join the season?
In order to spawn in the Season World and start playing there, you have to get access to this particular season. You can obtain Access Keys at the official store, in-game market or Steam Community Market. Season #6 access costs according to the following schedule:
- 5 Access Keys - January 19
- 4 Access Keys - February 1 (season start)
- 3 Access Keys - February 15
- 2 Access Keys - March 1
- 1 Access Key - March 15
What are season rules?
Every season will have different rules. Season #6 rules are described below: [quote] In this season, your starting position - whether closer to the resource-rich top or the more novice-friendly bottom - is an important factor in your overall strategy. The season begins in a large area of 40 x 100 rooms. Prepare for a world that evolves daily, opening new rooms to the right and progressively closing those on the left. The first half of the season sees a steady pace of change, with one line of rooms opening and another closing each day. In the second half, the pace intensifies, with two lines closing for each new one that opens, heightening the sense of urgency and strategic depth. Your mission is to claim and develop rooms as swiftly as you can. As the world moves, so must you. The energy you invest in upgrading each room becomes your beacon of triumph. When a room you've claimed closes, it's not a calamity but a celebration, as you're rewarded with score points equivalent to the controller progress it made from zero. Remember, energy spent on maintaining RCL 8 rooms doesn't count it's all about expansion and progress! As the season ends, the final territories will be closed and scored, marking the culmination of your strategic journey. Other game changes: every player has constant 100 CPU, the market is not available, terminal structures can send resources only to your own terminals.[/quote] API documentation for the season is already available.
Season #5 is open! Join now and place your spawn in the new seasonal event. The game will start on June 1 at 18:00 UTC. This season will last for 2 months, till August 1.
What is Season World?
It's a parallel world where all players start on equal terms. Everyone has GCL/GPL 1, equal 100 CPU from the start (which does not scale with GCL). The world will last until August 1, 2023. Then the season end and we will distribute valuable rewards among participants.
How to join the season?
In order to spawn in the Season World and start playing there, you have to get access to this particular season. You can obtain Access Keys at the official store, in-game market or Steam Community Market. Season #2 access costs according to the following schedule:
- 5 Access Keys - May 26
- 4 Access Keys - June 1 (season start)
- 3 Access Keys - June 15
- 2 Access Keys - July 1
- 1 Access Key - July 15
What are season rules?
Every season will have different rules. Season #5 rules are described below: [quote]A new empty world is created. Every player has 100 CPU. This season introduces Thorium, a unique and non-renewable mineral that is found in each room with a controller. Both creeps and decayable structures, such as roads and containers, experience accelerated aging and decay when they come into contact with Thorium. This rate of decay increases logarithmically based on the total Thorium present on the same tile. After mining Thorium, your mission is to transfer it to a special structure - the Reactor, located in the center of each game sector, and claim it. Each claimed Reactor consumes 1 unit of Thorium per tick, generating score points for the player who claimed the reactor. For every tick the Reactor operates continuously, the points awarded increase logarithmically. Players with the most score points win the season rewards. Other game changes: the market is not available, terminal structures can send resources only to your own terminals.[/quote] API documentation for the season is already available.
We are happy to announce that we're releasing Screeps: Arena to Early Access! After a long period in the Closed Alpha, the game is available now. If you have preordered an activation key before, you should be able to start playing immediately.
We have many plans for further development, and need your support to continue with this project.
https://store.steampowered.com/news/app/1137320/view/3192497330287513155
Season #4 is open! Join now and place your spawn in the new seasonal event. The game will start on January 15th at 18:00 UTC. This season will last for 6 weeks, till March 1.
What is Season World?
It's a parallel world where all players start on equal terms. Everyone has GCL/GPL 1, equal 100 CPU from the start (which does not scale with GCL). The world will last until March 1, 2022. Then the season end and we will distribute valuable rewards among participants.
How to join the season?
In order to spawn in the Season World and start playing there, you have to get access to this particular season. You can obtain Access Keys at the official store, in-game market or Steam Community Market. Season #4 access costs according to the following schedule:
- 4 Access Keys - January 15
- 3 Access Keys - February 1
- 2 Access Key - February 15
What are season rules?
Every season will have different rules. Season #4 rules are described below: [quote]A new empty world is created. Special unarmed caravans randomly appear in crossroad rooms to travel to another crossroad room. Every creep in a caravan initially carries 1 unit of a random commodity and accepts the same commodity. Players are supposed to produce commodities, intercept those caravans and transfer the produced commodities to the correspondent creep to earn season score points. Carriers will drop resources they dont accept to the ground. They also will explode when damaged or blocked. Other game changes: every player has 100 CPU, the market is not available, terminal structures can send resources only to your own terminals. Also, there will be no portals. [/quote]
Season #3 is officially over! All rewards have been credited, read the full season chronicle:
https://screeps.com/season/#!/seasons/chronicle
Hello everyone! We are happy to announce that we migrated our official chat platform from Slack to Discord!
This is a quite big change for everyone, both community and us, and we want to explain the reasons behind this.
Discord is community-oriented. After all these years with Slack we have clearly seen that communities are not their priority. Slack is a business app for teams, and it severely lacks many features like persistent chat history or moderation tools. Discord, in contrast, is designed from scratch for communities. They even have the Partner Program for best communities, and we hope to achieve this level with your support.
Screeps franchise now consists of two games. Arena is under active development right now, and this will be the second game in our franchise. However, we still want to have one community of Screeps players that includes both games. A new player should become a part of this community whatever game they play, and interact with players from the other game. And dedicating just one channel for Arena is not very fair, we love this game very much and want to give more living space to it. Discord has many features to create a complex and powerful structure and navigate users to correct places that would allow to cover both games and not split the community into two parts.
Discord has in-game integration features. With the Rich Presence API it is possible to show your in-game status in Discord. It could show what game you are playing and what part of the game is active right now (for example, which arena). It also allows to create interactive features such as share, invite, or observe games. With Arena all these features will be in high demand and seem perfectly logical, and Slack does not support any of it.
Here is the invitation link: https://discord.gg/RjSS5fQuFx
Season #3 is open! Join now and place your spawn in the new seasonal event. The game will start on July 1 at 18:00 UTC. This season will last for 2 months, till September 1.
What is Season World?
It's a parallel world where all players start on equal terms. Everyone has GCL/GPL 1, equal 100 CPU from the start (which does not scale with GCL). The world will last until September 1, 2021. Then the season end and we will distribute valuable rewards among participants.
How to join the season?
In order to spawn in the Season World and start playing there, you have to get access to this particular season. You can obtain Access Keys at the official store, in-game market or Steam Community Market. Season #3 access costs according to the following schedule:
- 3 Access Keys - June 28
- 2 Access Keys - July 15
- 1 Access Key - August 1
What are season rules?
Every season will have different rules. Season #3 rules are described below: [quote]A new empty world is created (very swampy!). Every player has 100 CPU. Power banks do not hit the attacker creep back. Power spawns can be built starting from RCL5, and their construction costs 10000 energy. Power processing cost reduced to 10 energy per 1 power. Spawns count reduced to 1 spawn per room regardless of the room control level. Energy source capacity is doubled in every room with a single energy source. Players with the most processed power win the season rewards. Other game changes: power is enabled by default (and can't be disabled) on all controllers, the market is not available, terminal structures can send resources only to your own terminals.[/quote] API documentation for the season is already available.
Screeps: Arena will present a free publicly available playable demo during the entire Steam Next Fest on June 16 - June 22. On June 19 at 16:00 UTC we are going to conduct an official developers-backed Livestream Event on the Steam Next Fest! Our TOP-1 champion Screeps player Tigga will share his experience with Arena and present some gameplay, and two dev team members will be available in chat to answer any your questions. https://store.steampowered.com/news/app/1137320/view/3031466372087984067 And now take a look at our new trailer: [previewyoutube=LkXuGcrCZtU;full][/previewyoutube]
Season #2 is open! Join now and place your spawn in the new seasonal event. The game will start on March 1 at 18:00 UTC. This season will last for 2 months, till May 1.
What is Season World?
This is our newest game feature. It's a parallel world where all players start on equal terms. Everyone has GCL/GPL 1, equal 100 CPU from the start (which does not scale with GCL). The world will last until May 1, 2021. Then the season end and we will distribute valuable rewards among participants.
How to join the season?
In order to spawn in the Season World and start playing there, you have to get access to this particular season. You can obtain Access Keys at the official store, in-game market or Steam Community Market. Season #2 access costs according to the following schedule:
- 5 Access Keys - February 15
- 4 Access Keys - March 1 (season start)
- 3 Access Keys - March 15
- 2 Access Keys - April 1
- 1 Access Key - April 15
What are season rules?
Every season will have different rules. Season #2 rules are described below: [quote]A new empty world is created. Every player has 100 CPU. New resource items (symbols) of 22 kinds appear in all rooms randomly from time to time. Collect and bring them to special structures (decoders) with the same symbol placed in all rooms with controllers (one decoder per room) to increase your season score. Note that only decoders placed in owned rooms are active. The more RCL is, the more season score points you get for decoding a symbol. World sectors are isolated from each other by huge constructed walls on the season start, so you have to dig your way to distant players. Players with the most collected resources win the season rewards. Other game changes: the market is not available, terminal structures can send resources only to your own terminals.[/quote] API documentation for the season is already available.
The first season has come to its finish. Congratulations to all participants! The competition for score points has taken two months, involved 153 participants and more than two thousand spectators. Check the rewards and read the whole story in our Season Chronicle!
https://screeps.com/season/#!/seasons/chronicle
This is to announce that the Season World is now open! All players who have got access to the Season #1 can now spawn in and mark the spot in this brand new empty world. Ticks are paused at the moment until the Season begins on December 1, 2020. This season will last for 2 months, till February 1, 2021.
What is Season World?
This is our newest game feature. It's a parallel world where all players start on equal terms. Everyone has GCL/GPL 1, equal 100 CPU from the start (which does not scale with GCL). It doesn't have any Novice or Respawn areas. The world will last until February 1, 2021. Then the season end and we will distribute valuable rewards among participants.
How to join the season?
In order to spawn in the Season World and start playing there, you have to get access to this particular season. Season #1 costs 5 Access Keys. You can obtain Access Keys at the official store, in-game market or Steam Community Market.
What are season rules?
Every season will have different rules. Season #1 rules are described below: [quote]A new empty world is created. Every player has GCL/GPL 1 and 100 CPU from the start. New resource items appear in all rooms randomly from time to time. Collect and bring them to special structures placed in crossroad rooms to increase your season score. These structures are blocked by huge constructed walls on the season start, so you have to dig your way to them first. Players with the most collected resources win the season rewards. Other game changes: market is not available, terminal structures cannot be constructed.
[/quote]
Can I observe Season World if I don't have access to join?
If you didn't get access to the Season World yet, you will not be able to spawn, but you still can enter the world and watch its map, rooms and the Chronicle. The Chronicle is where we will post the most interesting moments, replays, and our comments about how players progress in this season competition.
What are the rewards?
Besites usual in-game resource items there are unique landscape, structure (controller) and graffiti decorations that will be bound to account (non-transferable).
Hi everyone!
Today our discount for Access Keys is over. This means that Season #1 is even closer now. This is an exciting period for us; we're moving on full speed to prepare this thrilling new competition. In a few weeks we are going to launch its Chronicle (you will learn about it later).
But there is even more news. We're happy to announce that starting from today you can use Access Keys to preorder Screeps Arena and get a Steam activation key immediately!
Consider it a crowdfunding campaign. We're asking for your help to support this project. COVID-19 impacted our business too. We are looking forward to implementing this new exciting project very much, but we want to secure its development. It would be unfortunate for both us and the community if we become short on money during this big project.
In this post we will describe Screeps Arena and its main design concepts. If you like it and feel that it is possible to you to help us fund this development, please buy some Access Keys and use this page (or the "Arena" menu inside the game) to preorder. You will gain a Steam activation key immediately and can activate it in your Steam client. The game will be downloaded to you as soon as it is ready.
There are two preorder options:
- Release. You can preorder the release version of the game, but with a discount.Technically it well be "Early Access" release on Steam, but since it will be available to public and the price will be the same, we refer to it as "Release".
- Closed Alpha (Includes the Release version). As soon as we have the first working prototype of the game we will share it with the most interested community members. You can join this test stage to help us polish the game before it's released and push some of your own ideas during the early development. This stage will take a few months. Our current ETA for Closed Alpha is Q1 2021.
The gameplay is going to be super fast and dynamic. Many Screeps players desire to have a fast tick rate and experience more dynamic gameplay. In Screeps World it is technically complicated to achieve that, and it is not necessarily a good thing, since you need to debug in real-time. In Arena, you are not able to control the game state while the game is running. You only watch replays and edit code for the next run. Also, since we don't need to keep the game state in a persistent database, we can run the simulation fully in memory. All this combined may allow us to have something like 20 ticks per second rate. It will mean that a 1000-ticks match will last less than a minute! Although you can replay it in your own convenient pace, including watching console logs. You can share replays with others, watching them will be much more interesting than in Screeps World.
"Arenas," or challenges, will be different each season. This will solve the "open-source bot problem." Each season will have a set of arenas available. Some of them will be open from the start; others will require to be unlocked during the season. Since every arena and every season will have many gameplay adjustments, it won't make any sense to look for a mature open-source bot to gain rating quickly. The season will end before any bot becomes mature.
We are implementing a sophisticated rating system. Most likely, it will be based on the Elo rating system used in chess. When you play with someone, your rating is changed according to your initial rating and the opponent's rating. There will be leaderboards for every arena. When the season ends, your profile keeps record of your rating score and all your achievements. The matching system finds an opponent based on versions of code. This may be not an easy idea to comprehend, but we think it is brilliant. When we are trying to find an opponent for you, we are looking not just at the opponent's rating. We are looking at his entire history of code versions to find a version that fits your rating in the best way. His latest bot is probably too strong for you, but a few days or weeks ago he had a much weaker code that may be a suitable match for your current code. In order to tune the system perfectly, we will even run "calibration fights" between old versions of all players in the background! This background activity will not affect your player rating (it is changed only when you run your latest code explicitly) but we keep track of hidden rating for old versions too to calibrate the system. These ideas will dramatically lower the learning curve of the game. The "easy to learn, hard to master" concept will be implemented much better. A new player will start playing with zero code. He starts an arena, gets familiar with available game objects, and obviously loses. On his next iteration, he writes just one line of code with Creep.moveTo and Creep.attack. The system matches the weakest possible opponent for him with zero code... and now he wins! The dumbest one-liner brings him victory! His rating grows, hence the next opponent matched by the system has a similar one-liner. Now they have parity, 50/50 wins/loses with stable rating. He improves his code just a tiny bit and wins again! Thus you always have an interesting dynamic process of winning and losing, gradually improving your code. You always have opponents matching you, whether you are a teenager or a seasoned programmer. You see the results immediately. You start over, but it's always different. Screeps Arena will be fun! We are super excited about this project. If you like it too, and think it is something you would play, please show us your support. Thank you and stay tuned!
Hi everyone!
We have a date that we want to announce: December 1, 2020. On this date we will start our first Season! A whole new empty world will be launched, and everyone can join to compete for the season rewards (will be announced later).
Season rules in a nutshell:
[quote]Every player has 100 CPU. New resource items appear in all rooms randomly from time to time. Collect and bring them to special structures placed in crossroad rooms to increase your season score. These structures are blocked by huge constructed walls on the season start, so you have to dig your way to them first. Players with the most collected resources win the season rewards.[/quote]
We will elaborate on them later, and also show some graphics along with the season rewards.
This season will last for 2 months, till February 1, 2021.
Also, on November 1, the 50% discount for Access Keys will be over. At the same time we're going to announce some other exciting news as well. Stay tuned!
We're excited to announce that MapVisual API is now live!
It allows you to draw simple graphics on the world map similarly to RoomVisual API. You can use it to display helpful infographics, debug info, multi-room paths visualizations, etc. It is available only in the new alpha version of the world map.
Check out the documentation for Game.map.visual.
We are happy to introduce a new big feature: Decorations.
This update is going to add a whole new dimension in your in-game activities. You are now able to generate and collect resources that will allow you to decorate your rooms, creeps, structures and other assets, giving them unique look and individuality.
Pixels
Pixels is a new type of resource that is used to craft decorations. It's an ephemeral resource stored directly in your account, like former Subscription Tokens. You can obtain pixels in three ways:
- Generate 1 pixel using Game.cpu.generatePixel() method. It will consume 5000 CPU from your bucket.
- Purchase at our official store or Steam Community Market.
- Buy and sell on the in-game market.
Decorations
When you collect at least 500 pixels, you can pixelize (craft) a decoration. Just go to the new Inventory section and click Pixelization. You will receive one decoration for every 500 pixels spent. Which decorations you get is fully random based on their rarity and type. Decoration are split into 5 types:
- Graffiti - you can place this image as a graffiti on walls in your rooms.
- Wall texture - you can place this image as a room-wide wall texture in your rooms.
- Floor texture - you can place this image as a room-wide floor texture in your rooms.
- Creep - you can use this image to decorate your creeps (either all of them or using a name filter).
- Badge - a custom player badge that you can set for your account.
- Rarity 1: None.
- Rarity 2: Adjustable brightness and lighting animation.
- Rarity 3: Visible on the world map.
- Rarity 4: Visible on the world map. Adjustable brightness and lighting animation.
- Rarity 5: Choose your own color. Visible on the world map. Adjustable brightness and lighting animation.
- Rarity 3: None.
- Rarity 4: Adjustable brightness.
- Rarity 5: Choose your own color. Adjustable brightness.
- Rarity 4: None
- Rarity 5: Choose your own color.
- Always rarity 5.
Decoration themes
Besides types, all decorations are split into 7 color themes: Fire, Desert, Nature, Sea, Winter, Alien, Mono. They have no special meaning except specific color. Basically, they are just the names for the colors that are used in the decoration graphic. You can restrict pixelization by a specific theme if you wish to craft only decorations of the specific color to match your existing design. This option increases the pixelization cost from 500 to 2,000 pixels.
Other resources
This update also contains other ephemeral account resources revamp: CPU Unlocks and Access Keys. They are regular tradeable resources, so that now we have 3 account resource types on the market. CPU Unlocks is a new form of Subscription Tokens. Each CPU Unlock will provide 1 day of unlocked CPU to your account. All existing Subscription Tokens will be converted to 60 CPU Unlocks each automatically upon release. Access Keys are needed to get access to the upcoming Season World. You will need 5 Access Keys to unlock the first Season. We will announce its launch date later. We will sell Access Keys with 50% discount until that. You will be able to freely transfer these resources between Screeps Inventory and Steam inventory as well.
Subscriptions
With this update we discontinue all new recurring CPU subscriptions purchases. If you have an already active recurring CPU subscription, it will be effective indefinitely as long as you wish. But new subscriptions will not be sold. Instead, you can buy CPU Unlocks and programmatically activate them once in a while from your game code. Lifetime CPU Subscription is still available and is renamed to Lifetime CPU Unlock.
API Changes
- Introduced new property: Game.cpu.unlocked. It's true when your CPU is unlocked regardless of the unlock method: it may be a recurrent subscription, a lifetime subscription, or using CPU Unlock resource.
- Introduced new property: Game.cpu.unlockedTime. If your CPU is unlocked with 'CPU Unlock' resource, the value of this property is the unlock expiration time.
- Introduced new method: Game.cpu.unlock(). It will consume 1 CPU Unlock resource and extend unlock time by 24 hours.
- Introduced new method: Game.cpu.generatePixel(). It will consume 5000 CPU from your bucket to create 1 Pixel resource.
- All new ephemeral account resources are exposed in the Game.resources object.
We're announcing our new little project: Attack Rank Monthly Video. We automatically recorded all spawn kills during March 2020 and displayed a few of ticks around every event, with total number of kills by players. We hope it will be feasible for us to make such a video every month. [previewyoutube=MdgnsJ4NgP0;full][/previewyoutube]
This is a minor update containing the following features:
- Reverse reactions in labs
- Room status data in game API
- Many various improvements
We've been brainstorming a lot lately. We brainstormed the architecture of a Persistent/Seasonal server separation in our Kubernetes cluster. We brainstormed how decorations system should be themed and organized. We brainstormed the financial aspect of Screeps as a business. We brainstormed what would be the mechanic or our first season on the Seasonal World. We also brainstormed a math model for the player rating in Arena, but it's a whole another story... What is really important here is that eventually, when all the coffee was drunk, we came up with a new streamlined concept of in-game account resources that we want to announce in this post.
The most important announcement to begin with: recurrent subscriptions will be discontinued, and 60-day tokens will be replaced with 24-hour tokens.
Yes, there will be no subscriptions in the game anymore. If you have an active subscription, it will remain active indefinitely, but you will not be able to activate a new one. The only method to unlock full CPU in your account will be using a CPU token. This will unlock your CPU for 24 hours. All current 60-day tokens will be converted to 60x 24-hours tokens automatically.
Moreover, we will introduce a game API method to activate a CPU token, and a way to check whether your CPU is unlocked or not currently. This way, you can program an auto-renew mechanism on your own based on your preference, using CPU tokens stored in your account.
The CPU unlocking system is needed to compensate for the server resources spent on running your script, but the recurrent subscription system turned out to be a suboptimal way to achieve this. Many people are unhappy with recurrent payments nowadays. Using CPU tokens, you can buy bundles of 10, 30, or 90 tokens, and control how your CPU is used according to your in-game circumstances.
Along with this, we will introduce two new account resources: Pixels and Access Keys.
Pixels are needed to pixelate (create) decorations for your rooms and your creeps. Also, you can convert any decoration back to pixels.
Access Keys are used to join a season in the Seasonal World, or a special event in the Persistent World. One season may require, say, 5 Access Keys to enter. And season rewards will also yield Access Keys, Pixels and CPU tokens to those who made it to the top of the season.
All these account resources can be obtained in two ways:
- Purchased at our official store, which is currently under development.
- Traded on the in-game market or Steam Community Market.
- We sell CPU Tokens because we allow you to rent real server CPU time in our cluster.
- We sell Pixels because our designer worked hard on the graphics that enable this "hat economy."
- We sell Access Keys because they unlock more game content that we regularly develop, add, and maintain for your fun and benefit.
[previewyoutube=7WUtFWxmWHo;full][/previewyoutube]
Hello everyone! We're happy to introduce one of the biggest content updates in Screeps! We tested it since May on the PTR and private servers with your help, and now we're ready to launch these exciting new features. IMPORTANT: Although we put our best effort to make this update as less breaking as possible, some things in your code may break due to the new improved API. See the API Changes section below for details.
Factory and new resources
A new structure is now available at RCL 7: Factory. It allows for creating many new types of resources. Four of these are very special we have added new raw resources to the game. They have Deposit game object type and can be occasionally found in "highway" rooms. You can harvest them as usual, but they will exhaust over time and have a limited lifespan. Deposits are distributed unevenly across the world map: one resource type per map quadrant (NW, NE, SW, SE). Using factories, you can produce new resources that we call "trade commodities." These are resources that NPC market traders are most interested in. They have no other purpose other than to be sold and generate credits. Producing high-level commodities is the most profitable business in the game. The factory mechanic is tightly linked with the OPERATE_FACTORY power. The full use of factories will be possible only by leveraging the coordinated work of multiple Operators. We have developed four production chains of high-level trade commodities (for each new raw resource type). This is how the market now looks:
We're very excited about this change since it provides much more interesting crafting and trading challenges in the game. If you're an economy gamer, you'll definitely like it! But what if the fighting aspect of Screeps appeals to you more? See documentation: Commodities PTR forum topic Draft discussion
NPC Strongholds
NPC Invaders now have a home! If you check your sector on the map now, you will see that one room in each sector is claimed by the "Invader" user, and has its base in it. This is a place where all invader creeps in this sector originate from. Now, if you attack and destroy this NPC Stronghold, invaders will stop appearing in this sector until a new stronghold reappear elsewhere. If you leave the stronghold untouched, it will spawn lesser cores in rooms nearby and reserve them. You'll have to destroy the core to proceed harvesting energy there. There is one more reason to conquer an NPC Stronghold it contains resources in its treasury. Every stronghold has a few containers, and the core structure ruin also will contain resources after you destroy it. Here is an example of a level 5 stronghold loot:
We will continue working on the stronghold defenders AI to make it an exciting fighting challenge for players of all levels. See documentation: NPC Strongholds PTR forum topic Draft discussion
Ruins
We also introduced a new concept of ruins, which is similar to tombstones. When you destroy a structure, it does not disappear but drops a ruin object. All resources are moved to the ruin's store. In general, player structures ruins have 500 ticks of decay, but some special cases exist:
- InvaderCore ruins will last the same equal time as the remaining EFFECT_COLLAPSE_TIMER on it.
- When a user respawns, all structures are converted to ruins with 500,000 decay time.
- When a novice player initially spawns into the room with another player's structures, all structures are converted to ruins with 100,000 decay time.
API Changes
See the official forum post for full API changes list and their discussion. Forum post
We're happy to announce that we've just migrated our production server cluster to the new location. This is so exciting for our team, and here's why. First, the new server cluster is based on brand new Intel Core i9-9900K processors which gives a performance boost to both userland and engine code. Our tests have shown a 15-30% increase in user CPU depending on the load profile. And the tick rate on all shards is now 20% fasterdown to 2.2s/tick on shard3! Second, we've switched our architecture to a containerized pool of applications orchestrated in a Kubernetes cluster. Kubernetes is well known for having a pretty steep learning curve, and this was a serious challenge, but we've managed to find the right guy who joined our team and used his expertise to set up everything properly. Now, this makes our development and deployment process much easier allowing us to test and deploy new features more rapidly. With just one click we can clone the entire production cluster to a temporary instance in private cloud, test everything we need to test, and remove it with one click again afterward to avoid high expenses. This is a thriving technology and we're looking forward to new developments with Screeps World and Screeps Arena that it allows! We already used this platform to carefully test Nodejs 10 and the new game content on the real production world data. Nodejs 10 is shipped now on all game server nodes, and we're pretty confident that we can roll out all new game features (NPC Strongholds, Factories, new resources, Store and Market changes) in the first half of October. Stay tuned! Discuss this news on our official forum
This is it. It's happening. Power Creeps are here. A whole new Power Era in Screeps!
It's been a long road indeed. The Power resource was introduced to the game in December 2015. The plans for development of the new Power Creeps concept were announced at the same time. Since then, we've heard numerous opinions, deeply analyzed all comments, suggestions and concerns of our community. The concept was changed, readjusted and reworked several times. This wasn't the only reason of the delay of the release: since 2016 we've been focusing on other areas of the project that have more to do with optimization and reworking of the game engine than the game content itself. This was because the release of the game on Steam in 2016 resulted in the influx of players we weren't ready for. However, a great deal of game content has been developed too: minerals, NPC invaders, market system, nukes, room visuals, world shards, tombstones, tunnels, events log. All these things were developed after we had announced Power Creeps, and we believe we didn't spend time in vain but managed to improve the game in many aspects.
But now we are excited to announce the final release of the Power Creeps system in the game! We started its public beta on February 1, 2019 on the Public Test Realm, and after 1.5 months we can say it's polished enough to go live.
[quote]
What is power?
Power is an end-game mechanic opening a whole new trek in the development of your colony: towards increasing its effectiveness rather than the size of colonized territory. This is how its contents look like:
- You mine a special resource called power.
- Mined resource is processed in 8-level rooms and increase your account Global Power Level (GPL).
- GPL allows for creation of Power Creeps — special hero units — and development their levels and skills (so called "powers").
This is a big game update containing many features:
* New design
* Creep.pull
* Controllers attack improvement
* Other changes
See the full post about these changes in our official blog.
We were all looking forward for shard3 to open. In this post, we are pleased to announce its launch along with some more great news. First, were happy to announce that the free non-subscription CPU limit is raised from 10 to 20. Yay! And now is the most interesting part. Shard3 becomes our first CPU-limited shard. It limits CPU of all players to 20. Even if you have an active subscription and assigned more CPU to this shard, only 20 CPU will be active there. This means this shard is mostly designed for non-subscription players. They can now compete with all their neighbors on equal terms (CPU-wise), whether they are subscribed or not. In all other aspects, shard3 is a regular shard with Novice and Respawn Areas and portals from shard2 (temporary closed for 60 days). You can freely travel there, but your CPU will be capped, so having a subscription will force you to learn how to optimize your creeps in the same way as non-subscribed players do. And the last thing: since you get twice as much CPU now when you buy Screeps on Steam, the free 30-day subscription trial is discontinued. We recommend new players to start on shard3 and buy a subscription if they want to expand to other shards.
This is a big game update containing many features:
* Tunnels
* Room event log
* Unboosting creeps
* Other changes
See the full post about these changes in our official blog.
The latest issue of our Screeps World Review is out! Read about the game world progress in the past quarter, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ FULL ARTICLE
We have something very special for you! New subscription option is available now: Lifetime Subscription! It grants lifetime indefinite access to full unlocked CPU on our official MMO server. Buy it once and forget about monthly payments!
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.
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 initiallyOperator.
- 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.
It’s been a while since you’ve heard from us, but all in good reason. We’ve been working hard on some exciting new features that we’re now happy to announce.
Isolated virtual machine
The chances are that this major improvement will become historical. Nobody did that in the Node.js world before, we’re proud to be pioneers here. Marcel Laverdet, our open-source contributor, has implemented an excellent isolated-vm native module that finally brings full-featured VM isolation to Node.js. With the integration of this library, Screeps can now provide truly separated sandboxes to players that don’t affect each other in any way. It is highly recommended to try now, since it will be our default VM in a few months.
- You can opt-in for an isolated VM in the new account settings UI called Runtime. This will move the execution of your script to another pool of server nodes with this experimental feature enabled.
- The isolated VM takes you to your very own JavaScript environment, including heap memory and garbage collector.
- Since isolated VMs can be transferred between threads within the same Node.js process, it is no longer neccessary to maintain multiple global instances, and you always have one single global. Moreover, your global environment is very stable and can persist for several days without resets (unless you reset it with your own actions).
- You can use the new API method Game.cpu.getHeapStatistics() to know how much heap memory you’re using in runtime. The maximum effective limit is 256 MB for each player. If you exceed this limit, your VM may be reset.
npm install screeps@beta
It is recommended to set runners_cnt to 1 in your .screepsrc file, since otherwise it will create multiple global environments for each player. There is a new option runner_threads instead which should be set to the number of your CPU cores.
Also, you may want to launch Node.js with --harmony_sharedarraybuffer flag in order to enable some memory optimizations.
Tombstones
Introduced new major feature: creep Tombstones. When your creep dies for any reason, there is now a special object left that contains information about the deceased creep and any resources it carried.
- New Tombstone global prototype.
- New constants FIND_TOMBSTONES, LOOK_TOMBSTONES, TOMBSTONE_DECAY_PER_PART.
Other changes
Its been a while since youve heard from us, but all in good reason. Weve been working hard on some exciting new features that were now happy to announce.
Isolated virtual machine
The chances are that this major improvement will become historical. Nobody did that in the Node.js world before, were proud to be pioneers here. Marcel Laverdet, our open-source contributor, has implemented an excellent isolated-vm native module that finally brings full-featured VM isolation to Node.js. With the integration of this library, Screeps can now provide truly separated sandboxes to players that dont affect each other in any way. It is highly recommended to try now, since it will be our default VM in a few months.
- You can opt-in for an isolated VM in the new account settings UI called Runtime. This will move the execution of your script to another pool of server nodes with this experimental feature enabled.
- The isolated VM takes you to your very own JavaScript environment, including heap memory and garbage collector.
- Since isolated VMs can be transferred between threads within the same Node.js process, it is no longer neccessary to maintain multiple global instances, and you always have one single global. Moreover, your global environment is very stable and can persist for several days without resets (unless you reset it with your own actions).
- You can use the new API method Game.cpu.getHeapStatistics() to know how much heap memory youre using in runtime. The maximum effective limit is 256 MB for each player. If you exceed this limit, your VM may be reset.
npm install screeps@beta
It is recommended to set runners_cnt to 1 in your .screepsrc file, since otherwise it will create multiple global environments for each player. There is a new option runner_threads instead which should be set to the number of your CPU cores.
Also, you may want to launch Node.js with --harmony_sharedarraybuffer flag in order to enable some memory optimizations.
Tombstones
Introduced new major feature: creep Tombstones. When your creep dies for any reason, there is now a special object left that contains information about the deceased creep and any resources it carried. Tombstones slowly decay over time, the decay period depends on the creep body size. After it is decayed, all resources contained are dropped on the ground. A tombstone provides room visibility to its owner.
- New Tombstone global prototype.
- New constants FIND_TOMBSTONES, LOOK_TOMBSTONES, TOMBSTONE_DECAY_PER_PART.
Other changes
We’re glad to announce that Screeps now has user-generated authentication tokens support. You can use these persistent tokens to authenticate to our undocumented Web API endpoints without using the sign-in process. Use your Account / Auth Tokens section to generate such a token.
Please note that the usual sign-in process will start using Google Invisible reCAPTCHA effective February 1, 2018.
If you have an external tool which uses https://screeps.com/api/auth/signin endpoint automatically, please change it to use Auth Tokens before February 1, 2018! Otherwise it will stop working.
Doing this is trivial: you need to drop using auth/signin endpoint and set X-Token header in all your requests to the persistent token generated from your account settings.
Learn more about this feature in the documentation.
Were glad to announce that Screeps now has user-generated authentication tokens support. You can use these persistent tokens to authenticate to our undocumented Web API endpoints without using the sign-in process. Use your Account / Auth Tokens section to generate such a token.
Please note that the usual sign-in process will start using Google Invisible reCAPTCHA effective February 1, 2018.
If you have an external tool which uses https://screeps.com/api/auth/signin endpoint automatically, please change it to use Auth Tokens before February 1, 2018! Otherwise it will stop working.
Doing this is trivial: you need to drop using auth/signin endpoint and set X-Token header in all your requests to the persistent token generated from your account settings.
Learn more about this feature in the documentation.
- Runtime servers upgraded to Node.js 8.9.3 (LTS). It ships with V8 5.8, a significant update to the JavaScript runtime that includes major improvements in performance. This enables many modern ES6 language features, such as WebAssembly support. Since it’s a major release, it may have different performance profile depending on language features you use.
- Added binary modules support to the in-game IDE and require mechanics. Learn more in the documentation.
We have always put little attention to graphics in Screeps, since this is a rather niche game for programming nerds. In terms of technology, the game engine has been a simple set of SVG objects moving across the web page. It allowed for rapid development without distracting on complex visual components, but it ruled out any appealing visual effects (like lightning). Besides, this approach suffered from subpar performance when a lot of objects were on screen. So it's time to change that!
In this update, we are excited to reveal a full-blown graphic engine for Screeps based on WebGL and PixiJS. It will allow you to:
- Leverage your machine's GPU even in the browser to significantly boost performance without any lags when scrolling.
- Save your laptop's battery juice since GPU is much more energy-efficient for this task than CPU.
- Add new visual effects to enrich the game atmosphere and yet retain our usual relaxing, abstract style.
It’s big time! 2 months after its creation, shard1 is available for settlement from outside. The portals leading from shard0 to shard1 and back open their doors for all the settlers, traders, and highway bandits out there.
But aside from the evident feature of transferring players’ creeps between worlds, these portals will leverage another interesting game mechanics, NPC Events.
We won’t delve deep into all the details but leave it for you to discover, especially since the events content and mechanics will change with time. But one thing is sure: it’s worth keeping your eyes on what comes out of these portals (including with your Observers), it could be something tasty!
By the way, a little hint for you: when an NPC creep that took part in an event like this dies, its resources don’t drop on the ground but are placed in a container created automatically so that you can conveniently grab them in time.
Good luck hunting!
- All credits amounts now work with 0.001 precision, including order prices, credits balance and transactions history. User credits balance and order prices are stored in the database as thousandths in integer format which prevents rounding errors. In order to update your private server data, an automatic database upgrade will be performed, see this commit .
- Added new StructureSpawn.spawnCreep method. createCreep and canCreateCreep are now considered deprecated, but still will be available for backwards compatibility. See discussion in this pull request for details.
- When you click “Respawn”, all structures now don’t vanish, but change their owner to SYSTEM_USERNAME, so that other players are able to withdraw resources from them.
Shards API
- Added new global property Game.cpu.shardLimits.
- Added new global method Game.cpu.setShardLimits.
- Added UI for assigning CPU to the shards menu.
Controller downgrading changes
- attackController applies 1000 ticks of upgradeBlocked and decreases the ticksToDowngrade by 300 *
ticks. The claimer creep will only need 1 tick to do this amount of damage. The creep will not be able to do another attack until upgradeBlocked is back to 0. - upgradeController restores 100 ticks of ticksToDowngrade rather then resets it immediately.
- While the controller is downgrading, it doesn’t upgrade its level even when it has enough progress (progress is not lost, but accumulated without triggering the level up).
- Safe mode activation is not possible when the controller is downgraded for 5000 or more ticks.
We are excited to announce we just launched the sharding system for the Screeps world! The second plane called shard1 already works with faster tick rate and waits for its first settlers! If you wanted to start playing but disliked long 5-second ticks, now is the time!
TL;DR World shards are isolated from each other and run your code separately. Your creeps can travel between them using special portals. The original world becomes shard0. Portals will be closed during 60 days grace period, but you are free to (re)spawn on either shard0 or shard1.
Concept
Game performance in all aspects is an important area of our work. It was not left unnoticed by us that game simulation performance (tick rate) noticeably decreased lately due to the increase of the number of objects and growing complexity of players’ scripts. We understand it can lead to negative sentiment on the subscription-based model, and we won’t tolerate this situation. But the Screeps game world has grown to such an extent that the most powerful machine available from our hoster currently runs our database at 100% of its capacity. We can’t merely add runtime servers anymore since the database can’t manage such amount of I/O requests. We experimented with different setups of database sharding and replication, but all of them incur unacceptable overhead. We also tried different database management system (we use MongoDB currently), but it didn’t work out as well. It looks like the most effective way to horizontally scale our world without performance penalty is to review the very architecture of our servers cluster. Currently, our cluster can be represented in a classic “star” layout with the database in the center and runtime servers on edges. The game world is consistent and synchronized as a whole. We have moved from this architecture to a new layout of “multiple loosely coupled stars.” Our consistent game world will be divided into “shards” each with its own database of game objects, own game map, and own set of connected runtime servers. Creeps will be able to move between shards through special portals, but different shards will see time flowing independently without synchronization (i.e. Game.time in different shards will not match and tick rates will differ). Your code is executed in each shard separately. A special API allows you to determine which shard runs your code at the current moment. You will be able to set your CPU limit for each shard on a special page, and their total sum should match your account limit. The new system will lead us to an easily scalable horizontal system allowing for expanding the game world virtually without limitations and without increasing.
Timeline
By now, we’ve generated and opened a new shard1. It already has central sectors open for settlement. We’ll open new sectors around them as the need arises. The portals leading from shard0 to shard1 have already been created and put to place, but walled for 60 days.
No inter-shard interactions will be available during this period. You can settle in shard1 only by complete resettling there. You can think of shard1 as a giant Respawn Area and an opportunity to make a fresh start in the whole new world. During this period, we’ll develop and provide for testing special tools for managing CPU and GCL resources of your account and their distribution between shards. When 60 days are over, the portals will open, and outside invaders will appear to compete with native shard1 inhabitants for new territory!
How it works
- Your script is executed on each shard individually and independently.
- Your GCL and CPU limit should be allocated to each shard using the special section in the Overview UI or via API (still in development; currently you have full GCL and CPU in each shard).
- Console contents is broadcasted from every shard with the corresponding note in the console UI.
- Memory is isolated; you have separate 2 MB of Memory and 10 MB of Memory Segments in each shard.
- There is a special memory segment that can be used for passing messages between shards.
- Markets are separate. However, credits balance and history are shared between shards.
- Creeps can use special inter-shard portals in highway crossroad rooms to travel between shards in the same way as inter-room portals. These portals are permanent and may be regenerated only when the world is expanded. The name and ID of the creep remains the same on cross shard travel, but the creep loses time to live:
- 800 ticks for creeps without CLAIM parts;
- 150 ticks for creeps with CLAIM parts.
API Changes
- Added new global object Game.shard.
- Added new type of StructurePortal.destination object format with shard property.
- Added new RawMemory.interShardSegment.
- Added new Game.map.getWorldSize() method.
- Constants WORLD_WIDTH and WORLD_HEIGHT are now considered deprecated and should not be used.
- Removed obsolete and undocumented Room.mode property. If you used this property to check for simulation mode, please use this one instead:
[noparse]Game.shard.name == 'sim'[/noparse]
The Q2 2017 issue of our Screeps World Review is out! Read about the game world progress in the past quarter, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ FULL ARTICLE
- Refactored creep damage and heal apply logic in a more consistent fashion. The main part of its logic can be found here:
- All incoming damage and heal is counted first, but not applied.
- Total heal and damage are applied to the creep's hits.
- hits <= 0 and hits > maxHits checks are made.
- The creep’s body is recalculated, including CARRY capacity.
- Market order prices now can be set with 0.001 precision. However, all real credits transactions still work with 0.01 precision, i.e. when you execute a deal, the resulting transaction (amount * price) is rounded up. You cannot execute a deal for a total amount less than 0.01 credits, the Game.market.deal method will return ERR_INVALID_ARGS. This means you can sell/buy energy for 0.001 per unit, but with amounts not less than 10 energy units per transaction.
Game performance in all aspects is an important area of our work. It was not left unnoticed by us that game simulation performance (tick rate) noticeably decreased lately due to the increase of the number of objects and growing complexity of players’ scripts. We understand it can lead to negative sentiment on the subscription-based model, and we won’t tolerate this situation. So in this post, we’ll talk about the three directions we plan to move so as to radically optimize performance.
Runtime: new virtual machine
Let’s begin with the most exciting things. As you perhaps already know, the Screeps server executes players’ scripts using the standard Node.js module vm. This is a relatively convenient environment for executing JavaScript code, but it has a serious disadvantage: scripts are not fully isolated from each other and the parent environment, but they share heap memory, garbage collection, and event loop. Because of this, running players’ scripts can’t be fully controlled by the engine, which adversely affects performance of both the game world and individual players’ scripts in particular. And here we have terrific news. Marcel Laverdet whom we already well know, recently wrote a native library isolated-vm designed to solve this issue especially for Screeps. It allows to directly create and control V8 isolates to wrap players’ scripts into completely isolated their own environments, and runtime state of such isolates can be serialized and transferred. A runtime engine refactor using this library potentially allows for the following:
- The heap memory accessible by your script will be only yours and nobody else’s. You can see the exact volume of heap memory your script uses.
- Everything in the heap memory (not just compiled scripts) can be saved between ticks and moved to other physical nodes for resuming in the next tick.
- The possibility of the transfer of serialized states makes it unnecessary to assign players to certain servers. It will seem to players that their scripts are always executed on the same physical server. This will not only improve caching time of newly-commited code, but will also remove the need to periodically calibrate runtime servers (popularly known as “reset storms”) which used to be required to optimally distribute players affinity across servers.
- Garbage collection executed on your account CPU will depend solely on objects in your heap memory rather than objects of other players.
Database: world shards
The performance of runtime servers is currently not the only one and perhaps not even the main performance bottleneck of the world in general. The Screeps game world has grown to such an extent that the most powerful machine available from our hoster currently runs our database at 100% of its capacity. We can’t merely add runtime servers anymore since the database can’t manage such amount of I/O requests. We experimented with different setups of database sharding and replication, but all of them incur unacceptable overhead. It looks like the most effective way to horizontally scale the database is to review the very architecture of the official servers cluster. Currently, our cluster can be represented in a classic “star” layout with the database in the center and runtime servers on edges. The game world is consistent and synchronized as a whole. We plan to move from this architecture to a new layout of “multiple loosely coupled stars.” Our consistent game world will be divided into “shards” each with its own database of game objects, own game map, and own set of connected runtime servers. Creeps will be able to move between shards through special portals, but different shards will see time flowing independently without synchronization (i.e.
Game.time
in different shards will not match and tick rates will differ).
Your code will be executed in each shard separately. A special API will allow you to determine which shard runs your code at the current moment. The CPU limit for each shard can be set on a special page, and their total sum should match your account limit.
This vision still has some unresolved issues, but in general, the new system will lead us to an easily scalable horizontal system allowing for expanding the game world virtually without limitations and without increasing the main DB load. Right with the launch of this feature, we plan to launch a shard with a 2-second tick rate. You’ll be able to respawn and start playing in it, or direct your creeps there through portals to create an “inter-shard” colony. We expect that the flow of players on the new shard will unload the old (current) one which will favorably affect its tick rate as well.
Client: WebGL renderer
Currently our new developer Fedor works on a new graphics engine for the game using PixiJS. This is a 2D engine for games and complex graphics development that utilizes WebGL as the main rendering method, falling back to canvas if WebGL is unavailable. The graphics won’t radically change soon (though eventually we have redesign plans as well), but the way it’s displayed in the Steam browser/client will change. Currently all the game graphics is based on SVG/canvas, but SVG will be phased out completely, and canvas usage will be very rare. This will allow for the following:
- WebGL uses GPU and is optimized much better than SVG. Your laptop won’t get hot and drain your battery as you’re just watching your room in Screeps.
- Since all game objects will be stored as 2D sprites, we’ll be able to customize graphics and possibly even introduce customizable game themes.
- We’ll obtain tools to create new beautiful animation and special effects. For example, we’ll be able to add lighting effects and create a special API to control glow color of your creeps. This graphics engine will also give us more possibilities in terms of room decoration.
When will all this happen?
We plan to start publishing early iterations of first prototypes across these 3 development tracks within coming weeks. For example, you’ll be able to activate the WebGL renderer with the help of a special experimental option in the client’s settings. New back-end features will be first run on PTR, and we’ll announce them separately. Stay tuned!
Introduced new public memory segments feature. Now you can mark some of your memory segments as public, and other players will have read-only access to them using RawMemory API.
- Added RawMemory.foreignSegment property.
- Added RawMemory.setActiveForeignSegment method.
- Added RawMemory.setPublicSegments method.
- Added RawMemory.setDefaultPublicSegment method.
- Added console warnings to deprecated methods Structure*.transfer, Structure*.transferEnergy, PathFinder.use, and FIND_DROPPED_ENERGY constant. These methods will be removed from the API in one of the next updates.
Going to another technical interview and want to show your Screeps skills as a proof? Fleetster startup uses Screeps as a key part of their recruitment process. Anna Baumeister explains how Screeps is useful for their business: [quote]We started using Screeps as a means of technical evaluation end of last year. Since then, our business has been thriving and our use of Screeps as a test has become more visible. In order to understand why we chose your game as a key part of our recruitment process, it’s important to understand a little bit about fleetster. We are a small startup in Munich, Germany, working with the latest JS tech - Node, Ember, React, React-native, TypeScript etc. Our business is lean and our process is agile which means specifications are changing all the time. Screeps is useful because it throws candidates into an unknown environment where the number of “right” solutions are very numerous. They have to get their bearings and make a pl an of action whilst dealing with unexpected outside interference (other players). We hope you won’t mind our presence in the main game world, but we find the huge scope of the main world helps to further intimidate candidates. We need people who can take on complex challenges head on and realize that most often the solutions are simple and accessible. — Anna Baumeister, Management Assistant at fleetster[/quote]
- Updated official servers runtime Node.js version to 6.10.3 LTS.
- Changed terminal transfer energy cost formula:
energy_cost = resources_amount * (1 - Math.exp(-range / 30))
- Introduced new StructureTerminal.cooldown feature. It is triggered on both StructureTerminal.send and Game.market.deal methods and is equal to 10 ticks regardless of the transaction size and range. Methods will return ERR_TIRED code if the cooldown is active. New TERMINAL_COOLDOWN constant is added.
- Removed non-intuitive behavior of auto-attacking objects on Creep.move. This fixes an exploit of doing attack and heal simultaneously which is prohibited.
- Runtime virtual machine now uses breakOnSigint feature. CPU limit reached error messages have three types now:
- Script execution timed out - when the soft timeout is fired
- Script execution has been interrupted - when SIGINT signal received
- Script execution has been interrupted with a hard reset - when SIGKILL signal received (runtime process restart).
- Changed boost effects of UO, UHO2, XUHO2 according to the documentation.
The Screeps Team is looking for an enthusiast who is willing to make our community a better place. Your responsibilities will be: working with the players community representing the Screeps Team and with the Screeps Team representing the players community. This is a remote paid part-time job position on the hourly basis (using time tracking software). We want you to join us if:
- You are an experienced Screeps player and active community member.
- You have excellent communication skills (in English).
- You have good organizational and information structuring skills. You are able to read a lot of discussions, extract the essence from them and explain in 3 sentences.
- You have past experience working as a moderator or community manager in some other project.
- You are more interested in making Screeps a better game rather than making money.
The Q1 2017 issue of our Screeps World Review is out! Read about the game world progress in the past quarter, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ FULL ARTICLE
Great news: we've launched a new documentation site! Quality documentation and API reference are crucial for the success of any program platform, and Screeps can well be considered a program platform. That's why we spent so much time to thoroughly document all available game objects and methods which was not very convenient on top of Zendesk Help Center. Now we are excited to announce the launch of our new documentation site that you can start using right now! Here is the link: http://docs.screeps.com Besides revamped looks and improved desktop and mobile navigation, the new site boasts another feature: it is fully open-source and GitHub-based. This means you can always offer a fix or suggestion. And that's not all! We understand that Screeps is a game with a steep learning curve, and good documentation helps make it flatter. If you want to help us document the game well, we are ready to thank you in return.
Contribute to documentation and earn money
We announce the launch of the Contributed Articles program! If you write a fully compliant article that will be included in the official documentation, you will get $50 on your PayPal account or 5 Subscription Tokens (roughly equivalent to $ 90) on your game account depending on your choice. Please read more about the program using this link.
Introduced new kind of world map zones: Respawn Areas.
- Respawn Areas are highlighted with blue color on the world map.
- They are isolated from the rest of the world with a wall. The wall has a timer similar to Novice Areas. Any player can place the first spawn in this area, but nobody can come here from the outside world while the timer is up.
- The only restriction in Respawn Area is nukes usage - a nuke cannot be launched from or to a room in a Respawn Area.
- Players with GCL 4 or higher are no longer able to start playing in Novice Areas. They have to either respawn in a regular room or in a room within a Respawn Area that will keep them safe for a while and allow to claim as many rooms as their GCL allows.
Other changes
- When a Novice or Respawn Area is being planned in an inner sector, all free rooms in this sector will be signed by the game with the following message:
- Added new constants SYSTEM_USERNAME, SIGN_NOVICE_AREA, SIGN_RESPAWN_AREA. You can use them to programmatically check the signs in the rooms that are important to you and reserve them if such a message detected.
Memory segments
Introduced new memory segments feature:
- You can have up to 10 MB of additional memory by activating asynchronous memory segments.
- Each memory segment is a string with an ID from 0 to 99.
- Maximum segment data length is 100 KB.
- Segments are asynchronous, you should request them using RawMemory.setActiveSegments. The data will be available on the next tick.
- You cannot have more than 10 segments active at the same time.
- Active segments are available in RawMemory.segments object and are saved automatically.
- Activating and saving segments have no added CPU cost.
RawMemory.setActiveSegments([0,3]);
// on the next tick
console.log(RawMemory.segments[0]);
console.log(RawMemory.segments[3]);
RawMemory.segments[3] = '{"foo": "bar", "counter": 15}';
You can use this feature to store data which is not needed every tick, for example pathfinding caches, or collected statistics. Offloading data structures from Memory to asynchronous segments will allow to save some CPU spent on Memory parsing.
Other changes
- You can now create a RoomVisual object using the constructor without a roomName parameter and post visuals to all rooms simultaneously:
new RoomVisual().circle(30,30, {fill: 'red'}); new RoomVisual('W1N1').rect(10,10,40,40);
This code will display both the circle and the rectangle in the room W1N1, and only the circle in any another room. - Changed RoomVisual.text method style options:
- Renamed size option to font. It can be either a number or a string in one of the following forms:
- 0.7
- 0.7 serif
- bold italic 1.5 Times New Roman
- 20px sans-serif - absolute size in pixels
- Added new stroke and strokeWidth options.
- Added new backgroundColor and backgroundPadding options.
Example:
new RoomVisual().text('Text 123', 10, 10, { font: 'bold italic .7 serif', color: 'white', backgroundColor: '#88ff88', backgroundPadding: .3, stroke: '#005500', strokeWidth: .15 });
- Renamed size option to font. It can be either a number or a string in one of the following forms:
The January issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ FULL ARTICLE
We introduced an exciting new major feature - RoomVisual API. Now you can draw simple shapes (lines, circles, rectangles, polygons, text labels) right at the game field in any room to debug your code and/or display arbitrary info. For example, you can visualize your creep path (using the new visualizePathStyle move option), plan your future structures placement, display debugging text messages including Unicode emoji, and many more. These visuals are visible only to you, and all API calls have no added CPU cost.
API Changelog
- Added new RoomVisual global prototype.
- Added new Room.visual property.
- Added new visualizePathStyle option to the Creep.moveTo method.
The January issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ FULL ARTICLE
Private server package updated to v2.2.2. See changelog here.
The December issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ FULL ARTICLE
Private server updated to v2.2.1. See changelog here.
Introduced controller signing mechanics. It allows to sign any (owned, unowned or hostile) room with a random text message visible to all players (up to 100 characters). This message will appear in the room UI and in the world map:
API changes:
- Added new Creep.signController method.
- Added new StructureController.sign property.
The November issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ THE FULL ARTICLE
Screeps was launched on Steam in June. Though the game was fully ready, we marked it as Early Access since it lacked the main feature of the Steam release: dedicated servers. Now, after several months, we have a packaged product: well-working official MMO world plus fully functional dedicated servers allowing to play either locally or online without subscription. So we are happy to announce the end of the Early Access stage and the full release of Screeps on Steam! This doesn't mean though that the development is halted. We have plenty of plans (check our Roadmap), and we continue to add more features, improve existing ones, improve our documentation, and fix rare bugs. But it is only now that we've reached the minimal feature set we envisioned long ago. The further development will focus on gradual improvement of the game. We hope you'll like it! And on the occasion, we announce a special 10% launch discount that will last only one week, until November 23!
We have enabled Steam Workshop integration in the 2.1.0 server build. Now you can submit your mods and bot AI scripts to the Workshop, and manage them using the Steam client server launcher:
Steam Workshop is linked to the npm repository. It means that you need to publish your package to npm first, and submit it to the Steam Workshop after:
This way we can have the best of both worlds: all mods are still available via npm, and you can browse them using the convenient and friendly Workshop UI. All mods will be automatically updated to the latest version on server launch.
Now, it is time to write some mods!
- CARRY parts now don’t have weight penalty when boosted. One CARRY part always generates fatigue as one body part, even if it contains more than 50 energy units.
- Increased the following boost effects:
- UO: from +100% to +200% harvest
- UHO2: from +200% to +400% harvest
- XUHO2: from +300% to +600% harvest
- LH: from +30% to +50% repair and build
- LH2O: from +65% to +80% repair and build
- GH: from +30% to +50% upgradeController
- GH2O: from +65% to +80% upgradeController
We are glad to announce that after two weeks of closed testing, the Screeps standalone server is live for public testing, and the entire code is posted to our GitHub and available to all! Now you can either run the server via Steam or install it on any machine from the NPM repository with a couple of commands. Please see instructions in our README. Within a couple of days, we plan to set up integration with the Steam Workshop to let you upload your mods for the community. Besides, after negotiating all the details with the Steam marketing team, we have agreed on the date of making Screeps available on Steam as "Full Release." If everything goes as intended, the release will happen in a week, on November 16! The game will exit the Early Access status and be published in the main catalog of Steam games.
The October issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ THE FULL ARTICLE
- Invaders in Source Keeper rooms are now always spawned in groups of 2-5 creeps and may be boosted with tier-3 boosts including XGHO2.
- The world map is now continuous on borders when doing StructureTerminal.send and trade operations. The corresponding option added to the Game.map.getRoomLinearDistance method:
Game.map.getRoomLinearDistance('E65S55','W65S55', false) // 131 Game.map.getRoomLinearDistance('E65S55','W65S55', true) // 11
- Mineral regeneration mechanics are changed. Mineral regeneration amount is no longer random, but rather depends on a new property called Mineral.density:
- DENSITY_LOW: 15K amount (10% probability)
- DENSITY_MODERATE: 35K amount (40% probability)
- DENSITY_HIGH: 70K amount (40% probability)
- DENSITY_ULTRA: 100K amount (10% probability).
- In most cases, density is not changed between regenerations. However, there is a 5% chance that it will be changed to a random new density on the next regeneration cycle. For DENSITY_LOW and DENSITY_ULTRA deposits this chance is always 100%.
- Mineral deposits density is visually observable on the world map using the corresponding display option.
- Flags count is now limited to 10,000 per player.
- When created via the API, flag names are limited to 60 characters (creating via UI is already limited, there was the lack of filtration in the API). Old flags names will be truncated to 60 characters.
- When remainingAmount property of a market order becomes equal to 0, the order now does not get deleted, but becomes inactive instead. You can call extendOrder and reactivate it keeping the same persistent ID. You must call cancelOrder explicitly in order to remove this order from your list.
We have enabled Subscription Tokens integration with the Steam Community Market. Now you can not only buy tokens via Steam, but also sell them there for real currency! If you own Screeps in your Steam account, having tokens in your profile will allow you to exchange and trade them on Steam in the same way as with any other items on it.
In fact, this means that you can earn real money into your Steam Wallet by mining resources in Screeps. Or, more exactly, by one-time programming the mining and production of these resources!
- Increased nukers and observers range to 10 rooms.
- Increased nuke energy cost to 300K.
- Changed nuke landing damage to structures:
- 10M damage to the landing position;
- 5M damage to all structures in 5x5 area.
- Added new nuke landing effect:
- If the room is in safe mode, it is cancelled immediately, and the safe mode cooldown is reset to 0.
- The room controller is hit by triggering upgradeBlocked period, which means it is unavailable to activate safe mode again within the next 200 ticks.
- When safe mode is active, all hostile creeps become visually transparent and passable - your creeps can move through them freely (but not vice versa).
- Source Keeper lairs now start a new keeper spawning period immediately as the old one is injured, rather than when it is dead. If the old keeper is still alive in 300 ticks, it disappears and gets removed by the new one.
- Reduced labs reaction speed from 10 units per 10 ticks to 5 units per 10 ticks.
- Reduced energy sources capacity in source keepers rooms from 4500 to 4000.
- Introduced new StructureExtractor.cooldown property. It is triggered on each harvest action, your harvesters have to wait for 5 ticks until the next harvest call is possible (it will return ERR_TIRED result code).
- Reduced mineral deposit regeneration amounts from 70-140K to 35-70K. Now all minerals (including hydrogen and oxygen) have the same amounts.
- New NPC market order prices.
VIEW ORIGINAL ARTICLE
The September issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ THE FULL ARTICLE
- Added new method Game.market.getOrderById.
- Updated all script servers to Node.js 6.6.0 (V8 5.1.281.75).
Introduced new room safe mode mechanics. It will replace room novice walls protection, and allow to arbitrarily safeguard your rooms while you are offline.
Safe mode is enabled on the room controller when a new player spawns in the world initially. It also can be triggered by any player manually using either the StructureController.activateSafeMode() method, or the button in the controller UI. When activated, it blocks attack, rangedAttack, rangedMassAttack, dismantle, heal, rangedHeal, attackController and withdraw methods of all hostile creeps in the room.
Only one room can be in safe mode at the same time. Safe mode period lasts for 20,000 ticks. It cannot be activated again during the 50,000 ticks cooldown period. But in Novice Areas, there is no cooldown at all.
In order to activate safe mode you spend available activations (StructureController.safeModeAvailable property). You obtain one activation on each controller level upgrade, and also can generate it by Creep.generateSafeMode() method using 1000 ghodium resource.
If the controller is downgraded, it loses all its available safe mode activations, and triggers the cooldown period.
Changelog
- Introduced new properties StructureController.safeMode, StructureController.safeModeAvailable, StructureController.safeModeCooldown.
- Introduced new method StructureController.activateSafeMode.
- Introduced new method Creep.generateSafeMode.
- The room owner can create up to 5 invader creeps using the Invasion UI in order to test room defences. These invaders will not drop resources when they die and can be removed using their UI. If another player’s creeps appear in the room, they suicide immediately.
- Renamed Game.map.isRoomProtected property to Game.map.isRoomAvailable (with the opposite meaning). The old name is still available, but deprecated and will be removed in the future. Rooms in safe mode are considered available.
- Added StructureContainer.ticksToDecay property.
- Added new method Game.market.changeOrderPrice.
- Added new method Game.market.extendOrder.
- Increased maximum orders limit per player from 20 to 50.
The market system has been deployed.
- Introduced new properties: Market.credits, Market.orders.
- Introduced new methods: Market.createOrder, Market.cancelOrder, Market.getAllOrders, Market.deal.
- Generated NPC terminals in “crossroad” neutral rooms.
- Added new global Game.resources property.
- Added new maxCost option to the PathFinder.search method.
- Added new properties in the result object returned from the PathFinder.search method: cost, incomplete.
September has begun, and we start getting natural questions like: “When will the open-source server go live that was promised in August?” So in this post we’d like to explain the situation that’s going on now. Currently we have actually three parallel development pipelines for Screeps:
- Features of the game itself and its gameplay
- Optimizing the official server
- Development of the standalone hosted server
- Zero dependencies.The official world works on a traditional server stack of many applications: nginx + nodejs + mongodb + redis. And it won’t work for the standalone server. The user should be able to just download an executable file via Steam, launch it, and get a working server at his IP address without any extra programs to install. We use Electron packaging to achieve this, but it also requires a separate database layer based on the in-memory database inside the application itself.
- NPM-based application. Though many users will opt for the easy downloading and running the server as a simple desktop application, we have to support a more advanced installation as an NPM module as well. Being a JavaScript application, the Screeps server organically fits into the npm packets ecosystem, but the current game server architecture (which was initially developed as a set of layers with loose coupling) should be divided into multiple modules to publish them in the npm separately. This will allow, for example, replacing the database layer module with your own one to use the desired server-side stack.
- Fully moddable architecture. To change the majority of server behavior aspects should require simple redefining of needed fragments through a system of external hooks and extensions rather than modifying the server code. We also need a possibility to add custom game entities even with their own visuals.
- Single-player bot players. The single-player mode (which makes some people long for the standalone server) will be pretty boring unless there is somebody else but the player in the game world. But the development of a full-fledged AI that can start from scratch in the game world and seriously challenge the human player is a very interesting and complicated task. We want the players themselves to find the solution to it, since that’s exactly the main fun of Screeps. Any player could write a script for his or her standalone AI and submit it into the common repository where other players of the single-player mode can install it. When provided with its own room in the worls, such a standalone AI has to be able to analyze the situation, develop its colony, and bring some life to the game world where it exists. The repository will introduce a ranking system for AI performance, user comments to them, new version updates, etc.
- Steam Workshop support. The two aforementioned options are perfect in terms of excellent mechanics of Steam Workshop. The system of downloading and installing any custom files provided by the Workshop can be utilized to automatically install and update custom mods, game object types, bot players, and entire complete worlds. This is a huge task, but it’s vital for the Screeps ecosystem.
The August issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ THE FULL ARTICLE
- Changed terminal send cost to the following non-linear formula:
Math.ceil( amount * (Math.log(0.1*linearDistanceBetweenRooms + 0.9) + 0.1) )
- Introduced new method Game.market.calcTransactionCost that allows to estimate the energy cost of transactions via Terminals or market orders.
After the Steam launch, many people got to know about Screeps and supported it financially. We thank all of you who contribute to the project’s development! It was very important for us to have an audience though not big, but such advanced and smart as you all are! The successful Steam launch increased financial capabilities of the project. As before, our team consists of three people: Artem, Sergey, and Anton, but Artem now works on Screeps exclusively full-time, while Sergey and Anton help with important tasks on an ongoing basis. Now we are completely confident in our abilities to implement the majority of our plans that once seemed to us colossal and unfeasible, but now we have a clear vision of what to do next on the project. So we’d like to share some of our thoughts with you. Below are some major features and areas that we either work now or will work on within the coming months. The order is not always chronological, but it gives a glimpse on our priorities.
Market system
The biggest feature to arrive in the coming weeks is a system for trading resources between players. This article explained in detail the way it would function. Aside from evident advantages of organized trade and social features it offers, it also allows to launch the system of Subscription Tokens – special in-game items to pay for CPU Subscription which can be traded on this same market. Each player will have the opportunity to purchase CPU using his or her game resources, thus essentially playing Screeps for free.
Open source server
A major milestone that was long awaited, this has been developed for several months to become the next phase of the project development after the market system deployment. We’ll release a game server to launch as a regular Node.js / Electron application accessible to any owner of the Steam version of the game via the server’s IP address. The server can be launched on a local computer in the single-player mode, on LAN to play with friends, or on an Internet server to create a publicly available game world. Unlike the official game server where MongoDB and Redis are used, the open-source version is being developed without external dependencies which allows to run it as a regular desktop app. However, since its code will be fully open, you can always add any customizations according to your needs and imagination. This step will include a planned release of the Steam version and closing the Early Access period.
Better simulation
The simulation mode hasn’t seen many changes since the early days of the project, so we’ve collected a lot of feature requests that we want to implement in the nearest future. We’ll allow you to save different simulation room states under different names, copy any room from the game world or a replay into the sim, import/export to JSON, playback a single game tick multiple times. Augmenting this with the local server will create new opportunities to debug and test scripts.
Power Creeps
This feature has been announced long ago, when the Power resource was first added, but we’ve been having many other important things to do and Power creeps are still on the concept design stage. By the way, it ought to be very well though-out and balanced since this is essentially a system of “heroes” with classes and skills, and they can affect the game balance dramatically. Having immortality and unique abilities, each Power creep will be an important player’s asset along with the Global Control Level that you can’t lose even after a complete failure in the game world. We have to think very thoroughly about each branch of class development so that they allow many equally advantageous lines and interesting dilemmas. Aside from some evident areas of Power creeps application (offense, defense, economy), we’ll introduce another one that wasn’t announced before. Here is what it’s about:
Arena
Starting from Room level 5, a new structure will be available called Arena. By moving any three creeps close to it, you will be able to teleport them to a special virtual room, separated from the game world and generated exclusively for your matches with other players in the 1 vs 1 mode. The system will pick an opponent for you among other players who have released their creeps onto the Arena, and a duel will begin between them. It will last until either one of the players loses his creeps or the time runs out. This room will be accessible for your scripts in the same way as regular rooms of the game world, but under a unique name. After the end of the duel the winning creeps get teleported back into the Arena structure. All the latest matches are viewable as replays in the special section of your Overview. One interesting detail is that you can release to the arena both the regular creeps (for new players) as well as Power Creeps with a special class Gladiator. It will give them some special abilities, and their behavioral logic will prove to be an interesting programming challenge. Arena winners will be rewarded with a special Arena Rating which will make a new monthly Top. You can either gain or lose points as an outcome of a match. The system will try to pick opponents for your creeps that best match your rating. Aside from simple rating points for wins, there will be a more substantial prize – a new resource called Pixels.
Pixels & decoration
Pixels are a resource tied to your account. You can trade it on the market, and it is required to purchase and create special decoration elements for your room. Having a certain amount of Pixels, you can place in your room a flag, tree, pattern, emoticon, inscription, or any other image available in our Pixel Store. You can customize images by size and color thus making any of your rooms visually unique. Such decorations won’t have any functional bearing, but you can customize them via the API for creating tick-based animations. Pixels will be tradeable not only on our in-game market but also the Steam Community Market.
API versioning
In your account settings you will be able to specify directly which script API version you want to use. Major API updates will be released alongside new versions, so to avoid breaking changes in your scripts we’ll leave the old version available for some time, while new players will be able to use new capabilities of the new version. It will allow us to implement new interesting features more flexibly and freely. For example, we can use modern ES6 practices when designing game objects. Below are some of the features without fully developed ideas, but we’d like to make use of them in the future.
Achievements
Quite an evident and desirable thing that yet requires a lot of development efforts. Important milestones in a player’s progress will be highlighted to match specific achievements visible in your website profile and on Steam.
World events
Certain events can happen in the world according to our pre-defined rules, for example, the emergence of hidden rooms, big boss creeps with difficult logic (or many special small creeps), unusual game events with their own APIs. Participants will be rewarded with game resources and unique profile achievements.
Quests
Along with arenas, we’ve thought of a possibility to build special quest portals to teleport creeps not onto a match arena but into some quest room where you are to solve some room-specific problem and get rewarded with Pixels or other resources.
Native languages support
This is possible only on a long-term basis, but we're still contemplating developing separate runtime game servers for the native processing of your scripts written in various languages like Python or Lua. This will also require separate API branches for each language along with the documentation. However, this feature won’t be available on a local server. We are sure that all of this will be successfully implemented thanks to your committed support. And, of course, we’ll continue our routine work on improving stability and server performance, fixing bugs and glitches, and adding minor features and updates not listed here. Please share with us what you think about our ideas in the comments below!
The July issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ THE FULL ARTICLE
- Added new public option to Creep.say method. You can set it to true to allow other players to see the message.
- CPU cost of Creep.say method is set to NONE.
- Added new Creep.saying property that can be used to read the message at the last tick, even by other players.
- Moving onto exit tiles now doesn’t generate any fatigue regardless of creep movement capabilities.
- It is now possible to build spawns and extensions near energy sources.
- Changed downgrade timers for different Room Controller levels (CONTROLLER_DOWNGRADE constant):
- RCL1: 20,000 ticks
- RCL2: 5,000 ticks
- RCL3: 10,000 ticks
- RCL4: 20,000 ticks
- RCL5: 40,000 ticks
- RCL6: 60,000 ticks
- RCL7: 100,000 ticks
- RCL8: 150,000 ticks
- Fixed a bug in PathFinder module related to incorrect pathfinding near room borders in rare cases.
- RoomPosition.lookFor(LOOK_TERRAIN) now returns an array with a single element as documented.
- Fixed an issue in the simulation that caused ticks slow down over time. Please report if you still experience this issue.
- Introduced Creep.withdraw method. It replaces all structures’ transfer methods which are now considered deprecated.
- Executing StructureSpawn.createCreep now inserts a new dummy Creep object into Game.creeps hash immediately. The id property of such object is undefined until the next tick.
- Executing Room.createFlag now inserts a new Flag object into Game.flags hash immediately.
The June issue of our Screeps World Review is out! Read about the game world progress in the past month, analysis of leaders' achievements and successes, and video replays of noteworthy events:
READ THE FULL ARTICLE
We have just launched Screeps on Steam! The game is available on exclusive terms: buying Screeps through the Steam Store, you get lifetime MMO access with the 10 CPU limit. This resource is sufficient to maintain a small bunch of optimized rooms – play as much time as you like without ever paying for subscription! The CPU subscription will be available for order at the Steam store page in the next few days. Please take note that the local hosted mode is not available yet, it is planned for July-August. We are looking forward to hear your feedback! Please don't forget to write a review if you like the game. Have fun scripting!
Screeps
Screeps
Screeps
2016-11-16
Strategy MMO
Game News Posts 83
🎹🖱️Keyboard + Mouse
Very Positive
(1768 reviews)
https://screeps.com
https://store.steampowered.com/app/464350 
The Game includes VR Support
Screeps Linux 32 [154.08 M]Screeps Linux 64 [144.51 M]Screeps Server Linux 32 [269.47 M]Screeps Server Linux 64 [261.48 M]
Screeps - CPU Subscription
It is a MMO RTS sandbox game for programmers, wherein the core mechanic is programming your units AI. With all the attributes of a full-fledged strategy game, you control your colony by writing real JavaScript which operate 24/7 in the single persistent world filled by other players on par with you.
Your colony can harvest resources, build units, conquer territory, trade with another colonies. As you conquer more territory, your influence in the game world grows, as well as your abilities to expand your footprint. However, it requires a lot of effort on your part, since multiple players may aim at the same territory.
Screeps is developed for people with programming skills. Unlike some other RTS games, your units in Screeps can react to events without your participation – provided that you have programmed them properly. And, unlike other MMO, you do not have to play Screeps constantly to play well. It is quite enough just to check once in a while to see if everything goes well.
Features:
- You play by writing JavaScript AI which controls your units 24/7 even while you're offline.
- No shards, game realms and session match-ups: units of all players coexist in the same real-time persistent world and obey the same rules.
- Units, base, mining resources, territory control, economy, manufacturing, transporting, logistics, trading – all the attributes of a real strategy game which you need to program!
- The better your scripts, the better your game — irrespective of the time played. Your creeps will mine, build, defend, and conquer as you just work, sleep, or walk your dog.
- Only basic programming skills are required. However, if you are a pro developer, now is the chance to put your skills to the limit!
- Edit your scripts from the in-game editor, or using your favorite external IDE.
- Lifetime MMO access with 10 CPU limit included in the starter package. Raise your CPU limit to the point depending on your game level by purchasing a CPU subscription plan or via in-game items called Gametime Tokens. The subscription cost is the same for all players, there is no way to pay more to gain more advantages.
- Open source game server engine, and an option to create your own local world and play with friends without limits or subscriptions (not available yet, please read the Early Access notes).
- Storage: 500 MB available space
- Storage: 500 MB available space
[ 5952 ]
[ 3223 ]