Skip to content
← All news

devlog

Automation you build out of blocks

Around 160 blocks, a pure interpreter, and a worked example that flies to orbit — programming a rocket without writing a line of code.

By Royendgel Silberie

Flying a gravity turn by hand is a skill. Flying the same gravity turn forty times while you test a change to a fin is a chore. So craft can now carry automation you assemble the same way you assemble the rocket: out of blocks.

What it looks like

There are about 160 blocks — read a value, compare it, wait for a condition, set throttle, pitch, stage, log something. They snap together into a program that runs on the vehicle. A sample program called “Go to space” ships with the game and does exactly what it says: full throttle, pitch over on a schedule, stage when a tank runs dry, circularise at apoapsis.

Why an interpreter and not a script language

The interpreter is pure — same inputs, same outputs, no reaching into the world and no side effects hiding in the middle of an evaluation. That is what makes an program testable without spawning a vehicle, and it is what will make it safe to share one with somebody else later.

Three things that cost real time, recorded here so they cost somebody else less:

  • Programs save as flat TOML rather than a nested tree. A tree round-trips badly and diffs worse.
  • A percentage block is a multiplier, not a number out of a hundred. Getting that backwards throttles at 8000%.
  • Planning and flying race each other if the plan is allowed to run while the vehicle is still being built. It is not, now.

Get told when a build ships

New parts, new bodies, and the occasional note about what broke and why. A handful of emails a year, and one click to stop them.