spawn
playmake
Ctrl+K
sign in
make a game
PlayMake
spawn / aboutwhat we're building

pinned

start herewhat spawn isfaqfrequently asked questionsguidebring a game you already madethe betthe spawn bet

updates

engine v6.0One Place1mo agoengine v5.2Lume3mo agoengine v5.1Connection3mo agoengine v5.0For Real4mo agoengine v4.6Atelier4mo agoengine v4.5Surface Tension4mo agoengine v4.4Solid5mo agoengine v4.3Groovy5mo agoengine v4.2Continuum5mo agoengine v4.1Foundations5mo agoengine v0.1Genesis5mo ago

pinned

start herewhat spawn isfaqfrequently asked questionsguidebring a game you already madethe betthe spawn bet

updates

engine v6.0One Place1mo agoengine v5.2Lume3mo agoengine v5.1Connection3mo agoengine v5.0For Real4mo agoengine v4.6Atelier4mo agoengine v4.5Surface Tension4mo agoengine v4.4Solid5mo agoengine v4.3Groovy5mo agoengine v4.2Continuum5mo agoengine v4.1Foundations5mo agoengine v0.1Genesis5mo ago
← All posts
← All posts

Engine v5.2.40

September 3, 2026

A patch in the Lume line.

Walls in top-down games block along their whole height and the collision shapes you drew survive a save, a world with terrain off no longer shows a mountain skyline it does not have, the parts a player's body builds at spawn show for everyone who joins, fences attached to a raised building sit on the ground, a sky change your script makes reaches every player, tearing down a whole floor no longer freezes physics, big generated worlds load their places many times faster, and one bad packet from another player no longer drops the good ones with it.

