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.
All Reviews:
Very Positive (616) - 89% of the 616 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 both your private server and 30 free days of CPU subscription trial on the official MMO server. After the 30 days period is over, you can continue playing on the official server, but your account will be limited to 10 CPU. To unlock full CPU, you have to order a subscription below or use an in-game item called Subscription Token. Private and community-hosted servers are available without subscribing.

CPU Subscriptions

Buy CPU Subscription Plan

Unlock full CPU in your account on the official MMO server. Doesn't affect private and community-hosted servers. For more information, see the "Why Subscription?" section below.

Save up to 22%
Select a subscription plan

Recent updates View all (54)

April 6

Power Creeps update

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

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

1 comments Read more

March 5

Changelog 2018-03-05

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.

Although this feature is still considered experimental, it is well tested on our PTR server and shows good results.

Private server support

An isolated VM is also available for private servers in our beta branch that you can install this way:

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.


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.

Thanks to davaned for this idea (see discussion on forum) and ags131 for implementation (PR #74).

Other changes

  • IMPORTANT: Lab reaction cooldown now varies depending on a reaction according to this table (also see the new REACTION_TIME constant).
  • Added new option directions to StructureSpawn.spawnCreep and new StructureSpawn.Spawning class which allows to set directions during spawning or cancel it immediately. (#61, #68 by sparr).
  • Added new parameter name to Room.createConstructionSite and RoomPosition.createConstructionSite (#50 by tedivm).
  • Creep .name and StructureSpawn .name properties can now be accessed by other players.
  • Added options plainCost and swampCost to Room.findPath (#62 by tedivm).
  • Increased CLAIM creeps life time from 500 to 600.
  • Creep.attackController on reserved controllers decreases reservation timer by 1 tick per CLAIM body part.
  • Other fixes:

These changes are supported in private server v2.13.0.

Read this post in the official blog
3 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. Unlock your full CPU in your account on the official server by purchasing a CPU subscription plan or via in-game items called Subscription Tokens (can be bought by in-game credits). 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.

  • The game is slow-paced (from 2 seconds to 5 seconds per game tick depending on a world shard where you start playing), since it allows you to debug your scripts in the real-time world. You can use your private server to develop and test with fast pace (up to 10 game ticks per second).

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
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:
Review Beta NEW!
When enabled, will sort reviews by new Helpfulness score. Read more about it in the blog post.
Show graph
Hide graph
Review Helpfulness Beta Enabled
There are no more reviews that match the filters set above
Adjust the filters above to see other reviews
Loading reviews...