Fleetster uses Screeps to hire developers

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:

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

Wanted: Community Manager & Advocate

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.

If this describes you, please email your resume to job@screeps.com. Don’t forget to specify your Screeps nickname and experience, and your desired hourly rate.

New documentation site

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: 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.

We're hiring!

The Screeps team is looking for a talented JavaScript developer to work on the game code base. We have a huge number of development plans, and if you want to be a part of their implementation, we’re waiting for your resume by one of the following links: 

If you play Screeps, make sure to specify your in-game nickname! 

You can find the requirements in the job posting below.

Read More

Discussion: Power Creeps

Power creeps is perhaps the most significant revamp of the Screeps gameplay since its launch. When in December 2015 we introduced the new game resource called “power” and announced the future system of its usage, we knew how drastically power creeps and powers would affect the game balance. This is why we didn’t rush to implement them, but we wanted to thoroughly understand and evaluate the whole picture. (Numerous other routine issues and the major business goal of the project – launch on Steam – didn’t speed up things as well.)

Now we are ready to present to you the game design document on how the power creeps system will look like. We are yet to polish and implement it in the game, so the estimate PTR launch schedule is March or April. For now, we want to discuss it with you and hear your comments. How do you think this important update will affect the game?

Feel free to post your comments and suggestions below or in this forum created especially for power creeps discussion.

Read More

Steam Workshop is available!

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!

Screeps private server released!

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 install the server 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.

Steam Market integration

We have enabled Subscription Tokens integration with the Steam Community Market. Now you can not only buy tokens using Steam Wallet, but also sell them there. 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.

Standalone server development update

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

When our second Indiegogo campaign was launched, the plan was roughly this: make a market system as a major feature, and then delve completely into the development of the standalone server and a Steam client for it. That’s why we set August as an approximate milestone date. However, after the campaign’s end and some consideration we realized that the Steam launch proper and the standalone server release are two vastly different things that should be better done one at a time rather than simultaneously. A higher traffic from Steam may require some adjustments in the scalability of the game servers, so we’d be having hard time watching this process and at the same time taking care of the open-source project that would appear along with it. We decided to first launch the Steam client to attract users to the main official world, debug it, and then move to the standalone server without any hassles.

Our experience has shown it was a right decision. When Steam gave us hundreds and hundreds of new players, it revealed a number of issues in our server architecture that prevented capacity scaling for running your scripts, and we put a lot of time and efforts to debug and optimize those bottlenecks. You might remember how the tick duration soared from 2.5 to 5 seconds, then fell back, then grew again, and then stabilized at 2.7-3 seconds. We are content with the current rate, but achieving it required a lot of work within the past two months.

Due to this reason, unfortunately, the standalone server won’t be launched within the coming weeks. We are sorry to realize that we missed some deadline, but please be assured this was not due to our laziness, but we decided to rearrange the work, and the history proved it was a right decision.

And there is another reason for delaying too. After the Indiegogo campaign was over, we spent some time on designing the concept of a standalone server, and we realized we couldn’t just take the current server code, open-source it, and rest on our laurels. For the project to gain traction as standalone as we see it, the following design concepts need to be implemented:

  • 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.

Implementing some of these things requires the overhauling of the current server code of Screeps since they were not accounted for 2 years ago when the game was first designed. But we are convinced that short of these, the standalone server won’t be the type of product we really want to share with you.

In terms of deadlines, we don't want to be overly optimistic at this point making promises we won’t be able to meet. Let’s keep October in mind. If we get a working version earlier, we’ll definitely show it. As was promised, our Indiegogo campaign backers will be the first to get their hands on it, while the public availability will begin a month later.

2016 Roadmap

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. 

(Implemented features are colored in gray.)

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: 


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. 


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. 


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!