Releases / v0.118.2
v0.118.2 Full Speed
2026-11-10 Latest
A big step for frame rates. Forests, fog, shadows and upscaling cost a fraction of what they did, so a dense planet at High settings fits in 60 frames a second on a mid-range card. Terrain gets real materials: every texture slot can carry its own Material, normal, ORM and height maps, and borders between materials that can be soft, sharp, pixel-stepped or decided by height. Plus glass, wheels that grip, scroll views and much more.
Faster frames
- Leaves, grass and other cut-out cards are drawn once per pixel. Cards hidden behind other cards cost nothing to shade, even on a planet. A forest that took 18 ms of GPU time now takes about 14.
- Volumetric fog can be built in a grid at a fraction of the cost of marching it per pixel, with the same look. Choose it under Project Settings ▸ Volumetric fog.
- FSR 1 upscaling. Render the 3D scene below full resolution and bring it
back up sharp, in well under half a millisecond at 1440p. Choose it under
Project Settings ▸ Upscale, with
app.setRenderScalefor the scale. - Shadows cost what they show. The sun's shadow map draws only what lies
inside it. A scattered field can cast no shadow, or none past a distance,
with
castShadowandshadowDistanceonscatter.create. - Lamps out of reach cost nothing per pixel, and ambient occlusion switched off costs nothing at all.
- A single star lights the world for what the sun costs.
- See where the time goes. The GPU profiler times every post effect and
offscreen view on its own line, and
perf.counts()reports triangles, shadow-map draws and terrain meshes still to come. - Settings a game can offer its players:
app.setTextureQuality,app.setAntialias(FXAA),terrain.setDetailfor terrain view distance, and a camera's ownnearandfarplanes.
Terrain materials
- Each terrain slot can carry a Material of its own: roughness,
metalness, glow, tint, or unlit. Scripts read and set it with
terrain.slotMaterialandterrain.setSlotMaterial. - Slots take normal, ORM and height maps, and pixel-art slots keep them crisp.
- Borders between materials have a width in metres and a style: soft, sharp, wobbled, pixel-stepped, or decided by the height maps so stones stand out of sand. Borders run cleanly where three materials meet.
- Textures stay steady into the distance, can hide their repeat from far off, and can be larger.
- Terrain shows its own colours from the very first frame, instead of white while its pictures load.
- Digs can be round. Project Settings ▸ Terrain shape draws dug and
sculpted ground smooth (Natural) or in crisp voxel facets (Faceted), and
terrain.setShapechanges it while a game runs. - Paint and digs take a brush, soft or hard, for crisp seams and road
edges:
terrain.paintTexturetakes a soft brush too. - Ravine walls are painted and solid. No more untextured patches on steep walls or holes along their rims, and raycasts stop at the walls.
- Terrain gives back the GPU memory of ground you have left behind.
Glass, light and effects
- Glass reads its own shape. A thin pane shows what is behind it straight through; a ball is a lens.
- Lit particles take a spotlight's cone and choose how strongly they
answer lamps. Particles can draw into a render target, and
particles.setMaxsets one budget across every effect. - Effects fired from moving things slow down and swirl the right way.
- Reflections, motion blur and contact shadows hold steady: reflections that miss turn to fine grain rather than a woven pattern, motion blur leaves what rides with the camera sharp, and contact shadows stay still while the camera barely moves.
- Tiled materials can hide their repeat.
- Render-target and stacked cameras can skip shadows, sky, terrain and fog, and lay themselves over after depth of field.
Vehicles and physics
- Wheels grip and turn the way they should: suspension in real units with bump stops, the same grip forwards and backwards, held to the ground over crests at speed, and a project setting for wheel friction.
- Surfaces can be slippery with
node:setSurfaceFriction. node.contactForcetells how hard the ground pushes back, andassembly.impactssays what each part of a craft hit.- A fast craft pays only for what it can reach, in open air and near colliders alike.
- Queries can skip a node's whole subtree with
ignoreChildren, and an ignore list skips static colliders too.
Scripting and UI
- Scroll views fade the edges that hide content and can scroll to a row
with
view:scrollTo. ui.wantsPointersays when the pointer is over UI, so a click on a button does not also fire the game's.- Screen drawing stacks in the order a script makes it.
- What scripts hold:
perf.scriptMemoryandperf.resourcesname the script behind each mesh and texture, and a script's mesh or texture can live as long as its node or scene. - Scatter keeps the nearest props when over budget, fades props in and
out, and answers big
scatter.nearqueries flat or a page at a time. - Compute buffers can be atomic, with a new tutorial: a pond the GPU simulates.
- Files can be written off the frame, so switching save slots never waits.
- A game's Quit closes it, and its resolution setting takes effect.
Upgrading
Projects from before keep their look: they stay on marched fog, a plain upscale and faceted digs until you choose otherwise in Project Settings. New projects start with grid fog, FSR 1 and Natural digs. Planets in an upgraded project are generated exactly as before; a new project generates with the improved ravine walls.
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.