Screeps Wiki

Just starting out? Check out these tips for newcomers. This will introduce you to the basics of slack, reference links, and community driven code that can enhance your screeps experience.

Slack Basics[]

The official slack for the game,, is the central hub of the Screeps community. As of now, there are 80 public channels, and countless private channels.

Channels, where to find help, and where to find information[]

Help can generally be found in #help, but you may need to go to a more specific room to get the help you need, like #typescript#python(yes, you can transpile from Python into JavaScript) or #screeps-cljs(Clojure) for language-specific issues, or #operatingsystems#behaviortrees or #statemachines for various styles of code bases.

Out of the channels available, #general is the common area where players can talk about Screeps related topics. Share a current battle, how you implemented something or just comment on what's going on in the world.

If you have a particularly nifty piece of code you'd like to share, post it in #share-thy-code, or just swing by to see what others have posted. Most pieces of code are pinned, so you may have to click the pin icon to see them.

#announcements will assist in your keeping track of important things in the world. Whenever there is an expansion, it is customary for someone to notify others about it, referencing the sector name (e.g. E55N75). tweets from @ScreepsGame are also acceptable to share if no one has shared that particular tweet already. Please do not hold conversations about any posts in this room, but reactions are welcome.

#thewarpath has a community driven slack-bot that lets you know about any military action around the world. It can provide you entertainment, or inspiration for your own offensive or defensive code writing.

#random can provide you with an outlet for off-topic things. Other games, odd YouTube videos, funny pictures are common things to see or post in there.

Posting code[]

When you want to share a piece of code, be it for asking for help, sharing with others, or referring to a specific variable or function name, there are three ways of doing it.

First, there is the inline option. Place a single back tick before and after the text you want to share. (picture needed)

The second option is a multi-line option. Place three back ticks before and after the text you want to share. This is typically used to show console output or a few lines of code (picture needed)

Create a snippet.png

The third way, which is best for longer pieces of code, is the snippet. Click on the plus sign to the left of where you type, and select snippet. In the popup it gives you, ensure you use the language drop down on top to select the appropriate language so it highlights properly.

Important reference links[]

Below are a few reference links that will serve you well, whether you're a beginner or an experienced veteran of the game.

Official Screeps API documentation[]

The API Reference is the official documentation of the game's API. You will find an inheritance tree on the main page, as well as all of the available constants starting around halfway down the page. Individual classes are defined on the pages listed on the right. A slack-bot response will give you the link to it if you type !docs in one of your messages.

If you are looking for how to do something, try to ask yourself, "If I made the game, where would I put this feature?" For instance, since pathfinding requires locations to function, the first place I would look for pathfinding API calls would be the `RoomPosition` page. There, you would find the `findPathTo` function, which also links to `Room.findPath`, which will also link you to the `PathFinder` object.