What a world processor is
The same language, the same blocks — but it can change the map itself, and it cannot be built in an ordinary game
Everything in the course so far works in an ordinary game: place a processor, write a program, it spins. A world processor is a different animal. It is part of the map, not of what is built on it.
Two programs, identical line for line. The world processor puts a router on tile 8 7 — and it
appears. The ordinary one does the same on tile 8 2 — and nothing happens. No error, no
message.
Privilege: what only it can do
Section titled “Privilege: what only it can do”Twenty-five instructions in the game are marked privileged, and an ordinary processor does not run them. They are:
| What it can do | With what |
|---|---|
| change the map | setblock, getblock |
| create units and bullets | spawn, bullet |
| change the game’s rules | setrule, spawnwave |
| talk to the player | message, cutscene, localeprint |
| draw markers on the map | makemarker, setmarker |
| keep shared data | setflag, getflag, sync, fetch |
| touch anything at all | setprop, status, explosion, effect |
An ordinary processor will assemble such a line — the editor accepts it and there is no error — and then simply skip it when running.
Where it comes from
Section titled “Where it comes from”There is no world processor in the build menu, and it cannot be bought. It is placed by the map editor: open a map in the editor, take it from the block list and put it down.
Hence its place in the game:
- the campaign and scenarios. Objectives, dialogue, scheduled waves, mission scripts — all of that is world processors on a map;
- your own maps and modes. Rules that cannot be set in the settings: your own economy, your own victory conditions;
- a server. There the map is made by the server’s owner, and they are the one who puts world processors on it.
What else is different about it
Section titled “What else is different about it”Speed. Its usual rate is eight — like a logic processor — but
setrate raises it to 1000 instructions per tick. No
ordinary processor can do that: their ceiling is their own rate.
Range. An ordinary processor’s links are limited: a micro reaches ten tiles, a hyper forty-two. A world processor has no limit — it links to any block on the map, wherever it stands.
Invisibility to neighbours. An ordinary processor can read a neighbour’s variables — but not a world processor’s. That one is closed: nothing can be read from it and nothing written to it. Otherwise a player’s program could reach into the map’s script and rewrite it.
Unofficial fan project, not affiliated with Anuke. Mindustry sprites, fonts and translations © Anuke, used under GPL-3.0; Fira Code under OFL-1.1. Site code is GPL-3.0.