Releases / v0.116.0-rc4

v0.116.0-rc4 Lands On Its Feet

2026-10-12 Engine

Everything in rc3, plus a template where people talk to you, 2D lights that shade relief and shine from one direction, sprites that stretch without stretching their borders, and box-shaped queries for 2D bodies.

Pixel Village: a dialogue box you own

A new template, Pixel Village (floptle new my-game --template village2d, or pick it on the Hub's New project screen). Walk up to someone and press E. Their words type out in a pixel font, inside a box with their portrait, and a question gives you choices to pick with the arrows, the d-pad or E.

None of it is engine: it is scripts/talk.lua, under two hundred lines, and a conversation file per character in data/. Change the words, add a character, or rewrite how it all works. The pixel font is a bitmap font made from the engine's own pixel typeface.

Normal maps on 2D art

Give a sprite's or a tile layer's Material a normal map and 2D lights shade its relief. The side of a bump facing a lamp brightens and the side facing away darkens. A sprite that flips or turns is still lit from the right side. A surface without a normal map lights exactly as before.

Suns and spot lamps in 2D

  • Tick sun on a 2D light and it lights everything it reaches from one direction: the way the node's down arrow points. Rotate the node to turn it. Walls throw long shadows away from it. From a script: node:setLighting2D{ sun = true }.
  • A lamp with aim it (spot) ticked now shines a cone in 2D too, aimed the same way.

9-slice sprites

Give a sprite's Material a 9-slice border (Inspector ▸ Material ▸ 9-slice, in texture pixels). Then scaling the node stretches the sprite while its corners keep their pixel size and its edges stretch along their length only. One small picture makes a platform, a sign or a window of any size. From a script: node:setMaterial{ slice = 8 }.

Box queries for 2D bodies

  • boxcast(origin, dir, halfX, halfY, max) sweeps a box in the 2D plane and returns the first thing it meets. It catches a step lower than the box's middle, which a ray from the centre would pass over, and a box sliding along the floor doesn't hit the floor.
  • overlapBox(center, halfX, halfY) lists everything a box overlaps, deepest first.

Particles keep their layer

A particle system on a node with a sorting layer now draws its particles at that layer. Dust kicked up behind the player stays behind the player.

WOFF fonts

.woff fonts work anywhere a font goes. A .woff2 isn't read yet. Use one and the Console tells you how to convert it.

Upgrading

Nothing to do, unless a 2D light already had aim it (spot) ticked. It used to shine all round in a 2D scene whatever that said, and now it shines its cone. Untick it if you want it to shine all round.

Floptle Hub

Linux x86_64 10.7 MB Download → sha256 9ae08084669892058bb39cab5930f1e68e50eaca93c25dc4bcb05c93e1015b92
macOS Apple Silicon 7.4 MB Download → sha256 56a2abc0cbc23ad4ba3fff15ca9cfe854fd31411eb2ce75fc6d017f8dba129ed
macOS Intel 7.9 MB Download → sha256 56059a532cc6a3e22df8b8c803a893b330d9ecb6931b78864eb95a6bd3775b5c
Windows x86_64 9.1 MB Download → sha256 d55ab8af3bea41bd409f887b9bba94e36bf34075cd7afc572eb3a7e9a8d001d1

Engine

Linux x86_64 54.1 MB Download → sha256 259430c35b28c42f17ab290d887532d9a49e2e99f911d170933c5eb7c89b2de5
macOS Apple Silicon 42.0 MB Download → sha256 1032d07f2861a9c3a780e505a951ed16bafbab6dc1cd3c49a0ec9b37059f5efa
macOS Intel 45.2 MB Download → sha256 ae2deaa4211cc7ed361d1c95a30aaaa7c84b8542449bd9b5b9bc118ac30512c7
web 4.9 MB Download → sha256 be0f2b258e42c3f203eb7145a02f4984df7503b43bc3470e60d669ec0243c27d
Windows x86_64 51.0 MB Download → sha256 8483ddbb6229e3af5ac0893f3a733e7eedb2a18d8de08cbbe458e07f0e9ebb2d

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.