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.