Screeps is an open source MMO RTS sandbox game for programmers, wherein the core mechanic is programming your units AI. You control your colony by writing JavaScript which operate 24/7 in the single persistent world filled by other players on par with you.
Recent Reviews:
Very Positive (27) - 92% of the 27 user reviews in the last 30 days are positive.
All Reviews:
Very Positive (507) - 89% of the 507 user reviews for this game are positive.
Release Date:
Nov 16, 2016

Sign in to add this item to your wishlist, follow it, or mark it as not interested

Buy Screeps

This package includes 30 free days of CPU subscription trial. After the 30 days period is over, you can continue playing, but you will be limited to 10 CPU in the official MMO world regardless of your game level. This affects the official server only. The single-player mode and private servers are available without subscribing.

CPU Subscriptions

Buy CPU Subscription Plan

Raise your CPU limit to the point depending on your game level. Affects the official MMO world only.

Save up to 22%
Select a subscription plan

Recent updates View all (47)

September 19

Changelog 2017-09-19

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.
GCL is shared between shards and doesn’t need to be assigned to a specific shard.

Controller downgrading changes
  • attackController applies 1000 ticks of upgradeBlocked and decreases the ticksToDowngrade by 300 * <CLAIM_parts> 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, new level cannot be triggered even when the controller has enough progress (progress is not lost but accumulated).
  • Safe mode activation is not possible when the controller is downgraded for 5000 or more ticks.
These changes are supported in private server v2.9.0.
0 comments Read more

August 3

World Shards Launched!

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.


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.


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.
    This rule eliminates the abuse of inter-shard portals for quick travel in the same shard.

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 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: == 'sim'
These changes are supported in private server v2.8.0.

2 comments Read more


“It was fun while it lasted, and probably the best thing is that I really feel like my Javascript and Node fluency has gone through the roof compared to what it was. As I said at the start, this isn’t a game to learn coding in. But if you already know a bit, it’s a fun way to get from beginner to intermediate.”
Kotaku Australia

“Screeps is a fun game and has a unique angle to it. Using actual programming instead of a pseudo-language actually allows the players to focus on better coding habits and makes practice fun.”
8/10 – GameSkinny

“We use Screeps as a key part of our recruitment process at fleetster. Screeps is useful because it throws candidates into an unknown environment where the number of "right" solutions are very numerous.”

Why subscription?

Note: everything below is about the official MMO world only. The single-player mode and unofficial private servers are available without subscribing.

Screeps is an unusual MMO game that has no counterparts at the moment. There are numerous online games where your character exists in the game world only while you’re online and disappears after you exit the game. There are fewer games that have your character or units continue some defined automatic activity even after logging out. But only Screeps runs your scripts in full continuously, on the 24/7 basis, and you are allowed to use them for anything JavaScript allows.

This makes Screeps more like a hosting or cloud computing service rather than a traditional online game. We offer you server CPU time and fixed amount of memory that you can use as you wish (though it’s still preferable to use it in relation with the game!). Though a new player gets a quite low initial CPU limit, after upgrading your game level you can end up with your limit up to 300 ms per game tick which is quite a serious hosting asset.

As we designed the game, we were considering numerous options and finally came to a conclusion that justification of such expenses requires only one model: game time (or, in our case, CPU time) subscription. And note that we don’t offer multiple subscription options: the subscription cost is the same for all players. Thus we avoid creating game advantages for certain groups of players since all are provided with equal opportunities to use server resources.

If you don’t wish to use such resources on general terms, you can just confine yourself to purchasing a starter kit on Steam. A minimum 10 CPU amount will be reserved for you on the official MMO server, but it won’t grow following your game level. Such a mode is not suitable for a full competitive playing but is still enough for those who are fine with 2-3 game rooms in the game world to have some fun of the game.

Subscription Tokens

Subscription Token is a special in-game item that allows its owner to activate 60 days of CPU subscription. You can buy a subscription token the same way as a regular CPU subscription, but these items are tradeable, you can sell them to another player or buy for game resources.

Hence, those players who want to share their resources with others can play Screeps as a free-to-play game! Subscription tokens trading is possible via the in-game market or Steam Community Market allowing to trade purchased tokens for real currency using your Steam Wallet.

About This Game

Screeps is about scripting your creeps.

It is an open source 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.

  • You play by writing JavaScript AI which controls your units 24/7 even while you're offline.

  • Units of all players coexist in the same real-time huge persistent world and obey the same rules.

  • Many kinds of units, base building, 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 Subscription Tokens. The subscription cost is the same for all players, there is no way to pay more to gain more advantages.

  • Host your own server, modify games rules and play with your friends via LAN or on the Internet. No subscription required. The server is an open source project.

  • And many more features to come! (see Roadmap)

System Requirements

Mac OS X
SteamOS + Linux
    • Network: Broadband Internet connection
    • Storage: 500 MB available space
    • Network: Broadband Internet connection
    • Storage: 500 MB available space
    • Network: Broadband Internet connection
    • Storage: 500 MB available space
    • Network: Broadband Internet connection
    • Storage: 500 MB available space
    • Network: Broadband Internet connection
    • Storage: 500 MB available space
    • Network: Broadband Internet connection
    • Storage: 500 MB available space
Customer reviews Learn More
High Volume of Reviews Detected:
Exclude  or  View Only
Review Type

Purchase Type


Date Range
To view reviews within a date range, please click and drag a selection on a graph above or click on a specific bar.

Show graph

Display As:
Show graph
Hide graph
Showing 400 reviews that match the filters above ( Very Positive )
There are no more reviews that match the filters set above
Adjust the filters above to see other reviews
Loading reviews...