Skip to content

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.

tick 0
Set Block0
layerblockxyteamrotation
Get Block1
layerresultxy
Set2
=
Stop3
@counter0number
placednullnull
speednullnull

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.

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.

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.
tick 0
Set0
=
Set Rate1
ipt =
Set2
=
Stop3
@counter0number
plainnullnull
boostednullnull

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.