Releases / v0.116.1
v0.116.1 Clear Skies
2026-10-14 Engine Latest
A world with air now has a real daytime sky, with no sky shader to write: the air's colour overhead, a brighter horizon and a glow around the sun, thinning into space as you climb. Fog can follow a round planet, post shaders can tell which way each pixel looks, and the tile brush shows a preview of the tile before you click.
A daytime sky inside an atmosphere
- Stand on a world with an atmosphere and the sky is the air's colour. It is deepest overhead, whiter and brighter toward the horizon, with a glow around the sun. It used to be a faint tint over space, so games painted a daytime sky with fog or wrote their own sky shader.
- It fades into space as you climb. The sky thins with your height over the planet and is gone at the top of the atmosphere, with no jump on the way. The horizon stays bright after the sky overhead has gone dark, and stars come out through the sky as it thins.
- An atmosphere shows before there is any ground. With a plain-colour Skybox and no terrain yet, a world's air used to be invisible.
- The atmosphere is still set on the body:
atmoColor,atmoHeightandatmoDensityinnode:setCelestial{...}or the Inspector.
Fog on a round world
In the Lighting node's Inspector, tick follows the planet under fog
(fogFollowsBody in Lua), and fog is measured from the nearest planet instead
of the world's up:
fogHeightis a height above that planet's ground, so volumetric fog lies around the planet instead of cutting across its sky in a slab.- The fog in the sky follows that planet's horizon wherever you stand on it.
It is off by default, and flat levels are unchanged.
Scripts can fade the sky
fogSkyon the Lighting node's Light is readable and writable. It is how much of the fog the sky takes at the horizon. The sky is infinitely far away, so thinner fog alone never makes it fainter; fade this instead.node:getcomponent("Skybox")gives the sky's plain colour (colorR,colorG,colorB) and the tint over a sky image (tintR,tintG,tintB), so a day can end without a shader.
Post shaders can place a pixel in the world
Two new ops for stage post shaders:
sceneRay()is the world direction the camera looks through at a pixel.cameraPosition()is where the camera is.
cameraPosition() + sceneRay() * sceneDepth() is the point a pixel shows,
which is what a sky pass, height fog or a grid on the ground needs.
A bone you move reads back where you put it
anim:boneWorld, node:bonePos and node:boneRot now include bone writes
made earlier in the same update or lateUpdate. Call setBonePos, then
read the bone, and you get where you sent it. You used to get the pose from
before the write until the next frame.
Pictures show what is on screen
camera.capture, floptle shot and render targets now draw scatter fields:
plants, rocks and anything else a scatter source puts on the ground. Pictures
used to show bare ground, so things resting among them could look buried.
See the tile before you place it
The ◫ Tiles brush now shows the tile itself under the pointer, faint, exactly where a click will put it, turned and mirrored the way it will land. It works on square, isometric and hexagonal maps, with multi-tile stamps, and with the rectangle, outline, line and fill tools.
The order scripts run in
The scripting reference now says it: every node's update runs before any
node's lateUpdate. Between nodes, the order is the order they were loaded,
and removing a node can change it. So when one script must run after another,
use lateUpdate or call it from the first script, and don't rely on where
the nodes sit in the scene.
Upgrading
- If your game draws its own daytime sky with a sky shader or fog over the
background, inside a world that has an atmosphere, it now draws the engine's
sky too. Turn yours off, or lower the body's
atmoDensity, to keep one sky. - Everything else needs nothing.
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.