Releases / v0.110.0
v0.110.0 Travels Light
2026-10-01 Engine + Hub Latest
A big web game fits on a phone. Its page holds a fraction of the memory it did, so a game an iPhone closed while it loaded now gets to play. A web game that stops tells the player why, and the next visit says it stopped. And a player signed in on a web build stays signed in long enough to publish what they made.
Web games need far less memory
A phone closes a page that holds too much, with no message, and usually reloads it. A game stuck at "loading the world", reloading over and over, is what that looks like. In our test, a 384 MB game's menu needed 2.2 GB in its page and now needs about 0.95 GB.
- The game's files are held once. The page kept up to three copies of the game's download while it started. It keeps one now, and the engine reads each file from it when it is needed.
- Models load a few at a time. A scene's models, or everything a menu preloads, used to go to the graphics card in a single frame, and the browser kept memory that size for the rest of the session. They now load over several frames, and the loading screen stays up until the last one is in.
- A picture goes to the graphics card once. Models that carry the same picture now share it. One enemy whose eleven ragdoll parts each carried the same large texture used eleven times the memory it needed.
- One file is one model, however its path is written. A model named two ways was loaded twice.
- The page's log says how much memory the engine holds at each step of loading, and how much the models put on the graphics card once they are in.
When a web game stops
- A lost graphics device says so. When the browser takes the graphics device away, the page now says so and asks the player to reload, rather than leaving a black screen.
- The next visit says the game stopped. The page keeps its last 200 log
lines, warnings and errors as the game runs. If the browser closes the
page without warning, the next visit says the game stopped unexpectedly
and can show what it said last. A site hosting the game can read the same
record from
window.floptleLastCrash()and send it with the player's agreement.
Signed in on the web
A web build's sign-in lasts fifteen minutes and was only renewed when the page loaded. Anything a player sent after that, such as publishing a level they had spent twenty minutes building, failed with "a browser build signs in by redirect". The sign-in now renews itself before the request that needs it. A player is signed out only when fopull.com refuses the renewal, not when the network has a bad moment.
Upgrading
Export your web build again and upload it. Nothing in your project changes.
For a large game on phones, the biggest savings left are yours: a 4096×4096
texture takes 64 MB once loaded, whatever its file size, and a menu that
preloads every level holds all of them at once. See Memory in a page in
docs/web-export.md.
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.