Releases / v0.112.0
v0.112.0 Moves With You
2026-10-02 Engine Latest
A game on a planet that orbits now plays as if the ground held still: smoke stays over its spot, marks stay on the rock, and nothing jitters against the world it stands on. Caves read as rock, a craft no longer gets flung by its own pilot, phones scroll and steer properly, and smoke can be lit.
Effects ride the world they are on
On a planet moving on rails, particles used to stay where they were in space while the ground moved on, a metre and a half every tick, and they jittered against it because they moved on a different clock.
spawnEffect(key, pos, opts)takes a table:normal(the effect's up, so a ring lies on the ground and a cone fires off it),up,scale,intensity,tint,velandframe. The oldspawnEffect(key, x, y, z [, vx, vy, vz])still works.- An effect rides its
frame, a planet or a ship: where it emits from, and every particle it has already made, move and turn with it. With no frame it rides the planet whose sphere of influence it is in. - A point your script works out in
updatelands where you meant on the planet, even though the planet moves before the effect is spawned. - A node's own effect rides the planet it hangs under.
- Gravity on a Local-space track falls toward the ground, even on a node tipped sideways on a round world.
- Upright and flat billboards stand on the local ground, not world up.
decals.add{ …, frame = node }: a mark rides what it was laid on. Without a frame it rides the planet it is on, so a scorch stays under its rock.
Smoke that takes the light
- Lit billboards. Tick lit on a billboard track and each puff takes the sun (or the brightest star) and the ambient light, rounded like a ball. Over a planet's night side it gets only the ambient, so smoke darkens at dusk instead of glowing.
- Random between two curves for size and colour: every puff in a track grows, but not alike. It is the 🎲 on a curve in the Inspector.
node:particles():setTint(r, g, b [, a])andspawnEffect'stintcolour an effect, so one dust effect matches each world's ground.- Blend frames: a flipbook can crossfade each frame into the next instead of stepping.
- Distortion (heat haze): a blend mode that bends the scene behind a particle by its texture, with a strength.
- Particles are their own line in
perf.gpu().
Caves that read as rock
Generated caves are rounded tunnels and rooms with smooth junctions and a metre of texture on their walls, instead of flat slanted sheets meeting in dead-straight creases. Levelling ground for a building over a cave no longer fills the cave and leaves a flat wall in it. A narrow passage that runs into distant terrain is closed off there, rather than showing a window into the rock.
Physics you can trust with a crew aboard
- A craft no longer leaps or flips from its own contacts. A body pressed into an assembly (a seated pilot, a crate in a hold) could move it metres or turn it over in a single step.
physics.ignorePair(a, b [, seconds])lets two bodies or assemblies pass through each other, for good or for a while: a passenger inside the ship, or debris kept clear of the hull it broke from.- Switching a node off stops its body.
node.enabled = falsetakes a moving body or an assembly out of the simulation, as the docs always said, and switching it on carries on from where it stopped. floptle shot --afterplays the same gamefloptle rundoes.
Phones
- A finger is never also the mouse. Pushing an on-screen stick no longer turns a mouse-look camera, and a look drag no longer turns it twice as fast.
- A finger scrolls a list, from anywhere in it: a label, a button or a slider. Drag along the list and it scrolls, and the button you started on does not click. A tap still clicks, and a slider in the list still slides sideways.
Smoother play
- Digging is cheaper. In play, the ground a dig changes is rebuilt in the background, with the old ground shown until the new is ready, and collision rebuilds only what the dig reached. A mining laser biting eight times a second no longer costs most of a frame on every bite.
- A slow frame always says where its time went.
perf.ms("other")is the time no other bucket measured, andperf.hitches()keeps every frame of 50 ms or more, even one the buckets cannot explain. - A star too faint to see costs nothing. In stars mode, a star giving less than a hundredth of the brightest one's light is left out of the lighting, so a room lit by one star no longer pays for four.
- A planet a script creates is listed in
space.bodies()before your nextupdate.
Upgrading
- Worlds generated from a seed get the new caves. A save that remembers a spot inside a generated cave may find rock there.
spawnEffect's velocity is now relative to the planet it rides. If you added the planet's own velocity to keep puffs with it, stop: they ride it now.- If a script switched off a node to freeze its body and relied on it still moving, that body now stops.
- Upright and flat billboards on a round world now stand on its ground.
- Nothing else to do.
Floptle Hub
Engine
The binaries are not signed yet. On macOS, right-click the app and pick Open the first time. On Windows, if SmartScreen appears, pick More info then Run anyway.