one dataset · paper, tables, graph, wiki
simgrammar the grammar of simulation

parts

12 mechanics, as Screeps does them

core · 6

control & automation

Execution budget

Each tick has a CPU limit (20 without CPU Unlock), unused CPU banks in a bucket of up to 10,000, a tick may burst to 500, and scripts are terminated at the limit, so pathfinding and caching strategies are shaped by CPU cost.

space & construction

Modular assembly

Code spawns creeps from up to 50 body parts of eight types; part counts set harvest, carry, attack, and heal rates, MOVE parts offset fatigue of 1, 2, or 10 per part on road, plain, or swamp, and each part has 100 hits.

multiplayer & persistence

Persistent shared world

Official shards run continuously with ticks every 2 to 5 seconds, so colonies harvest, build, and fight while their owners are offline; rooms link through exits and shards through portals.

control & automation

Player programming

Players write JavaScript (or C, C++, Rust, Go, C#, and others via WebAssembly) whose main loop runs every tick under a per-tick CPU limit with a 10,000-unit bucket; globals reset between ticks and actions resolve together at tick end.

resources & production

Resource extraction

WORK parts harvest energy from sources that refill every 300 ticks, and extractors at RCL 6 mine minerals for labs and the market.

progression & goals

Tech tree

Energy spent on a room controller raises its level from 1 to 8 at cumulative costs up to 10.9 million, unlocking spawns, extensions, towers, storage, links, labs, terminal, factory, observer, and nuker; unfed controllers downgrade and become neutral.

supporting · 6

agents & behavior

Agent pathfinding

Movement costs are 1 on roads, 2 on plains, and 10 on swamps, and route searches consume the player's CPU, so caching paths is a core optimization.

population & lineage

Lifecycle and aging

Every creep dies after 1,500 ticks, so code must schedule replacements before roles go unfilled.

multiplayer & persistence

Modding API

The open-source private server supports mods and community servers that change rules and tick rates.

economy & finance

Player-driven markets

Terminals post public buy and sell orders priced in credits with a 5% order fee; the party executing a deal pays an energy cost that grows with distance, and NPC terminals sit at highway crossroads.

conflict & defense

Raid defense

Towers, ramparts, and walls defend rooms against other players and NPC invaders, and a newly placed first spawn grants safe mode.

risk & failure

Wear and breakdown

Roads and other structures lose hits over time and must be repaired by creeps.

core loop

write and commit JavaScript -> each tick the script reads room state and issues orders -> creeps harvest energy for spawns, extensions, and the controller -> controller levels unlock structures -> claim and defend rooms against other players' code -> profile and rewrite code within the CPU limit

design notes

Screeps removes direct control entirely: the only input to the persistent world is the player's main module, which the server runs once per tick against a fixed snapshot, queuing commands that resolve together at tick end, so the colony keeps acting while the player is offline. Computation is the scarce resource: each tick has a CPU limit (20 without CPU Unlock, otherwise rising with Global Control Level to 300), with unused CPU banked in a 10,000-unit bucket that allows bursts of up to 500. Creeps are designed in code as bodies of up to 50 parts (WORK, CARRY, MOVE, ATTACK, RANGED_ATTACK, HEAL, CLAIM, TOUGH) that set cost, ability, and fatigue, and they die after 1,500 ticks, so a colony is a replacement pipeline. Room Controller Levels 1 to 8 unlock structures and decay if not fed energy, and every player's AI meets the others in shared 50x50 rooms, so strategy is emergent competition between programs. The server is open source and runnable privately.

appears in

the paper, 2 sections · 4 chapters
paper

5. The structure of the design space

linked in this section of the paper

paper
paper

Appendix A. Game catalog

linked in this section of the paper

paper
catalog

The catalog

listed with its year, developer, subgenre, and number of mechanics

book
ch 2

Chapter 2. Six layers

linked from the text

book
ch 4

Chapter 4. Families

linked from the text

book
ch 6

Chapter 6. Five ceilings

linked from the text

book
ch 9

Chapter 9. Vacant lots

linked from the text

book

claims

1 with sources
c01medium

In late 2014 Screeps was publicly playable in its browser Simulation mode during its Indiegogo campaign, and a December 2015 post dates the initial launch a year earlier; the persistent MMO opened to backers in May 2015, and the Steam full release followed on 2016-11-16. `year` records the 2014 public launch.

src-screeps-2014-indiegogo-updates, src-screeps-2015-game-situation-review, src-screeps-2016-private-server-released, src-steam-2026-screeps-world

sources

10
(2026). Screeps: World. Steam
(2026). Introduction. Screeps documentation
(2026). Creeps. Screeps documentation
(2026). Control. Screeps documentation
(2026). Market. Screeps documentation
(2026). How does CPU limit work. Screeps documentation
(2026). Understanding game loop, time and ticks. Screeps documentation
Screeps team (2015-12-11). Game situation review: December 11, 2015. Screeps blog
Screeps team (2016-11). Screeps private server released!. Screeps blog

provenance

runs in log/runs
2026-10-24
created2026-10-24-catalog-ghcatalog