Releases / v0.117.0-rc20

v0.117.0-rc20 Whole Worlds

2026-10-26

Everything in rc19, plus worlds that arrive without stalling the frame, planets a built game can generate, shaders that build beside play, and fixes to scatter queries and JSON numbers.

Worlds that arrive smoothly

  • When a saved planet is loaded because a body comes near it, its shadow volume and terrain palette are made in the background, and its file is decoded on several threads. The frame it arrives on costs about half what it did.
  • A generated planet landing meshes the ground around the player in the background, makes its first collision near the player before it lands, and replaces only its own collider instead of rebuilding the whole physics world. Its landing frame went from several hundred milliseconds to tens.
  • At most a few full-detail chunks are meshed on any one frame during play; the rest follow a few frames later on the workers.
  • Model shadow shapes are baked in the background, and the old shape keeps casting until the new one is ready.
  • A camera alone coming up to a world that is not loaded yet streams it in instead of stalling.
  • A built game can now generate planets. terrain.generatePlanet worked in the editor but its world never arrived in an exported game.

Shaders beside play

  • assets.warm builds two shaders at a time.
  • During play, a frame that needs a shader still being warmed carries on without it, and that shader is built next. A UI shader is built the same way the first time it is drawn. Until it is ready the element or surface draws its plain look, for a few frames, instead of stopping the game to build it.

Naming the time

  • A scene change is broken into steps in perf.parts: sceneSave, sceneParse, sceneTeardown, sceneSpawn, sceneTerrain, sceneMaps, sceneModels, scenePhysics, sceneAudio, sceneSession and sceneScripts.
  • Reading a terrain file is terrainLoad, and its palette terrainPalette.

Fixes

  • scatter.near finds props wherever they settled. A prop lands on the real ground, which can lie tens of metres off its patch's surface, and a query there found nothing. Digging near such props now clears them too.
  • json.decode reads a number written at full precision back as exactly the same number. About one in six came back a hair off.

Upgrading

Nothing to do.

Floptle Hub

Linux x86_64 10.7 MB Download → sha256 10fe8423266e31688496c1780fd8ecca91bacd5332184b7a1671da55ed0c3604
macOS Apple Silicon 7.5 MB Download → sha256 5ca1f6840575ff007e132f32b66c0620a2528323a1d463d6881fc5335d07f99a
macOS Intel 8.0 MB Download → sha256 386f5a1f26870572dea09b17f2a3e4d31d9ff316c2f9e8b893ffe832b368c17f
Windows x86_64 9.2 MB Download → sha256 46fc22c7773da9064d72b8809c1f596a02bd7429cb079ad698562f877718a54b

Engine

Linux x86_64 58.5 MB Download → sha256 42295ce0e0856783c3e5e87f8c4a3bad7da956fa0cf0b709a4550adacbf4d9ae
macOS Apple Silicon 46.0 MB Download → sha256 d7c5cbc209528f66a06de1b2505572f645fca3b9fa9e9cee77a06d285e15b289
macOS Intel 49.5 MB Download → sha256 cf60fca45e6456aca9dcbf89b2799ee112647beb3528dbdd5d7b27884becedf6
web 5.6 MB Download → sha256 20d52eb3027a1c081b0ac5ec3a56fda3d8d709a6581449703e9f18ebab9ecda8
Windows x86_64 55.9 MB Download → sha256 3dbae661fb4acdda8658fa8e1133a1d1280df359e4146445a7ac3c810010f998

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.