what's new

  • Walls and other flat sprites in top-down games block the player along their whole height again.
  • Collision shapes you drew for a sprite stay in place when a script or Savi updates that object's physics — a foot-high wall no longer turns into a full-height one after a save.
  • When the game's own default cloud texture has not loaded yet, Savi's look at your game now says exactly that, instead of telling you a texture failed to generate and sending her to search your game for something you never made.
  • Savi's picture only says "those are your editing handles" when the handles are actually in the shot — select something, fly off to look at another part of your world, and she reads that view as the game it is.
  • When you ask Savi to look while you have something selected in god mode, her picture now tells her that the editing handles in it are the editor's, not part of your game — so she stops hunting for "floating diamonds" that are not there.
  • Props keep their real collision shapes across edits and updates instead of reloading them all.
  • For creature models made from now on, Savi's look says when the model has no skeleton by design, instead of waiting for animations that were never coming.
  • No change to how any game sounds: the reverb plumbing this removes was muted and unreachable from scripts.
  • Clearing out almost everything solid in a level at once — tearing down a whole floor before building the next one — no longer freezes physics for a moment and drops the ground checks that follow it.
  • Games that create a fresh arena or level for each match no longer slow down over time: when a match's place ends, everything in it is cleaned out of the room's memory, so joining later stays fast instead of loading every arena that ever existed.
  • Savi's scene report no longer counts decals behind the camera as covering the screen.
  • An effect asking for more particles than the CPU fallback runs now says so in the log.
  • Big worlds with generated terrain load their places many times faster — the ground is measured once per load, not once per object.
  • Savi can read a model's bones and shape on the server, not only in a browser.
  • Savi's builder body no longer shows up in your tags: ['player'] queries when your player template lists the player tag itself — the game-side filters that skipped her by id are no longer needed.
  • Deleting or undoing something you painted with the scatter brush now removes everything it placed for good, even if players came and went in between — the pieces no longer come back when you reload.
  • Game UI built from your ui.js no longer keeps ghost copies of an element around: when your rendered HTML stops containing a node, it is gone from the screen on that render, even if the same id appears elsewhere in your UI.
  • When something is in your world but not on screen, Savi's look and her object check now say so — "in the world, not in the draw" — and when a texture is there but the texture budget left the object flat, they say that instead of reading it as fine.
  • Shared objects and new spawns now keep script changes when players reconnect.
  • Joining a game whose starting place is not called "main" no longer builds the "main" place first and throws it away — players land in the starting place directly, without the extra load time.
  • Pressing a keyboard or headset Play/Pause key no longer silences your game's music while the game keeps running. Game audio ignores the key the same way on every track.
  • onPlaceStart runs again when Savi's builder is the first to enter a brand-new room — saved terrain and state your game restores there come back.
  • In a busy multiplayer room, walking into another area, leaving, or coming back from a hidden tab now takes effect on your own screen the same way it does for everyone else — before, your own game could keep treating you as still in the old area or still away, so the area you stood in could freeze on your screen.
  • Fences and paths attached to a raised building now sit on the ground instead of floating at the building's height.
  • When Savi reads your game's state from your browser, she can now see the last few times the tab was in the background — so what changed in the room while you were on another tab reads as "you were away", not as a problem with the game.
  • The parts a player's body script builds at spawn now show for everyone who joins. Before, each player could see their own rig, weapons, or pets, but everyone else saw a bare player.
  • After a connection hiccup, the dead connection's leftover traffic no longer trips a burst of extra reconnect errors on the way back — it is dropped cleanly and the reconnect picks up where it left off.
  • Savi's raycasts can filter by tag again when she runs code in your world from the chat — asking for "only hit the walls" or "skip the players" now works the same there as it does inside your game's scripts.
  • Saving a helper file no longer wipes the things a builder script spawned with fixed names. A script that clears its own pieces and rebuilds them under the same ids keeps every rebuilt piece after the save.
  • After a connection hiccup, a world with many moving creatures no longer grows heavier in the background each time it reconnects — rejoins and late arrivals load the same world, not a swelling copy of it.
  • A sky or lighting change your game's script makes with patchAtmosphere now reaches every player, late joiners included. The day/night cycle's hour agrees across players after such a change.
  • One bad packet from another player no longer drops the good ones with it: when something in a player's update is malformed, only that piece is set aside — everything else in the same update still arrives, and other players' characters and the game's creatures keep moving.
  • When your connection drops for a moment and comes back, other players see you again — before, they could be left looking at an empty spot where you stood until they reloaded.
  • Empty per-party areas that a game creates on the fly (the "session" kind) now close about ten minutes after the last player leaves, even when the player who opened them has left the game — they used to stay open until the room restarted, and a player who came back within those ten minutes still lands in the same area.
  • Music, ambient loops and sky settings set while the host was briefly away no longer snap back to the older setting when the host returns.
  • A world with terrain switched off no longer shows a mountain skyline it does not have.
  • When a script removes and re-adds a terrain mark in quick succession (a builder re-carving a cellar), other players no longer get a flash of un-dug ground under their feet.
  • Drawn textures that were cheap to describe but heavy to paint no longer sneak past the 50 ms bake budget or load the GPU; a texture that is too heavy to paint now parks with the same "over the bake budget" note as a slow draw loop, and everything else bakes as before.
  • When the renderer trips over its own drawing setup, Savi's report says so instead of blaming the graphics card.
  • When you join a friend's game, one badly-named object in their world no longer hides everything else from you — including their character. And if one of your objects has a name too long for the network to carry, your game now tells you which one, so other players can see it once you shorten it.
  • A reconnect after a dropped acknowledgement no longer trips over the old connection's leftover data and reconnects a second time — the loop that could keep a player in a busy room reconnecting every minute is closed.
  • Deleting a fence or path removes all of it for every player and after every reload — its posts and rails no longer stay behind on other players' screens.
  • After a room restart, a player who reloads while Savi's builder is in the room no longer leaves spells and other moving objects frozen in place on other players' screens.
  • Particle effects that use curl noise cost about half what they did per frame, and no longer make the game's memory grow while they play.
  • Savi's answers about SpawnJam judging, rules and deadlines now point you to the jam page instead of guessing.
  • Joining a world that holds thousands of tiny objects no longer loses a whole batch of them on the way in.
  • Worlds whose custom geometry keeps regenerating — living terrain, animated cloth, meshes rebuilt by a script — no longer fill the browser's memory over a long session until the game freezes or the tab dies; the old versions of each mesh are released as the new one arrives.
  • A texture added after your world is already full of textures no longer comes out the wrong size or cut off when its repeat is not a whole number.
  • When Savi works in an area of your game that nobody is standing in, her scripts there now run right away — before, if you were already in the game when her builder joined, every script she aimed at an empty area could fail with "wait for the room" for as long as the session lasted.
  • When your game's on-screen UI fails to load, Savi now sees which file never answered and whether it was the network or the page — and a UI that grows past half a million characters per frame gets one plain warning instead of silently loading fifteen times.